Как отключить подчиненный узел РИБ и сделать базу автономной в 1С

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия IT и автоматизация бизнеса
← На главную

При разделении филиалов, завершении реорганизации или переходе на другие способы обмена данными часто возникает необходимость превратить подчиненный узел распределенной информационной базы (РИБ) в полноценную самостоятельную базу. В подчиненном узле РИБ возможность изменения конфигурации полностью заблокирована, а предопределенные элементы и структура зависят от центрального узла. Разберем, как корректно разорвать связь с главным узлом и сделать базу полностью локальной.

Важно: перед началом любых процедур обязательно создайте полную резервную копию информационной базы (выгрузку .dt или копию файла 1Cv8.1CD).

Почему параметр /ResetMasterNode не работает через список баз

Проанализируем распространенную ошибку: попытку указать ключ /ResetMasterNode в диалоговом окне списка информационных баз («Изменить» — «Дополнительные параметры запуска»). Данный параметр предназначен исключительно для пакетного режима работы Конфигуратора (DESIGNER). При обычном запуске пользовательского сеанса «1С:Предприятие» платформа просто игнорирует этот ключ. Чтобы параметр сработал, Конфигуратор необходимо запускать из командной строки.

Способ 1. Отключение узла через командную строку (консоль)

Рассмотрим по шагам правильный алгоритм пакетного запуска Конфигуратора для файловых и клиент-серверных информационных баз.

  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) в диспетчере задач.

  2. Сбрасываем привязку к главному узлу. Выполним следующую команду, передав параметр /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
    

    Аналогично дождемся завершения фонового процесса Конфигуратора.

  3. Возвращаем режим обновления предопределенных данных. После отключения главного узла необходимо вернуть автоматическое обновление, чтобы при дальнейших штатных обновлениях конфигурации новые предопределенные элементы создавались корректно:
    
    "C:\Program Files\1cv8\8.3.XX.XXXX\bin\1cv8.exe" DESIGNER /F"C:\PathToLocalDB" /N"AdminUser" /P"AdminUserPass" /SetPredefinedDataUpdate -Auto
    

Способ 2. Программное отключение через встроенный язык 1С

Если нет прямого доступа к командной строке сервера или запуск через консоль вызывает сложности, отвязать узел можно с помощью встроенного языка 1С. Создадим внешнюю обработку или выполним код во встроенной обработке «Групповое изменение реквизитов» / консоли кода.

Посмотрим на пример кода, выполняющего отключение узла и настройку предопределенных данных:


// Сбрасываем признак подчиненного узла РИБ
ПланыОбмена.УстановитьГлавныйУзел(Неопределено);

// Восстанавливаем автоматическое обновление предопределенных данных
ПланыОбмена.УстановитьОбновлениеПредопределенныхДанных(РежимОбновленияПредопределенныхДанных.Автоматически);

Метод ПланыОбмена.УстановитьГлавныйУзел(Неопределено) очищает ссылку на центральный узел, переводя информационную базу в автономный режим работы.

Действия после отключения от РИБ

После снятия признака подчиненного узла выполним обязательные шаги по постобработке базы:

  1. Первый вход в режиме «1С:Предприятие»: в конфигурациях на базе Библиотеки стандартных подсистем (включая «1С:Бухгалтерия 3.0») при первом входе появится предупреждение о смене статуса узла. В диалоге необходимо подтвердить отключение от главного узла.
  2. Отключение регламентных заданий: перейдем в раздел «Администрирование» — «Обслуживание» — «Регламентные и фоновые задания» (или «Синхронизация данных») и отключим старые расписания обменов, чтобы избежать ошибок синхронизации в журнале регистрации.
  3. Очистка регистрации изменений и удаление узла: в таблицах планов обмена могут остаться зарегистрированные изменения. Их можно удалить программно с помощью метода ПланыОбмена.УдалитьРегистрациюИзменений(). Бывший главный узел в плане обмена помечаем на удаление и удаляем стандартной обработкой удаления помеченных объектов.
  4. Настройка нумерации и префиксов: подчиненные узлы часто добавляют буквенный или числовой префикс к номерам документов. При необходимости скорректируйте префикс в карточках организаций или в общих настройках программы.
  5. Включение возможности изменения конфигурации: если требуется доработка конфигурации программистом, откроем Конфигуратор и перейдем в меню «Конфигурация» — «Поддержка» — «Настройка поддержки», где кнопка «Включить возможность изменения» станет активной.
← На главную