При разделении филиалов, завершении реорганизации или переходе на другие способы обмена данными часто возникает необходимость превратить подчиненный узел распределенной информационной базы (РИБ) в полноценную самостоятельную базу. В подчиненном узле РИБ возможность изменения конфигурации полностью заблокирована, а предопределенные элементы и структура зависят от центрального узла. Разберем, как корректно разорвать связь с главным узлом и сделать базу полностью локальной.
Важно: перед началом любых процедур обязательно создайте полную резервную копию информационной базы (выгрузку .dt или копию файла 1Cv8.1CD).
Проанализируем распространенную ошибку: попытку указать ключ /ResetMasterNode в диалоговом окне списка информационных баз («Изменить» — «Дополнительные параметры запуска»). Данный параметр предназначен исключительно для пакетного режима работы Конфигуратора (DESIGNER). При обычном запуске пользовательского сеанса «1С:Предприятие» платформа просто игнорирует этот ключ. Чтобы параметр сработал, Конфигуратор необходимо запускать из командной строки.
Рассмотрим по шагам правильный алгоритм пакетного запуска Конфигуратора для файловых и клиент-серверных информационных баз.
Для Windows (файловая база):
"C:\Program Files\1cv8\8.3.XX.XXXX\bin\1cv8.exe" DESIGNER /F"C:\PathToLocalDB" /N"AdminUser" /P"AdminUserPass" /SetPredefinedDataUpdate -DoNotUpdateAutomatically
Для Windows (клиент-серверная база):
"C:\Program Files\1cv8\8.3.XX.XXXX\bin\1cv8.exe" DESIGNER /S"SRVname:1540\DBname" /N"AdminUser" /P"AdminUserPass" /SetPredefinedDataUpdate -DoNotUpdateAutomatically
Для Linux (файловая база):
/opt/1C/v8.3/x86_64/1cv8 DESIGNER /F"/PathToLocalDB" /N"AdminUser" /P"AdminUserPass" /SetPredefinedDataUpdate -DoNotUpdateAutomatically
Для Linux (клиент-серверная база):
/opt/1C/v8.3/x86_64/1cv8 DESIGNER /S"SRVname:1540\DBname" /N"AdminUser" /P"AdminUserPass" /SetPredefinedDataUpdate -DoNotUpdateAutomatically
Окно Конфигуратора не откроется визуально: процесс отработает в фоновом режиме. Дождемся завершения процесса 1cv8.exe (или 1cv8 в Linux) в диспетчере задач.
/ResetMasterNode:
Для Windows (файловая база):
"C:\Program Files\1cv8\8.3.XX.XXXX\bin\1cv8.exe" DESIGNER /F"C:\PathToLocalDB" /N"AdminUser" /P"AdminUserPass" /ResetMasterNode
Для Windows (клиент-серверная база):
"C:\Program Files\1cv8\8.3.XX.XXXX\bin\1cv8.exe" DESIGNER /S"SRVname:1540\DBname" /N"AdminUser" /P"AdminUserPass" /ResetMasterNode
Аналогично дождемся завершения фонового процесса Конфигуратора.
"C:\Program Files\1cv8\8.3.XX.XXXX\bin\1cv8.exe" DESIGNER /F"C:\PathToLocalDB" /N"AdminUser" /P"AdminUserPass" /SetPredefinedDataUpdate -Auto
Если нет прямого доступа к командной строке сервера или запуск через консоль вызывает сложности, отвязать узел можно с помощью встроенного языка 1С. Создадим внешнюю обработку или выполним код во встроенной обработке «Групповое изменение реквизитов» / консоли кода.
Посмотрим на пример кода, выполняющего отключение узла и настройку предопределенных данных:
// Сбрасываем признак подчиненного узла РИБ
ПланыОбмена.УстановитьГлавныйУзел(Неопределено);
// Восстанавливаем автоматическое обновление предопределенных данных
ПланыОбмена.УстановитьОбновлениеПредопределенныхДанных(РежимОбновленияПредопределенныхДанных.Автоматически);
Метод ПланыОбмена.УстановитьГлавныйУзел(Неопределено) очищает ссылку на центральный узел, переводя информационную базу в автономный режим работы.
После снятия признака подчиненного узла выполним обязательные шаги по постобработке базы:
ПланыОбмена.УдалитьРегистрациюИзменений(). Бывший главный узел в плане обмена помечаем на удаление и удаляем стандартной обработкой удаления помеченных объектов.