Почему в РИБ не передаются самодельные справочники и как это исправить?

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

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

Шаг 1: Настройка состава Плана обмена в Конфигураторе

Первая и самая важная причина, по которой данные не уходят в периферийную базу, — это отсутствие объекта в составе Плана обмена. По умолчанию, когда вы создаете новый справочник, он не включается в механизмы обмена автоматически.

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

Шаг 2: Обновление конфигурации базы данных

После внесения изменений в Конфигуратор, вам необходимо обновить конфигурацию базы данных (клавиша F7). Это действие обязательно нужно выполнить как в центральном узле, так и во всех периферийных узлах, участвующих в обмене. Структура метаданных должна быть идентичной во всех базах, иначе при получении данных система выдаст ошибку несоответствия.

Шаг 3: Регистрация изменений в базе данных

Простого добавления объекта в план обмена недостаточно для того, чтобы уже созданные элементы справочника улетели в периферийную базу. Система обмена работает по принципу «регистрации изменений». Если элемент справочника был создан до того, как вы внесли изменения в план обмена, система не считает его измененным.

Чтобы заставить систему отправить данные, необходимо выполнить принудительную регистрацию объектов:

  1. Воспользуйтесь стандартной обработкой Регистрация изменений для обмена. Обычно ее можно найти в разделе Администрирование -> Синхронизация данных.
  2. В этой обработке выберите нужный узел плана обмена.
  3. Найдите ваш самодельный справочник и выделите необходимые элементы (или все сразу).
  4. Нажмите кнопку Зарегистрировать.

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

Шаг 4: Проверка подписок на события

Если после регистрации данных они все равно не передаются, стоит проанализировать Подписки на события. В типовой УНФ регистрация данных при записи элемента обычно происходит автоматически через подписки типа ПриЗаписи... или ПередЗаписью....

Если ваши справочники не попадают в обмен автоматически при их создании или изменении в пользовательском режиме, проверьте, назначены ли для них соответствующие обработчики:

  1. В Конфигураторе откройте Общие -> Подписки на события.
  2. Посмотрите, какие подписки отвечают за регистрацию объектов в плане обмена.
  3. Если для ваших объектов не создано автоматическое срабатывание, вы можете программно зарегистрировать объект в процессе обмена, используя следующий метод в модуле объекта:

// Пример программной регистрации объекта для обмена
ПланыОбмена.Полный.ЗарегистрироватьИзменения(УзелОбмена, СсылкаНаВашОбъект);

Шаг 5: Анализ Журнала регистрации

Если обмен завершается без явных ошибок, но данные не появляются, всегда проверяйте Журнал регистрации (Администрирование -> Обслуживание -> Журнал регистрации). Отфильтруйте события по категории Обмен данными. Там вы сможете увидеть, не возникают ли ошибки при получении или отправке, например, из-за конфликта уникальных идентификаторов или отсутствия правил конвертации, если обмен настроен через КД 2.0 или КД 3.0.

Помните: РИБ требует строгого соблюдения порядка метаданных. Всегда обновляйте конфигурацию везде, прежде чем начинать активную пересылку данных. Если вы внесли правки в план обмена, убедитесь, что обе базы «знают» о новых объектах.

← На главную