Опубликован: 06.12.2011 | Уровень: специалист | Доступ: свободно
Лекция 7:

Построение распределенных информационных систем, поиск, регламентные задания, функциональные опции

< Лекция 6 || Лекция 7: 12345678910
Аннотация: В этой лекции рассматривается разработка распределенной информационной системы, поиск в базе данных, использование регламентных заданий и функциональных опций

Цель лекции: научиться создавать распределенные информационные системы, используя механизмы распределенной информационной базы, настраивать поиск в базе данных, пользоваться регламентными заданиями и функциональными опциями

Постановка задачи

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

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

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

Еще и другие возможности, в частности – организация удаленного доступа к информационной базе. Такой доступ может быть организован различными средствами, так, например, это организация WEB-доступа к базе данных, объединение территориально удаленных сетей одной и той же организации в единую сеть с использованием технологий VPN и организация сетевого доступа к базе.

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

Предварительная подготовка

Прежде чем начинать реализацию механизма, подумаем о том, все ли в нашей конфигурации готово для того, чтобы он смог нормально работать. Предположим, у нас имеются две базы данных – одну назовем Главная база (ГБ), вторую – База филиала (ФБ). После того, как база ФБ создана, в ней и в базе ГБ есть один документ ПоступлениеМатериалов с номером 00001. В базах ГБ и ФБ, каждая из которых автономно используется до того момента, когда придет время обмениваться данными, создают по одному документу ПоступлениеМатериалов. Он, в соответствии со стандартными правилами нумерации, приобретает номер 00002. И в той и в другой базе содержатся разные документы, имеющие один и тот же номер. При синхронизации данных возникнет конфликтная ситуация. Для того чтобы подобной ситуации не допустить, нам нужно предусмотреть собственные правила нумерации объектов для баз ГБ и ФБ. Обычно подобная задача решается с помощью использования префиксов номеров, автоматически подставляемых при создании новых объектов.

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

По предварительной оценке, произведенной выше, нас интересует, во-первых, документ ПоступлениеМатериалов, во-вторых – все справочники, используемые в системе. То есть, нам нужно создать механизм формирования номеров (для документа) и кодов (для элементов справочников), который использовал бы префиксы для разделения нумерации элементов различных баз.

В нашей конфигурации уже имеется константа ПрефиксНомера – строка длиной два символа, которую мы и планируем использовать для хранения префиксов номеров.

Добавим в модули справочников ( рис. 7.1), данные которых нам нужно синхронизировать, такие обработчики:

Процедура ПриУстановкеНовогоКода(СтандартнаяОбработка, Префикс)
  Префикс=Константы.ПрефиксНомера.Получить();
КонецПроцедуры

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

Задание префикса номера в модуле справочника

увеличить изображение
Рис. 7.1. Задание префикса номера в модуле справочника

В модуль документа ПоступлениеМатериалов нам нужно внести похожее изменение, однако, здесь идет речь о номерах объекта, в итоге, получается следующий код:

Процедура ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс)
  Префикс=Константы.ПрефиксНомера.Получить();
КонецПроцедуры

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

< Лекция 6 || Лекция 7: 12345678910
Константин Павлов
Константин Павлов
Почему информация по Плану счетов не полная?
Надежда Федулкина
Надежда Федулкина
где находиться выгрузка базы?
Эварист Аминев
Эварист Аминев
Россия
Илья Калиничев
Илья Калиничев
Россия, Самара