1С-Предприятие 8.0. Практическое пособие разработчика

Пример интерактивного обмена в распределенной информационной базе


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

Для этого плана обмена мы установим свойство "Распределенная информационная база":

Установим свойство "Распределенная информационная база"...

Перейдем на закладку "Прочее" и определим тот же состав данных для обмена, что и в плане обмена "Филиалы": отметим все объекты конфигурации, относящиеся к подсистеме "УчетУслугИМатериалов".

Запустим 1С:Предприятие в режиме отладки. [429]

Откроем план обмена "Отделения" и зададим параметры центрального узла (предопределенный элемент плана обмена): код "ЦБ" и наименование "Центральная база". После этого создадим новый узел с кодом "Отд" и наименованием "Отделение". Обратите внимание, что для созданного нами узла стали доступны три иконки в командной панели формы плана обмена: "Создать начальный образ" "Записать изменения" и "Прочитать изменения":


Стали доступны команды работы с распределенной информационной базой...

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


[430]

На следующем шаге укажем каталог информационной базы и нажмем "Готово". Система создаст в указанном каталоге начальный образ информационной базы нашего отделения.



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

Конфигурация подчиненного узла защищена от изменений средствами управления распределенной информационной базой...






[431]
Запустим базу отделения в режиме отладки и откроем план обмена "Отделения":

Обратите внимание, что в базе подчиненного узла сам подчиненный узел является предопределенным узлом плана обмена, а узел центральной базы отмечен красной пиктограммой, указывающей на то, что он является главным для информационной базы отделения. Кроме этого для узла центральной базы доступны только команды "Записать изменения" и "Прочитать изменения".
Теперь проверим работу обмена данными. Откроем список констант и зададим значение константы "ПрефиксНумерации" – "ОТ".
После этого откроем справочник клиентов и добавим в него нового клиента. Затем выполним запись изменений для центральной базы (указав каталог обмена).
Перейдем в центральную базу и выполним чтение изменений в центральной базе. Убедимся, что новый клиент, созданный в базе отделения, присутствует и в центральной базе.
Теперь посмотрим, как будут переноситься изменения конфигурации между главным и подчиненным узлом. В конфигураторе центральной базы создадим новую константу с именем "НоваяКонстанта". Выполним обновление конфигурации базы данных и запустим 1С:Предприятие в режиме отладки. Откроем план обмена "Отделения" и выполним запись изменений для подчиненного узла. [432]
После этого закроем конфигуратор информационной базы отделения, и выполним чтение изменений в базе подчиненного узла. По окончании чтения система выдаст следующее сообщение:

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

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