Универсальный обмен данными. Не регистрировать загруженные объекты в планах обмена
Всем привет! Настраиваю двусторонний обмен между УПП и ERP. УПП нетиповая, разработаны свои правила обмена УПП-ERP и ERP-УПП. Настроены планы обмена на авторегистрацию изменений на обоих базах.
Для автоматизации обмена использую программный вызов обработки Универсальный обмен данными в формате XML в режиме прямого подключения к БД-приемнику через COM + использование планов обмена.
Данные выгружаются/загружаются корректно, при выгрузке регистрация объектов в планах обмена снимается. Но при загрузке данных, загруженные объекты регистрируются в планах обмена, а этого делать не нужно, т.к. при следующей процедуре обмена система посчитает, что эти данные нужно выгрузить и передать обратно.
Подскажите пожалуйста, каким образом не регистрировать загружаемые объекты в планах обмена? Или каким образом снимать с них регистрацию? Может быть в обработке Универсальный обмен данными в формате XML есть какие-то настройки, которые я пропустил?
Прошу прощения за возможные неточности в описании, т.к. с подобными задачами сталкиваюсь впервые. Заранее спасибо за ответ!
Для автоматизации обмена использую программный вызов обработки Универсальный обмен данными в формате XML в режиме прямого подключения к БД-приемнику через COM + использование планов обмена.
Данные выгружаются/загружаются корректно, при выгрузке регистрация объектов в планах обмена снимается. Но при загрузке данных, загруженные объекты регистрируются в планах обмена, а этого делать не нужно, т.к. при следующей процедуре обмена система посчитает, что эти данные нужно выгрузить и передать обратно.
Подскажите пожалуйста, каким образом не регистрировать загружаемые объекты в планах обмена? Или каким образом снимать с них регистрацию? Может быть в обработке Универсальный обмен данными в формате XML есть какие-то настройки, которые я пропустил?
Прошу прощения за возможные неточности в описании, т.к. с подобными задачами сталкиваюсь впервые. Заранее спасибо за ответ!
По теме из базы знаний
- 2iS:Интеграция - Центр управления обменом данными. Сервисная шина предприятия (ESB).
- Обмен данными онлайн через Веб-сервис с использованием обработки "Универсальный обмен данными XML"
- Как сделать обмен данными через универсальный формат быстрее? Реализация многопоточного обмена данными
- Обзор полезных методов БСП 3.1.4
- Самые используемые методы БСП 3.1.9
Найденные решения
Я бы рекомендовал попробовать не сбрасывать признаки "АвтоЗаполнение" и "Загрузка", а напротив - заполнять "Отправителя":
Если я не ошибаюсь, такой прием отключит регистрацию полученных данных только на узле-отправителе, а не на всех прочих.
К сожалению, не нашел подходящей настройки в обработке универсального обмена. Стало быть реализовать заполнение отправителя придется где-нибудь в ПКО, в глобальном обработчике загрузки объектов.
Объект.ОбменДанными.Отправитель = УзелПланаОбменаСсылка;
К сожалению, не нашел подходящей настройки в обработке универсального обмена. Стало быть реализовать заполнение отправителя придется где-нибудь в ПКО, в глобальном обработчике загрузки объектов.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Я бы рекомендовал попробовать не сбрасывать признаки "АвтоЗаполнение" и "Загрузка", а напротив - заполнять "Отправителя":
Если я не ошибаюсь, такой прием отключит регистрацию полученных данных только на узле-отправителе, а не на всех прочих.
К сожалению, не нашел подходящей настройки в обработке универсального обмена. Стало быть реализовать заполнение отправителя придется где-нибудь в ПКО, в глобальном обработчике загрузки объектов.
Объект.ОбменДанными.Отправитель = УзелПланаОбменаСсылка;
К сожалению, не нашел подходящей настройки в обработке универсального обмена. Стало быть реализовать заполнение отправителя придется где-нибудь в ПКО, в глобальном обработчике загрузки объектов.
Такое ощущение, что КД отрабатывает раньше, чем устанавливается отправитель.
А при записи объекта в получающей базе
ЗаписываемыйОбъект.ОбменДанными.Получатели.АвтоЗаполнение = Ложь;
Спасибо всем за помощь! Проблема была в том, что на вкладке "После загрузки данных" была пост-обработка объектов, которая ещё кое-что дописывала, следовательно, объекты изменялись и снова регистрировались в плане обмена.
На вкладке "После загрузки объекта" и "После загрузки данных" добавил следующие строки:
Чтобы объект не регистрировался на узле-отправителе.
Как вариант, можно было ещё на вкладке "После загрузки данных" добавить код, который бы удалял изменения в нужных узлах:
На вкладке "После загрузки объекта" и "После загрузки данных" добавил следующие строки:
УзелОбменаУПП = ПланыОбмена.ОбменERPУПП.НайтиПоКоду("002");
Попытка
Объект.ОбменДанными.Отправитель = УзелОбменаУПП;
Исключение
КонецПопытки;
Чтобы объект не регистрировался на узле-отправителе.
Как вариант, можно было ещё на вкладке "После загрузки данных" добавить код, который бы удалял изменения в нужных узлах:
ПланыОбмена.УдалитьРегистрациюИзменений(Узел, Объект);
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот