Как исправить ошибку «Объект не найден» и сбои синхронизации при обмене УТ 10.3 — БП 3.0?

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

Синхронизация данных между Управление торговлей 10.3 и Бухгалтерией предприятия 3.0 — это классическая, но зачастую проблемная связка, особенно после обновления учетной системы (например, при переходе с БП 2.0 на БП 3.0). Одной из самых неприятных ситуаций является появление надписи <Объект не найден> в полях номенклатуры, контрагентов или складов внутри документов в базе-приемнике. Разберем детально, почему это происходит и как восстановить корректную работу обмена.

Выясняем причины появления «Объект не найден»

Когда мы видим <Объект не найден> (битую ссылку), это означает, что документ успешно перенесся, а объект справочника, на который он ссылается, — нет. Проанализируем основные сценарии возникновения этой ошибки:

  1. Нарушение связи в регистре сведений: Основной механизм сопоставления объектов в этой паре баз — регистр СоответствияОбъектовИнформационныхБаз. Если после обновления БП 2.0 на 3.0 внутренние идентификаторы (GUID) объектов изменились или записи в регистре были затерты, базы «теряют» друг друга.
  2. Режим выгрузки «Только ссылки»: В настройках обмена может быть установлен флаг выгрузки объектов только по ссылкам. Если самого объекта в приемнике еще нет, система создаст пустую ссылку без данных.
  3. Устаревшие правила обмена: Конфигурация УТ 10.3 обновляется реже, чем БП 3.0. Встроенные в УТ правила могут не поддерживать структуру метаданных новой версии Бухгалтерии.
  4. Ошибки регистрации изменений: Объект был изменен в УТ, но не попал в очередь на выгрузку, в то время как документ, его использующий, был зарегистрирован и передан.

Проверяем и корректируем регистр «Соответствия объектов информационных баз»

Посмотрим на состояние связей между базами. В обеих конфигурациях существует служебный регистр СоответствияОбъектовИнформационныхБаз. Именно в нем хранится информация о том, какому УникальныйИдентификатор (GUID) из УТ соответствует объект в БП.

Проанализируем ситуацию: если в БП 3.0 после переноса данных из 2.0 появились дубли или объекты были созданы заново вручную, старые связи в регистре становятся недействительными. Чтобы исправить это, мы можем воспользоваться следующими методами:

Актуализация правил обмена: встроенные против поставляемых

Рассмотрим важный нюанс, упомянутый в обсуждении. При настройке обмена часто возникает вопрос: какие правила использовать? Встроенные в конфигурацию УТ 10.3 правила часто оказываются неактуальными для свежих релизов БП 3.0.

Где взять актуальные правила: Самые свежие правила обмена (файл ExchangeRules.xml) всегда поставляются вместе с обновлением Бухгалтерии предприятия 3.0. Разберем по шагам, как их найти:

  1. Зайдем в папку шаблонов обновлений 1С (обычно это C:\Users\ИмяПользователя\AppData\Roaming\1C\1cv8\tmplts\...).
  2. Перейдем в каталог 1c\Accounting\[ВерсияВашейБП]\Обмены данными\Обмен с конфигурацией Управление торговлей, ред. 10.3.
  3. Найдем там архив с правилами.
  4. В УТ 10.3 в настройках обмена выберем пункт «Загрузить правила» и укажем путь к этому файлу.

Решение проблемы с регистрацией изменений

Если типовая обработка «Регистрация изменений для обмена» в УТ 10.3 перестала работать или не видит нужный план обмена, проанализируем альтернативные способы. В современных версиях конфигураций на базе БСП (Библиотеки стандартных подсистем) управление составом данных вынесено непосредственно в окно синхронизации.

Выясним, как принудительно отправить недостающие объекты:

  1. Откроем список настроек синхронизации.
  2. Нажмем кнопку «Состав отправляемых данных» (обычно иконка с монитором и карандашом).
  3. Найдем нужный справочник (например, Номенклатура), нажмем «Зарегистрировать» — «Все объекты справочника» или выберем конкретные позиции, которые отображаются как <Объект не найден>.

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


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

Проблема переноса иерархии и групп номенклатуры

Нередко пользователи замечают, что товары переносятся, а группы (папки) — нет. Это происходит из-за особенностей ПКО (Правил конвертации объектов) в правилах обмена. Если в правилах стоит флаг «Не замещать существующие объекты» или отключена передача родителя, иерархия может разрушиться.

Как это исправить: Посмотрим в настройки узла обмена в УТ 10.3. Проверьте наличие галочки «Выгружать аналитику по группам». Если она установлена, но группы не переносятся, попробуйте принудительно зарегистрировать сами элементы справочника «Группы номенклатуры» (если они выделены в отдельную сущность в плане обмена) или просто зарегистрировать корень справочника для полной перегрузки.

Настройка полноты выгрузки данных

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

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

Подведем итог: Для исправления ситуации нам необходимо обновить правила обмена, взяв их из дистрибутива БП 3.0, проверить корректность сопоставления в регистре сведений и принудительно зарегистрировать недостающие объекты в плане обмена. Совместное применение этих мер позволит восстановить целостность данных в обеих информационных базах.

← На главную