При настройке синхронизации данных между конфигурациями 1С:Бухгалтерия предприятия 3.0 и 1С:Управление торговлей 11 администраторы и разработчики нередко сталкиваются с ситуацией, когда регламентный или ручной обмен отрабатывает без явных ошибок, однако изменения не передаются. При попытке вручную зарегистрировать документы или справочники через обработку РегистрацияИзмененийДляОбменаДанными система сообщает, что зарегистрировано 0 объектов из выбранных. Разберем по шагам, почему возникает эта ошибка и как восстановить штатную регистрацию данных.
В типовых конфигурациях на базе Библиотеки стандартных подсистем (БСП) регистрация изменений объектов жестко контролируется правилами регистрации (ПРО), настройками узла плана обмена и служебными регистрами. Выделим основные факторы, из-за которых платформа отсекает данные:
ПравилаДляОбменаДанными, а реквизиты узла остаются пустыми.РежимВыгрузкиСправочников, РежимВыгрузкиДокументов) может быть установлено значение «Не выгружать» («Выгружать вручную»). В таком случае БСП программно отменяет регистрацию даже при попытке принудительного добавления объектов.ОбменДаннымиСобытия подавляет запись в таблицы изменений.Рассмотрим ключевую особенность прямого подключения между базами: при создании настройки со стороны УТ узел в БП инициализируется не полностью. Чтобы избежать этой ошибки, выполним перенастройку по правильному сценарию:
Если пересоздавать синхронизацию нежелательно, проанализируем текущие настройки узла и обновим правила регистрации вручную:
ПравилаДляОбменаДанными.Выясним, на каком именно уровне отсекаются объекты — на уровне правил БСП или на уровне самого плана обмена платформы. Для этого выполним регистрацию изменений программно в обход прикладных фильтров через обработку «Групповое изменение реквизитов» или внешнюю консоль кода:
// Получаем узел плана обмена
УзелОбмена = ПланыОбмена.СинхронизацияДанныхЧерезУниверсальныйФормат.НайтиПоКоду("УТ");
Если ЗначениеЗаполнено(УзелОбмена) Тогда
// Прямая регистрация изменений метаданных без проверок БСП
ПланыОбмена.ЗарегистрироватьИзменения(УзелОбмена, Метаданные.Справочники.Номенклатура);
КонецЕсли;
Если после выполнения платформенного метода ЗарегистрироватьИзменения таблица изменений Справочник.Номенклатура.Изменения заполняется записями и выгрузка начинает видеть объекты, значит, проблема гарантированно вызвана логикой отсечения БСП (незаполненные правила регистрации, некорректный режим выгрузки или отборы в настройках узла).