Как сделать периферийную базу 1С центральной, а центральную — периферийной

Программист 1С v8.3 (Обычные формы) Торговля и дистрибуция
← На главную

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

Рассмотрим по шагам, как правильно выполнить переподчинение узлов РИБ, на что обратить внимание при неполном составе обмена и как избежать ошибок при синхронизации данных.

Метод 1. Программное переподчинение существующих баз через ПланыОбмена

Разберем базовый механизм платформы 1С для смены главного узла. Для того чтобы периферийный узел стал центральным, необходимо программно разорвать связь с текущим главным узлом, изменить коды узлов и установить новое подчинение.

Проанализируем порядок действий:

  1. Подготовка и выгрузка отсутствующих данных: Если в конфигурации используется неполный план обмена (например, справочники ЕГАИС или отдельные виды документов не выгружались в филиал), до отвязки узлов необходимо перенести недостающие объекты из старого центра в бывшую периферийную базу с помощью универсального обмена данными в формате XML.
  2. Снятие признака главного узла в бывшей периферийной базе: Запустим бывшую периферийную базу в монопольном режиме и отвяжем её от центра с помощью следующего кода: ПланыОбмена.УстановитьГлавныйУзел(Неопределено); После выполнения этого кода база становится автономной.
  3. Изменение кодов и наименований узлов: В плане обмена бывшей периферийной базы (ставшей новым центром) поменяем местами коды текущего узла и узла-корреспондента. Текущему узлу присвоим код и наименование главного узла.
  4. Очистка регистрации изменений: Чтобы избежать выгрузки гигантского файла обмена при первой синхронизации, в новой центральной базе необходимо очистить таблицы регистрации изменений с помощью метода ПланыОбмена.УдалитьРегистрациюИзменений().
  5. Установка главного узла для бывшей центральной базы: В бывшей центральной базе отвязываем текущий главный узел аналогичным вызовом ПланыОбмена.УстановитьГлавныйУзел(Неопределено), корректируем коды узлов в плане обмена, а затем привязываем ее к новому центру:
    
    СсылкаНаНовыйЦентр = ПланыОбмена.[ИмяПланаОбмена].НайтиПоКоду("NEW_CENTER");
    ПланыОбмена.УстановитьГлавныйУзел(СсылкаНаНовыйЦентр);
    
  6. Корректировка префиксов: Обязательно проверяем и меняем префиксы информационных баз в настройках синхронизации и константах, чтобы избежать дублирования номеров документов и кодов справочников.

Метод 2. Пересоздание РИБ с переносом данных (рекомендуемый для неполных обменов)

Если в базе наблюдались сбои синхронизации, рассинхронизация нумерации или обмен был селективным (неполным), прямое переподчинение через код может привести к появлению «битых» ссылок или ошибок при проведении документов. В таких случаях надежнее применить метод полного пересоздания структуры обмена.

Рассмотрим этот алгоритм по шагам:

  1. Выполним полную выгрузку всех недостающих справочников, регистров и документов из старой центральной базы в будущую центральную базу с помощью универсальной выгрузки/загрузки данных XML.
  2. В будущей центральной базе отвязываем главный узел методом ПланыОбмена.УстановитьГлавныйУзел(Неопределено) и полностью удаляем служебные узлы старого плана обмена.
  3. Настраиваем новую центральную базу: обновляем справочник идентификаторов объектов метаданных (при использовании БСП) и выставляем правильные префиксы документов.
  4. В новой центральной базе создаем новый план обмена и формируем из него свежий начальный образ подчиненного узла (файлы .1CD или созданием базы на сервере 1С).
  5. Заменяем старую центральную базу филиала новым сформированным начальным образом.

Этот подход гарантирует полное соответствие структуры метаданных, ссылочной целостности и отсутствие накопленных ошибок регистрации изменений.

← На главную