Top.Mail.Ru

План обмена простыми словами

Егор Романов
Разработчик 1С

Цели статьи

Дать четкое понимание:

  1. Что такое план обмена, как он устроен и как его использовать в задачах обмена;

  2. Что такое узел обмена;

  3. Что такое механизм регистрации изменений и как он работает;

  4. Какие бывают стратегии удаления отправленных изменений;

  5. Какова структура сообщений обмена;

  6. Как работать с планом обмена программно.


Что такое план обмена

План обмена – это базовый, основополагающий объект метаданных при решении задач обмена. Для успешного решения задач обмена необходимо понимание, что такое план обмена, как он работает, как его правильно использовать и какие есть нюансы при работе с планом обмена. Рассмотрим все по порядку.

План обмена – это объект метаданных, который позволяет выгружать для обмена не все данные, а только те, которые были изменены с момента последнего обмена, а именно:

  1. Новые данные;

  2. Отредактированные данные;

  3. Удаленные данные.

Ключевые особенности плана обмена:

  1. Позволяет настроить список узлов обмена, то есть определить участников обмена;

  2. Позволяет настроить состав данных, которые будут участвовать в обмене;

  3. Позволяет реализовать механизм регистрации изменений;

  4. Позволяет реализовать механизм квитирования;

  5. Позволяет реализовать удаление данных при обмене.


Что такое узел обмена

Узел обмена – это по сути участник обмена данными. В качестве узла обмена может выступать информационная база 1С, другая информационная база (не 1С), стороннее приложение (например, мессенджер) или интернет-ресурс (сайт).

В плане обмена есть предопределенный узел – это текущая информационная база. Узлы обмена создаются в режиме «Предприятие».


Что такое состав данных плана обмена

Состав данных плана обмена – это те объекты метаданных, которые будут участвовать в обмене. Состав данных задается в конфигураторе:


Механизм регистрации изменений

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

1) «Узел» — ссылка на элемент плана обмена;

2) «Номер сообщения» — номер сообщения обмена;

3) «Ссылка» — ссылка на объект метаданных (например, справочник).

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


Что такое авторегистрация в плане обмена

Если у объекта метаданных, который добавлен в состав плана обмена, флаг «Авторегистрация» установлен как «Разрешить» — регистрация изменений будет происходить автоматически. То есть при изменении данных платформа сама будет фиксировать факт этих изменений в таблице регистрации изменений.

Если же у объекта метаданных в плане обмена флаг «Авторегистрация» установлен в «Запретить» разработчику необходимо программно определить, каким образом и когда будет происходить регистрация изменений.


Что такое сообщение обмена и какова его структура

Сообщение обмена – это документ (файл) в формате XML, содержащий служебную информацию и те изменения данных, которые произошли с момента последнего обмена.

Структура сообщения обмена:

1) Заголовок (Header) содержит:

«ExchangePlan» – имя плана обмена.

«To» – имя узла приемника.

«From» – имя узла отправителя.

«MessageNo» – номер текущего сообщения.

ReceivedNo – номер последнего полученного сообщения.

2) Данные (Body) содержит те данные, которые были изменены с момента последнего обмена.


Какие бывают стратегии удаления отправленных изменений

Существует две стратегии:

1) «Квитирование» – изменения в узле-отправителе удаляются только тогда, когда получено подтверждение («квитанция») от узла-получателя;

2) «Гарантированная доставка» – изменения в узле-отправителе удаляются сразу без ожидания получения подтверждения («квитанции») от узла-получателя.


Программная работа с планом обмена

Зарегистрировать изменения

Зарегистрировать для указанного узла все данные, которые участвуют в обмене:

Таблица регистрации изменений:

Зарегистрировать изменения всех данных одного типа для указанного узла:

Таблица регистрации изменений:

Зарегистрировать изменения указанных данных для указанного узла:

Таблица регистрации изменений:


Выбрать изменения

Таблица регистрации изменения:

Выбрать изменения по указанному узлу и номеру сообщения:

Важный момент: при использовании метода «ВыборкаДанных» в таблице регистрации изменений проставляется номер сообщения обмена данными. При использовании запроса для выборки изменений номер сообщения в таблице регистрации изменений не проставляется.


Удалить регистрацию изменений

Удалить регистрацию всех изменений для указанного узла:

Удалить регистрацию изменений для указанного узла для указанного объекта метаданных:


Выгрузить изменения в сообщение обмена

Таблица регистрации изменений:

Выгрузить все изменения по указанному узлу:

Сообщение обмена:


Исходные данные

Платформа 8.3.27.1719.


Разработка и новости из мира 1С

Подпишитесь на Телеграм-канал, чтобы быть в курсе

Эту статью хорошо дополняют
Доставка в 1С:ERP. Инструкция по работе с базовым функционалом
Склад в 1С: ERP — обзор возможностей (часть 3)
Реализация конфигурации с нуля. Портал для клиентов организации с синхронизацией с учетной системой
Частичная ликвидация основных средств в 1С
Модернизация основного средства в 1С
Основы бюджетирования и способы его автоматизации в 1С
Разукомплектация основного средства в 1С
Основные отличия 1С: Бухгалтерия 8 ПРОФ от КОРП
Чем различаются 1С: Документооборот ПРОФ и КОРП
Свяжитесь с нами