В процессе администрирования или доработки информационных баз 1С специалисты нередко сталкиваются с ситуацией, когда в режиме Конфигуратор пункты меню Обновить конфигурацию, Загрузить конфигурацию из файла, а также кнопка Включить возможность изменения в окне настройки поддержки становятся неактивными (серыми). При этом стандартная выгрузка и последующая загрузка базы в формате .dt или попытки подставить чистый файл конфигурации не приносят результата.
Разберем детально, почему возникает подобная блокировка, как определить ее источник и какими способами можно вернуть полный доступ к редактированию конфигурации.
Если в дереве конфигурации отображаются пиктограммы замка с бочонками и всплывающим сообщением Изменения конфигурации заблокированы средствами управления распределенной ИБ, это означает, что текущая база данных является подчиненным (периферийным) узлом распределенной информационной базы (РИБ).
В архитектуре РИБ действует строгое правило целостности: вся структура метаданных и программный код модулей изменяются исключительно в главном (центральном) узле. В периферийные узлы эти изменения доставляются автоматически в процессе регулярного обмена данными. Поэтому платформа 1С аппаратно блокирует любые попытки прямого редактирования или обновления конфигурации в дочерней базе.
Однако возникают ситуации, когда связь с центральной базой утеряна, периферийный узел необходимо превратить в самостоятельную автономную базу или требуется принудительно обновить конфигурацию локально. Рассмотрим основные способы снятия блокировки РИБ.
Самый распространенный и быстрый способ отвязать базу от центрального узла — выполнить метод встроенного языка 1С ПланыОбмена.УстановитьГлавныйУзел() с параметром Неопределено.
Разберем по шагам порядок действий:
// Отключаем признак подчиненности главному узлу РИБ
ПланыОбмена.УстановитьГлавныйУзел(Неопределено);
Если нет возможности запустить режим предприятия или применить внешнюю обработку, разблокировку можно выполнить при помощи служебного ключа запуска платформы /ResetMasterNode.
Посмотрим, как использовать данный параметр:
"C:\Program Files\1cv8\common\1cestart.exe" DESIGNER /F "C:\Bases\Trade" /ResetMasterNode
После однократного запуска с данным ключом узел будет отвязан от главного, а признак распределенной базы сбросится.
После того как признак подчиненного узла удален, база переходит в режим обычной конфигурации, находящейся на поддержке поставщика. Чтобы включить возможность внесения изменений в модули и объекты, выполним следующие действия:
Если разблокировка требовалась лишь временно для аварийного исправления, и в дальнейшем планируется продолжить штатный обмен с центральной базой, узел можно снова привязать к главному:
// Находим ссылку на главный узел в плане обмена по коду или наименованию
СсылкаНаГлавный = ПланыОбмена.Полный.НайтиПоКоду("ЦБ");
Если ЗначениеЗаполнено(СсылкаНаГлавный) Тогда
ПланыОбмена.УстановитьГлавныйУзел(СсылкаНаГлавный);
КонецЕсли;
Важное предупреждение: если в отвязанной дочерней базе была изменена структура метаданных (добавлены реквизиты, документы, справочники), при последующей попытке синхронизации обмен завершится критической ошибкой несоответствия конфигураций. Структура конфигурации периферийной базы должна строго совпадать с конфигурацией главного узла.
Если база не входит в РИБ, но кнопки конфигуратора все равно неактивны, проанализируем следующие факторы:
.cf-файл — для них подходят только официальные обновления формата .cfu для базовых версий.1Cv8.1CD имеют атрибут Только чтение (Read-only) либо у пользователя Windows отсутствуют права на запись, Конфигуратор откроет базу в режиме просмотра без возможности внесения изменений.%LOCALAPPDATA%\1C\1Cv8 и %APPDATA%\1C\1Cv8 с последующим повторным добавлением базы в список запуска.