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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

< Лекция 6 || Лекция 7: 12345678910
Константин Павлов
Константин Павлов

Почему в лекции 1 "Основы организации бухгалтерской подсистемы" курса "Разработка прикладных решений для платформы 1С:Предприятие 8.2 в режиме "Управляемое приложение"" совершенно нет информации о том что нужно на вкладке данные в табличной части создать табличную часть "ВидыСубконто" и также нет информации о том какие нужно добавить реквизиты и какие у этих реквизитов должен быть тип? Считаю лекцию 1 в данном вопросе недоработанной.

Надежда Федулкина
Надежда Федулкина
Олег Некрасов
Олег Некрасов
Россия
Алексей Васильев
Алексей Васильев
Россия, Новосибирск