Вход | Регистрация
 
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
Проблема решена!
Решение:
Если для выборки данных ПВД используется произвольный алгоритм и в обработчике ПВД "Перед обработкой" инициируется параметр ВыборкаДанных, то для ПКО следует установить признак "Не запоминать выгруженные объекты".

Список тем форума
Рекламное место пустует  Рекламное место пустует
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс, 1996 г.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.