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