Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Конвертация данных. Выгрузка по произвольному алгоритму

v7: Конвертация данных. Выгрузка по произвольному алгоритму
Я
   alpack
 
11.06.20 - 07:29
Добрый день!
Конфигурация Источник Тис9.2
Конфигурация Приемник Самописная конфигурация

Настраиваю выгрузку справочника Контрагенты.
1. Создал ПКО для справочника Контрагенты. Источник не указывал
   Реквизиты:
               Код
               ВидКонтрагента
               Наименование
               ПолнНаименование
               ИНН(Поиск)
               ЭтоГруппа(Поиск)
2. Создал ПВД.
   Способ выборки: Произвольный алгоритм
   Правило(Созданое ПКО Контрагенты)
3. Обработчик перед выгрузкой ПВД:

ВыборкаДанных = СоздатьОбъект("ТаблицаЗначений");
ВыборкаДанных.НоваяКолонка("Код");
ВыборкаДанных.НоваяКолонка("ВидКонтрагента");
ВыборкаДанных.НоваяКолонка("Наименование");
ВыборкаДанных.НоваяКолонка("ПолнНаименование");
ВыборкаДанных.НоваяКолонка("ИНН");  
    
Контрагент = СоздатьОбъект("Справочник.Контрагенты");
Контрагент.ВыбратьЭлементы();
Пока Контрагент.ПолучитьЭлемент() = 1 Цикл
    Если Контрагент.ЭтоГруппа() = 1 Тогда
        Продолжить;
    КонецЕсли;
    ВыборкаДанных.НоваяСтрока();
    ВыборкаДанных.Код = Контрагент.Код;
    ВыборкаДанных.ВидКонтрагента = "Прочая организация";
    ВыборкаДанных.Наименование = Контрагент.Наименование;
    Если Контрагент.ЮрФизЛицо.Вид()="ЮрЛица" тогда  
         ВыборкаДанных.ИНН = Лев(СокрЛП(Контрагент.ЮрФизЛицо.ИНН),22);
         ВыборкаДанных.ПолнНаименование = СокрЛП(Контрагент.ЮрФизЛицо.ПолнНаименование);
    ИначеЕсли  Контрагент.ЮрФизЛицо.Вид()="ФизЛица" тогда
         ВыборкаДанных.ИНН = Лев(СокрЛП(Контрагент.ЮрФизЛицо.ИНН),11);
         ВыборкаДанных.ПолнНаименование = СокрЛП(Контрагент.ЮрФизЛицо.ПолнНаименование);
   КонецЕсли;
КонецЦикла;
  

Проблема: выгружается 1 объект. Первый. И все

Проверил код внешней обработкой, ТЗ заполняется.
Сделал Тестирование и исправление. Не помогло
   SleepyHead
 
1 - 11.06.20 - 09:14
(0) Вангую, у тебя есть только один контрагент в корне справочника, а все остальные внутри групп.
   tgu82
 
2 - 11.06.20 - 09:34
(1) Но у (0) группы же обходятся по условию. А в самописной конфе я иак понял что ему не нужны группы
   alpack
 
3 - 11.06.20 - 11:22
Проблема решена!
Решение:
Если для выборки данных ПВД используется произвольный алгоритм и в обработчике ПВД "Перед обработкой" инициируется параметр ВыборкаДанных, то для ПКО следует установить признак "Не запоминать выгруженные объекты".

Список тем форума
Рекламное место пустует  Рекламное место пустует
Ошибка? Это не ошибка, это системная функция.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.