Где найти настройки РИБ в 1С и как исправить ошибку с UUID базы данных

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

Настройка распределенных информационных баз (РИБ) — одна из ключевых задач администратора при создании распределенной ИТ-инфраструктуры на предприятии. Однако в процессе эксплуатации пользователи и разработчики часто сталкиваются с техническими сложностями: от тривиального вопроса «где искать параметры синхронизации» до критических ошибок, связанных с рассинхронизацией уникальных идентификаторов (UUID) баз данных. В этой статье мы подробно рассмотрим структуру РИБ в современных решениях на платформе 1С:Предприятие 8.3, разберем причины возникновения ошибок UUID и изучим практические методы их устранения.

Где находятся настройки РИБ в современных конфигурациях 1С

В современных типовых конфигурациях 1С (таких как «Бухгалтерия предприятия», «Управление торговлей», «Зарплата и управление персоналом» и др.), разработанных на базе Библиотеки стандартных подсистем (БСП), все механизмы обмена данными унифицированы. Чтобы найти настройки РИБ, выполним следующие шаги:

  1. Перейдем в раздел меню Администрирование.
  2. Выберем пункт Синхронизация данных. Если этот пункт отсутствует, необходимо убедиться, что установлена соответствующая галочка «Синхронизация данных» на этой же форме.
  3. Перейдем по гиперссылке Настройки синхронизации данных. Перед нами откроется список всех существующих обменов (узлов планов обмена).
  4. Для корректировки параметров конкретного узла выделим его и нажмем кнопку Настроить параметры подключения (иконка в виде шестеренки) либо воспользуемся кнопками изменения правил отправки и получения данных.

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

Почему возникает ошибка UUID базы данных и как ее проанализировать

Иногда при попытке выполнить обмен система блокирует процесс и выводит сообщение, содержащее непонятный набор символов (UUID) и указание на несоответствие идентификатора базы. Давайте разберем природу этого явления.

Каждая информационная база 1С имеет свой уникальный системный идентификатор (UUID). За его хранение отвечает специальная константа ИдентификаторИнформационнойБазы. В штатном режиме работы в центральной базе (ЦБ) и в подчиненном узле (ПБ) значения этой константы должны быть строго уникальными и различаться между собой. Это позволяет механизмам БСП корректно определять, «кто есть кто» в цепочке обменов.

Проблема возникает из-за двух основных причин:

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

Если мы диагностировали рассинхронизацию UUID, первым делом необходимо исключить константу ИдентификаторИнформационнойБазы из состава плана обмена в конфигураторе центральной базы, чтобы предотвратить повторение проблемы в будущем. После этого в подчиненной базе нужно программно задать новый уникальный идентификатор.

Для программного решения проблемы в подчиненной базе мы можем написать и выполнить простую обработку, запускающую генерацию нового идентификатора:


// Программная генерация и запись нового уникального идентификатора базы
НовыйИдентификатор = Новый УникальныйИдентификатор();
Константы.ИдентификаторИнформационнойБазы.Установить(НовыйИдентификатор);
ЗаписатьРегистрационныеДанныеИБ(); // служебная процедура БСП для обновления параметров связи

После выполнения данного кода база получит новый уникальный UUID, отличный от центральной базы, что позволит снять блокировку обмена со стороны БСП.

Способ 2. Корректировка правил регистрации в Конвертации данных 2 (КД2)

Если автоматическая синхронизация продолжает передавать нежелательные параметры, проанализируем правила регистрации объектов (ПРО). Для этого нам понадобится специализированная база 1С:Конвертация данных 2. Выполним следующие шаги:

  1. Выгрузим правила регистрации из настроек синхронизации данных в XML-файл.
  2. Запустим конфигурацию «Конвертация данных 2» и импортируем этот файл правил.
  3. Найдем в списке объектов правила регистрации для константы ИдентификаторИнформационнойБазы.
  4. Удалим правило регистрации для этого объекта либо пропишем в обработчике «Перед регистрацией объекта» отказ от регистрации:

// Отказ от автоматической регистрации изменений константы в узлах РИБ
Отказ = Истина;
  1. Выгрузим измененные правила регистрации обратно в XML-файл.
  2. В режиме «1С:Предприятие» в параметрах синхронизации загрузим обновленный файл правил регистрации через меню Параметры синхронизации — Загрузить правила регистрации объектов.

Способ 3. Снятие блокировки при копировании информационной базы

Если проблема вызвана простым копированием или переносом базы данных, БСП выдает предупреждение при запуске. Чтобы возобновить обмен, нам не нужно писать код. Достаточно отреагировать на стандартное диалоговое окно системы:

Экстремальное восстановление: отвязка от главного узла

В случаях, когда конфигурации баз сильно разошлись, или база оказалась заблокирована критической ошибкой, мешающей штатному обмену, мы можем прибегнуть к полной "отвязке" подчиненной базы от главного узла.

Рассмотрим эту процедуру по шагам:

  1. Запустим подчиненную базу через командную строку (или ярлык) с ключом автоматического сброса признака подчиненности:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F "C:\Put_k_baze" /ResetMasterNode

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

Затем нам необходимо вернуть базу обратно в состав РИБ. Для этого программно назначим главный узел обратно, выполнив следующий код во внешней обработке:


// Устанавливаем связь с главным узлом заново
СсылкаНаГлавныйУзел = ПланыОбмена.НайтиПоКоду("ЦБ"); // укажите код вашего главного узла
Если НЕ СсылкаНаГлавныйУзел.Пустая() Тогда
    ПланыОбмена.УстановитьГлавныйУзел(СсылкаНаГлавныйУзел);
КонецЕсли;

Историческая справка: РИБ в 1С 7.7 («клюшках»)

Иногда в обсуждениях на форумах проскальзывает упоминание старой платформы 1С 7.7 (так называемых «клюшек») и конфигурации «Зарплата и Кадры 7.7» (ЗиК). Стоит отметить, что в 1С 7.7 аналог РИБ назывался УРБД (Управление распределенными информационными базами) и поставлялся как отдельная дорогостоящая компонента.

При этом в типовой конфигурации ЗиК 7.7 поддержка УРБД изначально отсутствовала. Специфика расчета заработной платы, требующая строгой монопольной последовательности проведения документов и блокировок таблиц базы данных, делала автоматический распределенный обмен крайне сложным в реализации. Для переноса данных в ЗиК 7.7 использовались специализированные внешние обработки выгрузки/загрузки данных через XML или текстовые файлы, а не полноценный автоматический обмен конфигурацией и метаданными.

← На главную