Что такое Планы обмена в 1С и как их использовать

от автора

Планы обмена представляют собой общие объекты конфигурации, используемые для организации обмена данными. Они содержат информацию о узлах, участвующих в обмене, определяют состав данных для обмена и указывают, следует ли использовать распределенную информационную базу при обмене.

Механизмы, реализуемые планом обмена:

  • Механизм распределенных информационных баз.

Позволяет создавать распределенную информационную базу в рамках конкретного плана обмена. Распределенная информационная база представляет собой иерархическую структуру, состоящую из отдельных информационных баз 1С:Предприятия – узлов распределенной информационной базы, между которыми осуществляется обмен данными для синхронизации конфигурации и данных;

  • Служба регистрации изменений;

Цель регистрации изменений заключается в том, чтобы составить список измененных элементов данных, которые необходимо передать в следующем сообщении конкретному узлу, с которым осуществляется обмен данными. При каждом изменении данных регистрируется, что есть изменения, которые нужно передать всем узлам, участвующим в обмене этими данными. После получения подтверждения о приеме сообщения, в котором были отправлены изменения, записи о регистрации изменений должны быть удалены.

  • Инфраструктура сообщений.

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

Создание плана обмена

План обмена можно создать двумя способами (рисунок 1): в режиме конфигуратор, нажать правой кнопкой мыши по плану обмена и создать или на кнопку с зеленым плюсом (команда «Добавить»).

Рисунок 1

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

Рисунок 2

При добавлении объекта в состав плана обмена автоматически ставится авторегистрация изменений, её можно отключить, сделав ручной регистрацией.

Далее в режиме предприятия создадим новый узел плана обмена, который будет использоваться только для одного приемника, который мы указали в режиме конфигуратора (рисунок 3). 

Рисунок 3

Регистрация изменений

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

Рисунок 4

Чтение изменений

После записи объекта, который мы указали в состав плана обмена, появляется запись об изменении в виртуальной таблице изменений (рисунок 5), которую можно посмотреть запросом:

Запрос=НовыйЗапрос();

Запрос.Текст = “ВЫБРАТЬ *

ИЗ РегистрыНакопления.СвободныеОстатки.Изменения”;

Рисунок 5

Удаление изменений

Существует 3 варианта удаления изменений:

  • Удаление изменений по узлу (рисунок 6);

Рисунок 6

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

Рисунок 7

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

Рисунок 8

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