При работе с распределенными информационными базами (РИБ), особенно если база досталась в наследство от другого администратора, часто возникает ситуация: необходимо обновить конфигурацию, но кнопка «Обновить конфигурацию» неактивна, а в меню поддержки отсутствует пункт «Конфигурация поставщика». Сообщение «Изменения конфигурации заблокированы средствами управления РИБ» прямо указывает на то, что база считает себя подчиненным узлом, который должен получать изменения только из центра.
В этой статье мы подробно разберем, как определить реальную топологию вашей базы, как снять блокировку РИБ и что делать, если конфигурация была полностью снята с поддержки.
Прежде чем вносить изменения в структуру базы, нам необходимо проанализировать ситуацию. Рассмотрим основные причины, по которым конфигурация может быть недоступна для редактирования:
Выясним, является ли база подчиненной, с помощью встроенных инструментов. Разберем способ проверки через Конфигуратор и программный метод.
Если вы уверены, что перед вами «центральная» база (или вы хотите сделать её автономной для проведения обновлений), необходимо разорвать связь с главным узлом. Проанализируем два основных метода.
Метод А: Командная строка (наиболее надежный)
Этот способ позволяет принудительно очистить системные таблицы базы данных от признаков РИБ. Выполним следующие действия:
"C:\Program Files\1cv8\common\1cv8.exe" DESIGNER /F "Путь_К_Вашей_Базе" /ResetMasterNode
После этого признак «Главный узел» будет очищен. Зайдем в Конфигуратор и убедимся, что замок на объектах пропал (или сменился на доступный для редактирования), а сообщение о блокировке средствами РИБ исчезло.
Метод Б: Программный (через встроенный язык)
Если у нас есть доступ к базе в режиме «1С:Предприятие» с правами администратора, мы можем воспользоваться обработкой или встроенной консолью кода. Рассмотрим пример кода:
// Проверяем, установлен ли главный узел
Если ПланыОбмена.ГлавныйУзел() <> Неопределено Тогда
Попытка
// Разрываем связь
ПланыОбмена.УстановитьГлавныйУзел(Неопределено);
Сообщить("Связь с главным узлом успешно разорвана.");
Исключение
Сообщить("Ошибка при попытке снять признак РИБ: " + ОписаниеОшибки());
КонецПопытки;
КонецЕсли;
После выполнения этого кода база перестанет считать себя периферийной. Однако помните, что это может привести к невозможности дальнейшего автоматического обмена, если конфигурации в узлах разойдутся.
Если после снятия блокировки РИБ вы обнаружили, что пункт «Конфигурация — Поддержка — Настройка поддержки» показывает пустое окно или кнопка «Обновить конфигурацию» все еще неактивна, значит, база была снята с поддержки. Разберем по шагам, как это исправить.
.cf) именно этой версии. Важно: файл должен быть идентичен по версии, иначе при установке на поддержку возникнет конфликт метаданных..cf файл.После этой процедуры в меню «Конфигурация — Поддержка» снова появится пункт «Обновить конфигурацию», и вы сможете штатно накатить актуальное обновление.
Проанализируем ситуацию, специфичную для «1С:Розница». В этой конфигурации часто сосуществуют несколько видов обмена: «По магазинам», «По кассам», «Полный». Посмотрим на пиктограммы в списке планов обмена:
Если вы видите синий монитор в списке узлов — база является подчиненной. Если вы решили пересоздать РИБ «с нуля», рекомендуется действовать по следующей схеме:
ResetMasterNode.Проанализируем риски: ручное вмешательство в структуру РИБ — это крайняя мера. Всегда делайте резервную копию (выгрузку .dt) перед использованием ключа /ResetMasterNode или программным изменением главного узла.
Также стоит учитывать кэш метаданных. Иногда после разрыва связи «замок» в Конфигураторе не исчезает мгновенно. В этом случае попробуйте очистить локальный кэш пользователя (папку Config и ConfigSave в профиле пользователя AppData) или просто передобавьте базу в список запуска.
Таким образом, мы рассмотрели комплексный подход к решению проблемы заблокированной конфигурации. Теперь вы знаете, как вернуть контроль над базой и продолжить её развитие даже в сложных условиях отсутствия документации от предыдущего специалиста.