Обновление распределенных информационных баз, особенно при пропуске большого количества релизов (например, переход с версии 2.2 на 2.3), часто сопровождается критическими ошибками. Одной из самых частых проблем является ошибка Ошибка загрузки приоритетных данных из сообщения обмена. Рассмотрим, почему это происходит и как безопасно выполнить обновление, не нарушив целостность структуры данных.
Когда мы обновляем периферийную базу (ПФ) «напрямую» через механизм обмена, мы сталкиваемся с тем, что структура метаданных центральной базы (ЦУ) и периферийной базы временно становится несовместимой. Механизм Планы обмена требует строгой синхронизации. Если разрыв между релизами слишком велик, правила конвертации или логика работы узлов в новой конфигурации могут полностью противоречить данным, полученным из старого сообщения обмена. Попытка «протащить» обновление через цепочку релизов таким способом зачастую приводит к неисправимым ошибкам в таблицах регистрации изменений.
Чтобы избежать ошибок при обновлении, профессионалы используют метод временного перевода периферийной базы в статус «автономной» или «центральной». Разберем этот процесс по шагам.
/ResetMasterNode для запуска Конфигуратора периферийной базы. Это действие отключает признак подчиненного узла..cf или .cfu.Если после обновления вы решили не восстанавливать связь через диалоговое окно или при автоматическом запуске, вы можете вернуть статус периферийной базы программно. Для этого используется метод УстановитьГлавныйУзел() из объекта ПланыОбмена.
Рассмотрим пример кода, который необходимо выполнить в Консоли кода или через внешнюю обработку в обновленной базе:
// Получаем ссылку на узел, который должен стать главным для данной базы
// Обычно это узел, соответствующий коду центральной базы
УзелСсылка = ПланыОбмена.ВашПланОбмена.НайтиПоКоду(\"КодЦентральнойБазы\");
// Устанавливаем текущий узел как подчиненный главному
ПланыОбмена.УстановитьГлавныйУзел(УзелСсылка);
Важно помнить: если при выполнении этого кода в качестве параметра передать Неопределено, база будет окончательно отвязана от обмена и станет самостоятельной (автономной).
Если вы обслуживаете большое количество баз (например, 90 ПФ), важно соблюдать строгую последовательность:
Начальный образ заново.1С:Предприятия. Параметры /UpdateCfg и /UpdateDBCfg позволяют автоматизировать процесс применения конфигурации, но требуют предварительной подготовки файлов обновления.Подводя итог, можно сказать, что «жесткий» метод перевода базы в статус основной с последующим возвратом в РИБ — это самый надежный способ пройти путь в несколько крупных релизов без повреждения структуры метаданных и критических ошибок в планах обмена.