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