При работе с распределенными информационными базами (РИБ) в 1С часто возникает задача скорректировать состав передаваемых данных: добавить новые созданные справочники и документы либо, наоборот, исключить определенные документы из миграции между узлами. Разберем подробно, как устроен механизм планов обмена, почему данные могут не попадать в подчиненный узел и как правильно настроить передачу нетиповых объектов.
В типовых конфигурациях 1С (например, 1С:Бухгалтерия предприятия) обычно реализовано несколько планов обмена: Полный и планы обмена с фильтрацией (например, По организации). Важно понимать фундаментальную разницу в их работе:
Авторегистрация установлено в значение Разрешить. Это означает, что любое создание или изменение объекта автоматически фиксируется платформой для всех подчиненных узлов.Авторегистрация установлено в значение Запретить. В таких обменах регистрацией управляют подписки на события и встроенные Правила регистрации объектов (ПРО) Библиотеки стандартных подсистем (БСП). Система проверяет, к какой организации относится документ или справочник, и ставит его в очередь выгрузки только для соответствующего узла.Если внести изменения в состав плана обмена «Полный», но синхронизация или начальный образ создаются по плану обмена «По организации», добавленные объекты не попадут в подчиненный узел. Настройки состава необходимо выполнять именно в том плане обмена, который используется для синхронизации.
Рассмотрим порядок действий для включения нового объекта метаданных в распределенную информационную базу.
Откроем дерево метаданных в конфигураторе, перейдем в ветку ПланыОбмена и найдем используемый план обмена. Перейдем на вкладку Состав, найдем наш нетиповой объект и установим флажок включения в обмен.
Если объект должен безоговорочно передаваться во все узлы (например, общий классификатор или нетиповой справочник без привязки к организации), в свойствах состава плана обмена для этого объекта переключим свойство Авторегистрация в положение Разрешить.
Если же объект содержит реквизит Организация и должен передаваться строго с учетом фильтра узла, свойство Авторегистрация оставляют в значении Запретить, а сам объект добавляют в состав соответствующих подписок на события регистрации БСП и настраивают правила регистрации через конфигурацию «Конвертация данных».
Перед тем как данные нового объекта смогут загрузиться в подчиненную базу, в нее должна быть передана измененная структура метаданных. При очередном сеансе обмена подчиненный узел получит файл обновления, после чего необходимо зайти в конфигуратор подчиненной базы и выполнить команду Принять изменения конфигурации.
Проанализируем обратную задачу: когда определенные типовые или нетиповые документы требуется полностью убрать из обмена либо ограничить их миграцию.
В конфигураторе в составе плана обмена снимем флажок с ненужного документа либо переведем свойство Авторегистрация в значение Запретить (и исключим документ из состава регистрирующих подписок на события).
Если документ должен передаваться только при соблюдении определенных условий (например, проведенные документы текущего года), логика отказа от регистрации настраивается в модуле менеджера плана обмена или через правила регистрации объектов (ПРО).
При добавлении новых объектов в работающий план обмена уже существующие в информационной базе записи автоматически не встают в очередь на отправку. Чтобы передать накопленные данные в подчиненные базы, выполним ручную регистрацию изменений.
Для этого можно воспользоваться типовой обработкой Регистрация изменений для обмена данными в режиме «1С:Предприятие» либо выполнить программную регистрацию с помощью встроенного языка 1С:
УзелОбмена = ПланыОбмена.ПоОрганизации.НайтиПоКоду("002");
Если ЗначениеЗаполнено(УзелОбмена) Тогда
// Регистрируем все элементы нетипового справочника для указанного узла
ПланыОбмена.ЗарегистрироватьИзменения(УзелОбмена, Метаданные.Справочники.НетиповойСправочник);
КонецЕсли;
При формировании начального образа подчиненного узла обратим внимание на следующие технические моменты:
.1CD платформа сохраняет базу в каталог, указанный на финальном шаге мастера создания образа. Файл формируется непосредственно в этой папке.