Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
01 фев 2023, 19:57

Универсальный обмен XML + регистрация изменений БП 1.6 на 8.2 и ЕП 2

Автор Leo_Lito, 23 янв 2023, 10:36

0 Пользователей и 1 гость просматривают эту тему.

Leo_Lito

Всем здравствуйте, я начинающий программист 1С. Нужно реализовать односторонний обмен данными с синхронизацией между БП 8.2 и ЕП 2 на 8.3  (ЕП->БП).  Создал правила конвертации через Конвертацию данных 2.1, создал регламентное задание, вызывающее созданный мной общий модуль, в котором используется Универсальный обмен данными XML (УОД). В модуле инициализировал УОД, указал правила конвертации, файл выгрузки данных, но не разобрался с регистрацией изменений. Планы обмена создал, узлы тоже, авторегистрацию поставил. В стандартной форме можно подключить узел обмена через таблицу, но что за процедура или функция за это отвечает и как ее вызывать, я так и не понял. Помогите разобраться, пожалуйста. Спасибо!

NaumovAlexey

чтобы план обмена был виден в стандартной форме, нужно где-то в общем модуле прописать свой план обмена.

Я из написанного не понял на каком этапе проблема.

вообще по вызовам можно посмотреть как работает план счетов не на EnterpriseData (КД 3.0) работает.
там и правила обмена  местами используются

Leo_Lito

NaumovAlexey, Я создал регламентное задание и общий модуль, в котором создал процедуру:

Процедура ВыгрузкаИзЕрп() Экспорт
    // Вставить содержимое обработчика.
    Обработка = Обработки.УниверсальныйОбменДаннымиXML.Создать();
    Обработка.РежимОбмена = "Выгрузка";   
    Обработка.ДатаНачала     = НачалоДня(ДобавитьМесяц(ТекущаяДата(),-1));
    Обработка.ДатаОкончания   = КонецМесяца(ТекущаяДата());
    Обработка.ИмяФайлаОбмена  = "D:\xxx\ЕРП--БУХ.xml";
    Обработка.ИмяФайлаПравилОбмена  = "D:\xxx\ЕРП-БУХ.xml";
    Обработка.ЗагрузитьПравилаОбмена();
    Обработка.ВыполнитьВыгрузку();
КонецПроцедуры

Правила обмена были созданы  в КД 2.1.  Из этого все исправно работает, я выгружаю спрвочник Контрагенты, но справочник он выгружает полностью, так как я нигде не использую регистрацию изменений. В форме обработки Универсальный обмен данными XML есть возможность указать ссылку на узел, таким образом оно подтягивает и регистрацию изменений, но как именно это сделать? Этого я не знаю. Пытался проследить, что и как оно вызывает в этой обработке, но не получилось. Вот такая проблема. Естественно альтернативное решение тоже рассматривается, но я не понял Ваш последний абзац.

NaumovAlexey

скопипасть стандартный узел, который с КД 2 правилами работает и используй стандартный механизм.
А так в ПВД отрабатывай выборку изменений узла и отправляй.
Сам, значит все сам.

Leo_Lito

NaumovAlexey, Я пытался разобраться с ПВД, но мало что понял. Как мне понять, какие функции позволяют выбрать нужный мне узел обмена и будут выполнять регистрацию изменений для метаданных? Может у Вас есть возможность привести пример с использованием кода?

NaumovAlexey

у таблицы правил в обработке выгрузки есть поле ПравилоВыгрузки.СсылкаНаУзелОбмена. Если оно заполнено ссылкой на узел, то будет инициирована выборка изменений узла, см функцию модуля обработки Функция ОбработатьВыгрузкуДляПлановОбмена.


а вообще смотри, например, в БП место ОбменДаннымиКлиент.ВыполнитьОбменДаннымиОбработкаКоманды(
как туда и что попадает для обмена по узлу обмена

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск