Каталог решений - Конвертация данных. Перенос подчиненного справочника из 7.7 в табличную часть 8.x

Конвертация данных. Перенос подчиненного справочника из 7.7 в табличную часть 8.x

Конвертация данных. Перенос подчиненного справочника из 7.7 в табличную часть 8.x

В наличии

Речь в статье пойдет о том, как можно создать правила обмена в конфигурации "Конвертация данных" для переноса данных из подчиненного справочника (в 7.7) в табличную часть справочника (8.х).

Категория:

Описание

Речь в статье пойдет о том, как можно создать правила обмена в конфигурации «Конвертация данных» для переноса данных из подчиненного справочника (в 7.7) в табличную часть справочника (8.х).

Итак, в 7.7 есть справочник _ПотенцКонтрагенты, которому подчинен справочник _СпециализацииПотенц. У справочника _СпециализацииПотенц есть реквизит Специализация (тип спр. _Специализации).

В 8.х есть справочник _ПотенциальныеКлиенты с табличной частью Специализации. У этой табличной части один реквизит Специализация (тип спр. Специализации).

Нужно перенести данные из подчиненного справочника _СпециализацииПотенц в табличную часть справочника _ПотенциальныеКлиенты.

Первое, что нужно сделать — это сгенерировать правила конвертации объектов (ПКО) для справочников _ПотенциальныеКлиенты и _Специализации.
В правилах конвертации свойств(ПКС) для этих ПКО выставляем соответствия для реквизитов «код», «наименование» и «пометка удаления». Также отмечаем, что поиск объектов будет вестись по реквизиту «код».

Теперь переходим к описанию алгоритма получения данных из подчиненного справочника _СпециализацииПотенц и их загрузку в табличную часть справочника _ПотенциальныеКлиенты.
Для этого для справочника _ПотенцКонтрагенты вручную создаем правило конвертации группы свойст(ПКГС) «Специализации». Источник оставляем пустым. Ставим галку «Получать из входящих свойств». Это и будет табличная часть.

 

В обработчике «Перед обработкой» для этого ПКГС пишем алгорим выгрузки данных из подчиненного справочника:

СпециализацииКлиента = СоздатьОбъект(«Справочник._СпециализацииПотенц»);
СпециализацииКлиента.ИспользоватьВладельца(Источник);

ТЗСпециализации = СоздатьОбъект(«ТаблицаЗначений»);
ТЗСпециализации.НоваяКолонка(«Специализация»);// имена колонок должны совпадать с именами табличной части справочника, в который загружаем данные

// Источник — это элемент справочника _ПотенцКонтрагенты который выгружается из 7.7
Сообщить(«Выгружается клиент: «+Источник);
СпециализацииКлиента.ВыбратьЭлементы();
Пока СпециализацииКлиента.ПолучитьЭлемент() = 1 Цикл
ТЗСпециализации.НоваяСтрока();
ТЗСпециализации.Специализация = СпециализацииКлиента.Специализация;
Сообщить(«Специализация:»+СпециализацииКлиента.Специализация.Наименование);
КонецЦикла;

//Параметр КоллекцияОбъектов — предназначен для программного определения состава выгружаемой коллекции.
КоллекцияОбъектов = ТЗСпециализации;

Далее, в ПКГС «Специализации» нужно создать ПКС «Специализация»(оно соответствует реквизиту табличной части «Специализация»). Причем, источник нужно оставить пустым, а реквизите «Правило» выбрать правило «Специализации»(чтобы система понимала, по какому правилу конвертировать объекты из параметра КоллекцияОбъектов).

has been added to your cart:
Оформление заказа