Планы обмена представляют собой общие объекты конфигурации, используемые для организации обмена данными. Они содержат информацию о узлах, участвующих в обмене, определяют состав данных для обмена и указывают, следует ли использовать распределенную информационную базу при обмене.
Механизмы, реализуемые планом обмена:
- Механизм распределенных информационных баз.
Позволяет создавать распределенную информационную базу в рамках конкретного плана обмена. Распределенная информационная база представляет собой иерархическую структуру, состоящую из отдельных информационных баз 1С:Предприятия – узлов распределенной информационной базы, между которыми осуществляется обмен данными для синхронизации конфигурации и данных;
- Служба регистрации изменений;
Цель регистрации изменений заключается в том, чтобы составить список измененных элементов данных, которые необходимо передать в следующем сообщении конкретному узлу, с которым осуществляется обмен данными. При каждом изменении данных регистрируется, что есть изменения, которые нужно передать всем узлам, участвующим в обмене этими данными. После получения подтверждения о приеме сообщения, в котором были отправлены изменения, записи о регистрации изменений должны быть удалены.
- Инфраструктура сообщений.
С учетом плана обмена, между узлами осуществляется передача сообщений. Каждое сообщение включает в себя изменения данных, изменения конфигурации (в случае распределенной информационной базы) и определенную служебную информацию. Каждое сообщение тесно связано с планом обмена, имеет уникальный идентификатор, а также указывает на одного отправителя и одного получателя.
Создание плана обмена
План обмена можно создать двумя способами (рисунок 1): в режиме конфигуратор, нажать правой кнопкой мыши по плану обмена и создать или на кнопку с зеленым плюсом (команда «Добавить»).

Рисунок 1
После того, как добавили план обмена необходимо выбрать состав изменяемых объектов. Например, мы будем регистрировать изменения по регистру накопления (рисунок 2).

Рисунок 2
При добавлении объекта в состав плана обмена автоматически ставится авторегистрация изменений, её можно отключить, сделав ручной регистрацией.
Далее в режиме предприятия создадим новый узел плана обмена, который будет использоваться только для одного приемника, который мы указали в режиме конфигуратора (рисунок 3).

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

Рисунок 4
Чтение изменений
После записи объекта, который мы указали в состав плана обмена, появляется запись об изменении в виртуальной таблице изменений (рисунок 5), которую можно посмотреть запросом:
Запрос=НовыйЗапрос();
Запрос.Текст = “ВЫБРАТЬ *
ИЗ РегистрыНакопления.СвободныеОстатки.Изменения”;

Рисунок 5
Удаление изменений
Существует 3 варианта удаления изменений:
- Удаление изменений по узлу (рисунок 6);
Рисунок 6

- Удаление изменений по номеру сообщения (рисунок 7);

Рисунок 7
- Удаление изменений по номеру сообщения (рисунок 8).

Рисунок 8

Алексей Поляев
Младший разработчик практики 1С, компании «Сайфилд»
www.saifield.ru





