Основы конфигурирования в системе '1С Предприятие 8.0'

  73c64bed     

Планы обмена


Механизмы обмена данными позволяют создавать распределенные информационные системы на основе:

  • 1С:Предприятия 8.0;
  • других информационных систем, не основанных на 1С:Предприятии 8.0.


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

В состав средств платформы, используемых для построения схем обмена данными, входят:

  • объекты прикладного решения План обмена;
  • средства XML-сериализации;
  • средства чтения/записи XML-документов.

При помощи этих средств могут быть реализованы два механизма обмена данными:

  • универсальный механизм обмена данными;
  • механизм распределенных информационных баз.

Рассмотрим универсальный механизм обмена данными. Данный механизм позволяет создавать произвольные распределенные системы и практически не накладывает никаких ограничений на структуру создаваемой системы.

Этот механизм позволяет переносить только данные 1С:Предприятия; перенос конфигурации и административной информации 1С:Предприятия 8.0 при помощи этого механизма невозможен.

Возможности обмена данными:

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

Особенности обмена данными:

  • в качестве формата обмена используются XML документы;
  • при обмене данными между информационными базами 1С:Предприятия 8.0 не накладывается ограничений на идентичность конфигурации и структуры конкретных объектов;
  • в одной конфигурации может быть создано несколько независимых схем обмена с различными информационными системами;
  • при организации схемы обмена не накладывается ограничений на структуру распределенной системы. Может быть организована как классическая структура типа "звезда", так и более сложные многоуровневые структуры типа "снежинка" и другие;




  • разработчику прикладного решения предоставляется возможность гибкого управления составом обмена, как с точки зрения структуры передаваемых данных, так и с точки зрения состава передаваемой информации в конкретные узлы обмена;
  • объект базы данных первоначально создается в одном из узлов обмена. Состав передаваемой информации может регулироваться в зависимости от содержимого данных, и не зависит от места первоначального ввода информации.


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

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


Кроме этого, планы обмена реализуют работу двух важных механизмов, задействованных при обмене данными:

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

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

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

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



В плане обмена хранится список узлов, - участников обмена в распределенной информационной системе. В качестве узлов могут выступать информационные базы 1С:Предприятия 8.0, информационные базы 1С:Предприятия 7.7 или другие информационные системы, не основанные на 1С:Предприятии.

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



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

В каркасной конфигурации создано два плана обмена: "УдаленныеОфисы" и "Распределенка". У плана обмена "УдаленныеОфисы" флажок "Распределенная информационная база" снят, у "Распределенки" - установлен.

Также в плане обмена указывается состав данных, которыми предполагается вести обмен:



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

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

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

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

Непосредственно после выполнения регистрации изменения, в каждой новой записи изменений номер сообщения имеет значение NULL. При первой отправке изменения в составе сообщения, он заменяется номером сообщения, в котором изменение отправлено.

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

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

Сообщение оформляется как документ XML, имеющий определенную структуру. Инфраструктура сообщений позволяет формировать нужную структуру сообщения, и контролировать ее корректность. В частности, инфраструктура сообщений поддерживает нумерацию сообщений, и позволяет получать подтверждения от узла-получателя о приеме сообщений. Такое подтверждение содержится в каждом сообщении, приходящем от узла-получателя в виде номера последнего принятого сообщения.


Содержание раздела