Одной из наиболее неприятных ситуаций при настройке обмена данными между конфигурациями Управление торговлей 10 и Розница является ошибка, когда в документах вместо ссылок на справочники отображается запись <Объект не найден> с указанием уникального идентификатора (GUID). Это свидетельствует о том, что принимающая база получила ссылку на объект, но сам объект не был передан, либо не был корректно идентифицирован. Давайте вместе разберем, как локализовать и устранить эту проблему.
Первым делом нам необходимо проанализировать настройки в Конвертации данных 2.0. Зачастую проблема кроется в настройках правила конвертации объекта (ПКО). Рассмотрим следующие моменты:
ПКО галочка При выгрузке по ссылке не выгружать сам объект. Если эта настройка включена, система предполагает, что объект должен существовать в базе-приемнике заранее, и не включает его в текущий пакет данных. Если это не так, снимите флаг.Уникальному идентификатору, но правила поиска переопределены или содержат ошибки в обработчиках ПередПоиском или ПослеЗагрузки, объект не будет найден, и ссылка останется «битой».Часто объекты просто не попадают в очередь на отправку. Давайте проверим это по шагам:
Регистрация изменений для обмена данными.ПВД или событиях записи объектов).Если штатные средства не помогают, нам следует провести «глубинную» диагностику. Разберем порядок действий:
Анализ файлов XML: Выгрузите данные в файл вручную и откройте его любым текстовым редактором. Найдите в файле GUID проблемного объекта. Если его нет в структуре файла, значит, объект не попадает в выборку Правил Выгрузки Данных (ПВД). Если он есть, проверьте, в какой части файла он находится. Бывает, что структура пакета нарушена: ссылка на объект идет раньше, чем сам объект описан в файле, что при некоторых настройках может приводить к ошибкам.
Рассмотрим конфигуратор. Иногда справочник может быть исключен из состава плана обмена. Внимательно проверьте Состав плана обмена в конфигурации:
Если объект не включен в состав, он физически не может быть передан средствами механизмов обмена данными 1С. Также обратите внимание на Фильтры: если на узел обмена наложены ограничения (например, по подразделениям или складам), объект может отсекаться механизмом обмена до этапа формирования сообщения.
Не забываем про права доступа. Обмен данными часто выполняется под технической учетной записью. Если у этой учетной записи нет прав на Чтение или Интерактивное создание объектов определенного типа, то при загрузке данных система 1С может просто пропустить этот объект, выдав ошибку ссылочной целостности.
Для отладки обработчиков вы можете добавить в правила ЗаписьЖурналаРегистрации, чтобы видеть, на каком этапе «отваливается» выгрузка конкретного элемента:
// Пример логирования в обработчике ПередВыгрузкой
ЗаписьЖурналаРегистрации("Отладка обмена", УровеньЖурналаРегистрации.Информация, , ,
"Выгружаем объект: " + Объект.Ссылка.УникальныйИдентификатор());
Проанализируйте все уровни: от настроек ПКО и ПВД до прав доступа и состава плана обмена. Обычно последовательная проверка этих этапов позволяет выявить причину, почему конкретный GUID не «доходит» до базы-приемника.