Почему в лекции 1 "Основы организации бухгалтерской подсистемы" курса "Разработка прикладных решений для платформы 1С:Предприятие 8.2 в режиме "Управляемое приложение"" совершенно нет информации о том что нужно на вкладке данные в табличной части создать табличную часть "ВидыСубконто" и также нет информации о том какие нужно добавить реквизиты и какие у этих реквизитов должен быть тип? Считаю лекцию 1 в данном вопросе недоработанной. |
Построение распределенных информационных систем, поиск, регламентные задания, функциональные опции
Цель лекции: научиться создавать распределенные информационные системы, используя механизмы распределенной информационной базы, настраивать поиск в базе данных, пользоваться регламентными заданиями и функциональными опциями
Постановка задачи
Наша организация расширяется. У нее появился дополнительный офис, который занимается закупками материалов. Но материалы может покупать и центральный офис организации. Руководством было принято решение о том, что учет поступления материалов в дополнительном офисе должен вестись с использованием того же ПО, что и в главном офисе. Учетные данные головного и дополнительного офисов нужно синхронизировать не реже одного раза в день для того, чтобы сотрудники и того и другого офиса имели бы правильное представление об остатках материалов в организации.
Основным инструментом учета поступления материалов в нашей конфигурации является документ ПоступлениеМатериалов. При его заполнении используется множество справочников, он формирует движения в регистре накопления ОстаткиМатериалов и в регистре бухгалтерии Хозрасчетный, по этим регистрам строятся несколько отчетов. Нам нужно организовать учет в территориально разделенных подразделениях организации с возможностью синхронизации изменений.
Для решения этой задачи можно воспользоваться механизмом распределенных информационных баз. Он позволяет организовывать обмен данными между несколькими информационными базами, синхронизировать как изменения в данных, которые внесены в базу в пользовательском режиме, так и изменения в конфигурации.
Еще и другие возможности, в частности – организация удаленного доступа к информационной базе. Такой доступ может быть организован различными средствами, так, например, это организация WEB-доступа к базе данных, объединение территориально удаленных сетей одной и той же организации в единую сеть с использованием технологий VPN и организация сетевого доступа к базе.
Описываемая методика построения распределенной информационной системы актуальна именно для случая, когда подразделение (или подразделения), в котором нужно организовать учет, не только территориально удалено, но и не имеет возможности наладить постоянную сетевую связь с головной организацией.
Предварительная подготовка
Прежде чем начинать реализацию механизма, подумаем о том, все ли в нашей конфигурации готово для того, чтобы он смог нормально работать. Предположим, у нас имеются две базы данных – одну назовем Главная база (ГБ), вторую – База филиала (ФБ). После того, как база ФБ создана, в ней и в базе ГБ есть один документ ПоступлениеМатериалов с номером 00001. В базах ГБ и ФБ, каждая из которых автономно используется до того момента, когда придет время обмениваться данными, создают по одному документу ПоступлениеМатериалов. Он, в соответствии со стандартными правилами нумерации, приобретает номер 00002. И в той и в другой базе содержатся разные документы, имеющие один и тот же номер. При синхронизации данных возникнет конфликтная ситуация. Для того чтобы подобной ситуации не допустить, нам нужно предусмотреть собственные правила нумерации объектов для баз ГБ и ФБ. Обычно подобная задача решается с помощью использования префиксов номеров, автоматически подставляемых при создании новых объектов.
Доработаем конфигурацию таким образом, чтобы те объекты, данными которых мы будем обмениваться, предусматривали использование различной системы нумерации в разных базах.
По предварительной оценке, произведенной выше, нас интересует, во-первых, документ ПоступлениеМатериалов, во-вторых – все справочники, используемые в системе. То есть, нам нужно создать механизм формирования номеров (для документа) и кодов (для элементов справочников), который использовал бы префиксы для разделения нумерации элементов различных баз.
В нашей конфигурации уже имеется константа ПрефиксНомера – строка длиной два символа, которую мы и планируем использовать для хранения префиксов номеров.
Добавим в модули справочников ( рис. 7.1), данные которых нам нужно синхронизировать, такие обработчики:
Процедура ПриУстановкеНовогоКода(СтандартнаяОбработка, Префикс) Префикс=Константы.ПрефиксНомера.Получить(); КонецПроцедуры
Присваивание значения константы ПрефиксНомера параметру Префикс, приводит к тому, что код элемента справочника, присваиваемый ему при создании, начинается с заданного в константе префикса. Делая это, нужно учитывать, что количество значимых цифр кода уменьшится – для того, чтобы справиться с этой проблемой, можно увеличить длину кода справочника.
В модуль документа ПоступлениеМатериалов нам нужно внести похожее изменение, однако, здесь идет речь о номерах объекта, в итоге, получается следующий код:
Процедура ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс) Префикс=Константы.ПрефиксНомера.Получить(); КонецПроцедуры
Подготовительный этап выполнен, теперь приступим к созданию основного объекта, на котором основана распределенная информационная база – на Плане обмена.