Пример реализации универсального обмена в 1С

Категория: Учебники по 1С » Технологии интеграции 1С Предприятия 8.2

Свойство Главный не может быть установлено у предопределенного узла, соответствующего текущей информационной базе. Реквизит Склад узла ЦентрОфис содержит пустую ссылку.

 

Следует отметить, что в реальной жизни для каждого узла (через реквизиты, табличные части плана обмена) можно указывать используемые способы доставки сообщений (электронная почта, ftp, MSMQ и т.п.). 

Состав плана обмена представлен на рисунке:

 Пример реализации универсального обмена в 1С

Обратите внимание, что некоторые объекты (Документ.РасходнаяНакладная, РегистрНакопления.УчетНоменклатуры) входят в состав плана обмена, и при этом авторегистрация для них запрещена (при изменении соответствующих объектов список узлов получателей свойства ОбменДанными автоматически не заполняется). Это сделано, чтобы продемонстрировать ручное управление регистрацией изменений.

 

При решении задачи обмена следует принять во внимание следующие моменты:

  • При обмене каждая накладная должна уйти в свой узел (реквизит Склад узла плана обмена должен совпасть со складом, выбранном в документе).
  • Пользователям разрешается менять склад в документе. Если документ уже ушел в неправильный узел, он должен в нем удалиться и отправиться в правильный.

Если у документа РасходнаяНакладная с помощью свойства ОбменДанными будет включен режим Автозаполнение, то при программном создании этого документа необходимо самостоятельно зарегистрировать документ в нужных узлах. Для этого в модуле объекта РасходнаяНакладная разместим обработчик события ПередЗаписью:

 

В данном обработчике (в случае включения режима Автозаполнение) производится проверка соответствия выбранного склада в объекте и записанного в информационной базе. В случае расхождения документ регистрируется как для нового узла (в соответствии с измененным складом), так и для старого.

 

Процедура с аналогичным назначением определена в модуле набора записей регистра накопления УчетНоменклатуры:

Задача процедуры Включить Регистрацию() — определить всех возможных получателей регистрируемого изменения. В этот список попадут те узлы, у которых в реквизите Склад содержится ссылка на интересующий нас склад либо пустая ссылка (что расширяет функциональность решения). И, естественно, этот получатель не должен быть предопределенным узлом данного плана обмена.
Для осуществления обмена по плану обмена УдаленныеСклады создана обработка ОбменСУдаленнымиСкладами. Она позволяет решать следующие задачи:
•полная регистрация изменений для выбранного узла;
•удаление регистрации изменений для выбранного узла;
•выполнение выгрузки данных в узел;
•выполнение загрузки данных из узла.
Рассмотрим реализацию данных механизмов.
dle

Помоги проекту! Расскажи друзьям о сайте: