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

Конвертация данных 2.0. Настройка ПВД для узла обмена

Конвертация данных 2.0. Настройка ПВД для узла обмена
Я
   poisk87
 
23.03.19 - 21:22
Доброго времени суток, уважаемые! Давно знаю и иногда посещаю этот форум и вот настал час спросить Вашей помощи.. Очень на Вас надеюсь.

Есть обмен данными из УТ11 в самописную ИБ.
Есть несложные правила обмена в КД 2.0, они нормально выгружают через универсальный обмен данными в формате XML (2.1.8) (УОД). В ПВД есть выгрузка документа по произвольному алгоритму, сам документ отсутствует в УТ11, он нужен лишь как документ-регистратор регистров накопления в самописной базе. Регистры отбираются по алгоритму и собираются в документ.
Есть задача наладить регулярный обмен между базами. Регистры сведений, справочники и документы (стандартной выборкой) нормально проходят, Беда в выгрузке документа с произвольным алгоритмом.
Если в УОД проставить этому документу узел обмена, то он выпадает в ошибку.
Отладчиком ошибка выпадает здесь:
   МетаданныеПВД = Метаданные.НайтиПоТипу(СтрокаПравилаВыгрузки.ОбъектВыборки);

СтрокаПравилаВыгрузки.ОбъектВыборки - значение = пусто, Тип = Неопределено

Лог ошибки:
Ошибка при выгрузке данных для узла плана обмена
    ОписаниеОшибки         =  Ошибка при вызове метода контекста (НайтиПоТипу): Несоответствие типов (параметр номер '1')

В ПВД объект выборки - пусто, ведь стоит произвольный алгоритм.
В состав плана обмена документ тоже не включить, так как отсутствует в базе источнике.
В описании отладки обработчиков есть такой - Отказ, и на некоторых форумах пишут, что его в истину надо ставить. Пробовал ставить Перед обработкой и Перед выгрузкой, но ошибка не меняется, просьба помочь советом или делом.

Надеюсь на Вашу помощь.
 
 
   Cyberhawk
 
1 - 23.03.19 - 21:27
На худой конец есть глобальные обработчики конвертации, некоторые из которых срабатывают однократно - туда выгрузку и забубень
   poisk87
 
2 - 23.03.19 - 21:31
(1) Спасибо за быстрый ответ и совет. Пока про них ничего не знаю. Хотелось бы обойтись как-то малой кровью, думается что проблема не глобальная и кто-то уже решал такие вещи.
   Cyberhawk
 
3 - 23.03.19 - 21:31
Ты говоришь как в видео про 7 красных линий: "Задача поставлена и надо ее решать" ))
   poisk87
 
4 - 23.03.19 - 21:38
(3) Вообще не знал о таком.. "Давайте не будем тратить время на не продуктивные решения. Задача поставлена. Задача четкая и ясная." ))
   unbred
 
6 - 24.03.19 - 15:02
снять с обмена не предлагать?
   hhhh
 
7 - 24.03.19 - 15:18
(4) может документ забыл включить в план обмена?
   poisk87
 
8 - 24.03.19 - 15:19
(6) Да, не предлагать. Пробовал как предложил (1) через глобальные - через Перед получением измененных, а в ПВД перед обработкой Отказ = Истина, ошибка такая же.
Проблема похожая с Конвертация, как сделать выгрузку по произвольному алгоритму

(7) в том и дело что документ в план обмена не включить и объект выгрузки пустой, сам документ отсутствует в базе Источнике.
   poisk87
 
9 - 24.03.19 - 15:24
ошибка происходит Функции ВыполнитьВыгрузкуИзмененныхДанныхДляУзлаОбмена(УзелОбмена, МассивПравилКонвертации, СтруктураДляУдаленияРегистрацииИзменений)

в цикле 
Для Каждого СтрокаПравилаВыгрузки Из ВременныйМассивПравилКонвертации Цикл
            
        МетаданныеПВД = Метаданные.НайтиПоТипу(СтрокаПравилаВыгрузки.ОбъектВыборки);
        МассивВыгружаемыхМетаданных.Добавить(МетаданныеПВД);
        
КонецЦикла;
   МимохожийОднако
 
10 - 24.03.19 - 15:46
Добавь для отладки 
ТипЗнч(СтрокаПравилаВыгрузки.ОбъектВыборки);
Может быть, подсказка будет
Тупой вариант через Попытку - Исключение в этом же месте с выводом ОписаниеОшибки()
 
 Рекламное место пустует
   poisk87
 
11 - 24.03.19 - 15:59
(10) Через точку останова СтрокаПравилаВыгрузки.ОбъектВыборки - Тип =  Неопределено
так ведь да, Объект Выборки же пуст в источнике.
   МимохожийОднако
 
12 - 24.03.19 - 16:29
Если ОбъектВыборки пуст, то не обрабатывать и в отказ
   Cyberhawk
 
13 - 25.03.19 - 11:48
Ну так выгружать-то надо не в лоб, а в файл дописывать немного вручную. В обмене БСП фильтрация значит не позволяет выгружать через ПВД то, что не входит в состав плана обмена, в т.ч. и произвольный алгоритм.
   poisk87
 
14 - 25.03.19 - 20:41
(13) Обмен не БСП, а через планы обмена без БСП, но суть не в этом. Хотелось бы ещё мнение людей, кто сталкивался с этим и как обходил. И не факт совсем что "ЗНАЧИТ не позволяет..". Мне б где про это почитать, или посмотреть, что так нельзя или так можно. Ведь это нормальная ситуация, когда Произвольным алгоритмом данные отбираются и выгружаются. Не думаю, что совсем нельзя..
   Garykom
 
15 - 25.03.19 - 20:46
В твоей ситуации от КД смысла не вижу, поднять в УТ одату и написать свой обмен в самописке через http
   Cyberhawk
 
16 - 26.03.19 - 09:37
Ну раз выгрузка не через обработку из конфигурации, а через старый добрый УОД, то не делай "Если в УОД проставить этому документу узел обмена"

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