Почему при обмене между 1С:Бухгалтерией и 1С:УТ 11 не регистрируются объекты и как это исправить?

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

При настройке синхронизации данных между конфигурациями 1С:Бухгалтерия предприятия 3.0 и 1С:Управление торговлей 11 администраторы и разработчики нередко сталкиваются с ситуацией, когда регламентный или ручной обмен отрабатывает без явных ошибок, однако изменения не передаются. При попытке вручную зарегистрировать документы или справочники через обработку РегистрацияИзмененийДляОбменаДанными система сообщает, что зарегистрировано 0 объектов из выбранных. Разберем по шагам, почему возникает эта ошибка и как восстановить штатную регистрацию данных.

Причины подавления регистрации объектов

В типовых конфигурациях на базе Библиотеки стандартных подсистем (БСП) регистрация изменений объектов жестко контролируется правилами регистрации (ПРО), настройками узла плана обмена и служебными регистрами. Выделим основные факторы, из-за которых платформа отсекает данные:

  1. Неполная инициализация узла при создании через прямое COM-подключение. Если мастер настройки синхронизации запускается из базы-приемника (например, из УТ с автоматическим созданием узла в БП через COM-соединение), в подключаемой базе могут не выполниться фоновые обработчики инициализации. В результате правила регистрации не загружаются в регистр сведений ПравилаДляОбменаДанными, а реквизиты узла остаются пустыми.
  2. Некорректно установленный режим выгрузки в узле плана обмена. В реквизитах узла (РежимВыгрузкиСправочников, РежимВыгрузкиДокументов) может быть установлено значение «Не выгружать» («Выгружать вручную»). В таком случае БСП программно отменяет регистрацию даже при попытке принудительного добавления объектов.
  3. Фильтрация по правилам регистрации (ПРО). Типовые правила отсекают объекты по дате начала синхронизации, организации, признаку проведения документов или пометкам на удаление.
  4. Блокировка в регистре «Настройки вариантов регистрации объектов». Если для конкретного узла выключена регистрация определенных таблиц метаданных, подписка на события ОбменДаннымиСобытия подавляет запись в таблицы изменений.

Способ 1. Изменение порядка первичной настройки синхронизации

Рассмотрим ключевую особенность прямого подключения между базами: при создании настройки со стороны УТ узел в БП инициализируется не полностью. Чтобы избежать этой ошибки, выполним перенастройку по правильному сценарию:

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

Способ 2. Принудительное обновление правил регистрации и проверка узла

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

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

Способ 3. Диагностика регистрации платформенными средствами

Выясним, на каком именно уровне отсекаются объекты — на уровне правил БСП или на уровне самого плана обмена платформы. Для этого выполним регистрацию изменений программно в обход прикладных фильтров через обработку «Групповое изменение реквизитов» или внешнюю консоль кода:


// Получаем узел плана обмена
УзелОбмена = ПланыОбмена.СинхронизацияДанныхЧерезУниверсальныйФормат.НайтиПоКоду("УТ");

Если ЗначениеЗаполнено(УзелОбмена) Тогда
    // Прямая регистрация изменений метаданных без проверок БСП
    ПланыОбмена.ЗарегистрироватьИзменения(УзелОбмена, Метаданные.Справочники.Номенклатура);
КонецЕсли;

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

← На главную