Каталог решений - Конвертация данных. Выгрузка контактной информации из регистра сведений в табличную часть

Конвертация данных. Выгрузка контактной информации из регистра сведений в табличную часть

Конвертация данных. Выгрузка контактной информации из регистра сведений в табличную часть

В наличии

Довольно часто встречается задача выгрузить при помощи «Конвертация данных, редакция 2.1» контактной информации контрагента из «Управление торговлей», редакция 10.3» в «Бухгалтерия предприятия, редакция 3.0». Сложность заключается в том, что в УТ контактная информация хранится в регистре сведений, а в БП — в табличной части справочника «Контрагенты».
Предлагаю мое, достаточно простое, решение данной задачи.

Категория:

Описание

Довольно часто встречается задача выгрузить при помощи «Конвертация данных, редакция 2.1» контактной информации контрагента из «Управление торговлей", редакция 10.3» в «Бухгалтерия предприятия, редакция 3.0». Сложность заключается в том, что в УТ контактная информация хранится в регистре сведений, а в БП — в табличной части справочника «Контрагенты».

Предлагаю мое, достаточно простое, решение данной задачи.

 

1. В правило конвертации объектов (ПКО) «Контрагенты» добавляем конвертацию свойств (ПКС) табличной части «КонтактнаяИнформация», причем не указываем источник и ставим галку «получать из входящих данных». Добавляем все, необходимые реквизиты табличной части.

1

 

2. Открываем ПКО «Контрагенты» и добавляем ниже следующий код в обработчик «Перед выгрузкой».

2

 

//Выгружаем контактную информацию контрагента

ВходящиеДанные = Новый Структура("КонтактнаяИнформация");
ВходящиеДанные.КонтактнаяИнформация = Новый ТаблицаЗначений;
ВходящиеДанные.КонтактнаяИнформация.Колонки.Добавить("Представление");
ВходящиеДанные.КонтактнаяИнформация.Колонки.Добавить("Вид");
ВходящиеДанные.КонтактнаяИнформация.Колонки.Добавить("Тип");

Запрос = Новый Запрос;
Запрос.Текст =
    "ВЫБРАТЬ
    |    КонтактнаяИнформация.Представление,
    |    КонтактнаяИнформация.Вид,
    |    КонтактнаяИнформация.Тип
    |ИЗ
    |    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
    |ГДЕ
    |    КонтактнаяИнформация.Объект = &ТекущийКонтрагент";

Запрос.УстановитьПараметр("ТекущийКонтрагент", Источник);
Выборка = Запрос.Выполнить().Выбрать();

Пока Выборка.Следующий() Цикл
    НовСтрока = ВходящиеДанные.КонтактнаяИнформация.Добавить();
    ЗаполнитьЗначенияСвойств(НовСтрока, Выборка);
КонецЦикла;

Суть в том, что мы программно создаем табличную часть «Контактная информация» и подставляем ее для выгружаемого объекта в качестве входящих данных.

Следует обратить внимание, что инициализация параметра «ВходящиеДанные», и передача в него таблицы значений со всеми необходимыми колонками, обязательна для каждого объекта. В противном случае, будет возникать ошибка типа «Ошибка получения свойства подчиненного объекта из входящих данных».

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