План обмена простыми словами
Цели статьи
Дать четкое понимание:
-
Что такое план обмена, как он устроен и как его использовать в задачах обмена;
-
Что такое узел обмена;
-
Что такое механизм регистрации изменений и как он работает;
-
Какие бывают стратегии удаления отправленных изменений;
-
Какова структура сообщений обмена;
-
Как работать с планом обмена программно.
Что такое план обмена
План обмена – это базовый, основополагающий объект метаданных при решении задач обмена. Для успешного решения задач обмена необходимо понимание, что такое план обмена, как он работает, как его правильно использовать и какие есть нюансы при работе с планом обмена. Рассмотрим все по порядку.
План обмена – это объект метаданных, который позволяет выгружать для обмена не все данные, а только те, которые были изменены с момента последнего обмена, а именно:
-
Новые данные;
-
Отредактированные данные;
-
Удаленные данные.
Ключевые особенности плана обмена:
-
Позволяет настроить список узлов обмена, то есть определить участников обмена;
-
Позволяет настроить состав данных, которые будут участвовать в обмене;
-
Позволяет реализовать механизм регистрации изменений;
-
Позволяет реализовать механизм квитирования;
-
Позволяет реализовать удаление данных при обмене.
Что такое узел обмена
Узел обмена – это по сути участник обмена данными. В качестве узла обмена может выступать информационная база 1С, другая информационная база (не 1С), стороннее приложение (например, мессенджер) или интернет-ресурс (сайт).
В плане обмена есть предопределенный узел – это текущая информационная база. Узлы обмена создаются в режиме «Предприятие».
Что такое состав данных плана обмена
Состав данных плана обмена – это те объекты метаданных, которые будут участвовать в обмене. Состав данных задается в конфигураторе:
Механизм регистрации изменений
Включение объекта метаданных (например, справочника) в состав плана обмена означает, что для этого объекта метаданных будет создана специальная таблица регистрации изменений. В таблице регистрации изменений будет накапливаться информация о тех данных, которые были изменены. У таблицы регистрации изменений есть 3 реквизита:
1) «Узел» — ссылка на элемент плана обмена;
2) «Номер сообщения» — номер сообщения обмена;
3) «Ссылка» — ссылка на объект метаданных (например, справочник).
Важный момент: если объект метаданных не включен в план обмена, то у него нет таблицы регистрации изменений.
Что такое авторегистрация в плане обмена
Если у объекта метаданных, который добавлен в состав плана обмена, флаг «Авторегистрация» установлен как «Разрешить» — регистрация изменений будет происходить автоматически. То есть при изменении данных платформа сама будет фиксировать факт этих изменений в таблице регистрации изменений.
Если же у объекта метаданных в плане обмена флаг «Авторегистрация» установлен в «Запретить» разработчику необходимо программно определить, каким образом и когда будет происходить регистрация изменений.
Что такое сообщение обмена и какова его структура
Сообщение обмена – это документ (файл) в формате XML, содержащий служебную информацию и те изменения данных, которые произошли с момента последнего обмена.
Структура сообщения обмена:
1) Заголовок (Header) содержит:
«ExchangePlan» – имя плана обмена.
«To» – имя узла приемника.
«From» – имя узла отправителя.
«MessageNo» – номер текущего сообщения.
ReceivedNo – номер последнего полученного сообщения.
2) Данные (Body) содержит те данные, которые были изменены с момента последнего обмена.
Какие бывают стратегии удаления отправленных изменений
Существует две стратегии:
1) «Квитирование» – изменения в узле-отправителе удаляются только тогда, когда получено подтверждение («квитанция») от узла-получателя;
2) «Гарантированная доставка» – изменения в узле-отправителе удаляются сразу без ожидания получения подтверждения («квитанции») от узла-получателя.
Программная работа с планом обмена
Зарегистрировать изменения
Зарегистрировать для указанного узла все данные, которые участвуют в обмене:
Таблица регистрации изменений:
Зарегистрировать изменения всех данных одного типа для указанного узла:
Таблица регистрации изменений:
Зарегистрировать изменения указанных данных для указанного узла:
Таблица регистрации изменений:
Выбрать изменения
Таблица регистрации изменения:
Выбрать изменения по указанному узлу и номеру сообщения:
Важный момент: при использовании метода «ВыборкаДанных» в таблице регистрации изменений проставляется номер сообщения обмена данными. При использовании запроса для выборки изменений номер сообщения в таблице регистрации изменений не проставляется.
Удалить регистрацию изменений
Удалить регистрацию всех изменений для указанного узла:
Удалить регистрацию изменений для указанного узла для указанного объекта метаданных:
Выгрузить изменения в сообщение обмена
Таблица регистрации изменений:
Выгрузить все изменения по указанному узлу:
Сообщение обмена:
Исходные данные
Платформа 8.3.27.1719.
Подпишитесь на Телеграм-канал, чтобы быть в курсе