0
alpack
11.06.20
✎
07:29
|
Добрый день!
Конфигурация Источник Тис9.2
Конфигурация Приемник Самописная конфигурация
Настраиваю выгрузку справочника Контрагенты.
1. Создал ПКО для справочника Контрагенты. Источник не указывал
Реквизиты:
Код
ВидКонтрагента
Наименование
ПолнНаименование
ИНН(Поиск)
ЭтоГруппа(Поиск)
2. Создал ПВД.
Способ выборки: Произвольный алгоритм
Правило(Созданое ПКО Контрагенты)
3. Обработчик перед выгрузкой ПВД:
ВыборкаДанных = СоздатьОбъект("ТаблицаЗначений");
ВыборкаДанных.НоваяКолонка("Код");
ВыборкаДанных.НоваяКолонка("ВидКонтрагента");
ВыборкаДанных.НоваяКолонка("Наименование");
ВыборкаДанных.НоваяКолонка("ПолнНаименование");
ВыборкаДанных.НоваяКолонка("ИНН");
Контрагент = СоздатьОбъект("Справочник.Контрагенты");
Контрагент.ВыбратьЭлементы();
Пока Контрагент.ПолучитьЭлемент() = 1 Цикл
Если Контрагент.ЭтоГруппа() = 1 Тогда
Продолжить;
КонецЕсли;
ВыборкаДанных.НоваяСтрока();
ВыборкаДанных.Код = Контрагент.Код;
ВыборкаДанных.ВидКонтрагента = "Прочая организация";
ВыборкаДанных.Наименование = Контрагент.Наименование;
Если Контрагент.ЮрФизЛицо.Вид()="ЮрЛица" тогда
ВыборкаДанных.ИНН = Лев(СокрЛП(Контрагент.ЮрФизЛицо.ИНН),22);
ВыборкаДанных.ПолнНаименование = СокрЛП(Контрагент.ЮрФизЛицо.ПолнНаименование);
ИначеЕсли Контрагент.ЮрФизЛицо.Вид()="ФизЛица" тогда
ВыборкаДанных.ИНН = Лев(СокрЛП(Контрагент.ЮрФизЛицо.ИНН),11);
ВыборкаДанных.ПолнНаименование = СокрЛП(Контрагент.ЮрФизЛицо.ПолнНаименование);
КонецЕсли;
КонецЦикла;
Проблема: выгружается 1 объект. Первый. И все
Проверил код внешней обработкой, ТЗ заполняется.
Сделал Тестирование и исправление. Не помогло
|
|
3
alpack
11.06.20
✎
11:22
|
Проблема решена!
Решение:
Если для выборки данных ПВД используется произвольный алгоритм и в обработчике ПВД "Перед обработкой" инициируется параметр ВыборкаДанных, то для ПКО следует установить признак "Не запоминать выгруженные объекты".
|
|