|
Конвертация данных 2.0. Настройка ПВД для узла обмена | ☑ | ||
---|---|---|---|---|
0
poisk87
23.03.19
✎
21:22
|
Доброго времени суток, уважаемые! Давно знаю и иногда посещаю этот форум и вот настал час спросить Вашей помощи.. Очень на Вас надеюсь.
Есть обмен данными из УТ11 в самописную ИБ. Есть несложные правила обмена в КД 2.0, они нормально выгружают через универсальный обмен данными в формате XML (2.1.8) (УОД). В ПВД есть выгрузка документа по произвольному алгоритму, сам документ отсутствует в УТ11, он нужен лишь как документ-регистратор регистров накопления в самописной базе. Регистры отбираются по алгоритму и собираются в документ. Есть задача наладить регулярный обмен между базами. Регистры сведений, справочники и документы (стандартной выборкой) нормально проходят, Беда в выгрузке документа с произвольным алгоритмом. Если в УОД проставить этому документу узел обмена, то он выпадает в ошибку. Отладчиком ошибка выпадает здесь: МетаданныеПВД = Метаданные.НайтиПоТипу(СтрокаПравилаВыгрузки.ОбъектВыборки); СтрокаПравилаВыгрузки.ОбъектВыборки - значение = пусто, Тип = Неопределено Лог ошибки: Ошибка при выгрузке данных для узла плана обмена ОписаниеОшибки = Ошибка при вызове метода контекста (НайтиПоТипу): Несоответствие типов (параметр номер '1') В ПВД объект выборки - пусто, ведь стоит произвольный алгоритм. В состав плана обмена документ тоже не включить, так как отсутствует в базе источнике. В описании отладки обработчиков есть такой - Отказ, и на некоторых форумах пишут, что его в истину надо ставить. Пробовал ставить Перед обработкой и Перед выгрузкой, но ошибка не меняется, просьба помочь советом или делом. Надеюсь на Вашу помощь. |
|||
1
Cyberhawk
23.03.19
✎
21:27
|
На худой конец есть глобальные обработчики конвертации, некоторые из которых срабатывают однократно - туда выгрузку и забубень
|
|||
2
poisk87
23.03.19
✎
21:31
|
(1) Спасибо за быстрый ответ и совет. Пока про них ничего не знаю. Хотелось бы обойтись как-то малой кровью, думается что проблема не глобальная и кто-то уже решал такие вещи.
|
|||
3
Cyberhawk
23.03.19
✎
21:31
|
Ты говоришь как в видео про 7 красных линий: "Задача поставлена и надо ее решать" ))
|
|||
4
poisk87
23.03.19
✎
21:38
|
(3) Вообще не знал о таком.. "Давайте не будем тратить время на не продуктивные решения. Задача поставлена. Задача четкая и ясная." ))
|
|||
6
unbred
24.03.19
✎
15:02
|
снять с обмена не предлагать?
|
|||
7
hhhh
24.03.19
✎
15:18
|
(4) может документ забыл включить в план обмена?
|
|||
8
poisk87
24.03.19
✎
15:19
|
(6) Да, не предлагать. Пробовал как предложил (1) через глобальные - через Перед получением измененных, а в ПВД перед обработкой Отказ = Истина, ошибка такая же.
Проблема похожая с Конвертация, как сделать выгрузку по произвольному алгоритму (7) в том и дело что документ в план обмена не включить и объект выгрузки пустой, сам документ отсутствует в базе Источнике. |
|||
9
poisk87
24.03.19
✎
15:24
|
ошибка происходит Функции ВыполнитьВыгрузкуИзмененныхДанныхДляУзлаОбмена(УзелОбмена, МассивПравилКонвертации, СтруктураДляУдаленияРегистрацииИзменений)
в цикле Для Каждого СтрокаПравилаВыгрузки Из ВременныйМассивПравилКонвертации Цикл МетаданныеПВД = Метаданные.НайтиПоТипу(СтрокаПравилаВыгрузки.ОбъектВыборки); МассивВыгружаемыхМетаданных.Добавить(МетаданныеПВД); КонецЦикла; |
|||
10
Мимохожий Однако
24.03.19
✎
15:46
|
Добавь для отладки
ТипЗнч(СтрокаПравилаВыгрузки.ОбъектВыборки); Может быть, подсказка будет Тупой вариант через Попытку - Исключение в этом же месте с выводом ОписаниеОшибки() |
|||
11
poisk87
24.03.19
✎
15:59
|
(10) Через точку останова СтрокаПравилаВыгрузки.ОбъектВыборки - Тип = Неопределено
так ведь да, Объект Выборки же пуст в источнике. |
|||
12
Мимохожий Однако
24.03.19
✎
16:29
|
Если ОбъектВыборки пуст, то не обрабатывать и в отказ
|
|||
13
Cyberhawk
25.03.19
✎
11:48
|
Ну так выгружать-то надо не в лоб, а в файл дописывать немного вручную. В обмене БСП фильтрация значит не позволяет выгружать через ПВД то, что не входит в состав плана обмена, в т.ч. и произвольный алгоритм.
|
|||
14
poisk87
25.03.19
✎
20:41
|
(13) Обмен не БСП, а через планы обмена без БСП, но суть не в этом. Хотелось бы ещё мнение людей, кто сталкивался с этим и как обходил. И не факт совсем что "ЗНАЧИТ не позволяет..". Мне б где про это почитать, или посмотреть, что так нельзя или так можно. Ведь это нормальная ситуация, когда Произвольным алгоритмом данные отбираются и выгружаются. Не думаю, что совсем нельзя..
|
|||
15
Garykom
гуру
25.03.19
✎
20:46
|
В твоей ситуации от КД смысла не вижу, поднять в УТ одату и написать свой обмен в самописке через http
|
|||
16
Cyberhawk
26.03.19
✎
09:37
|
Ну раз выгрузка не через обработку из конфигурации, а через старый добрый УОД, то не делай "Если в УОД проставить этому документу узел обмена"
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |