Проблема возникновения ошибки Объект не найден при использовании формата EnterpriseData (ED) является довольно распространенной ситуацией в обменах между 1С:Бухгалтерия и 1С:ERP. Несмотря на то, что данные визуально присутствуют в обоих базах, система периодически «теряет» связь при загрузке. Давайте вместе разберем, с чем это связано и какие шаги помогут нам локализовать и устранить данную ошибку.
Первое, что нам необходимо понять — формат EnterpriseData работает на основе сопоставления идентификаторов. Если обмен проходит через файл, и мы видим данные в XML-структуре, но документ не проводится или не записывается с указанной ошибкой, значит, нарушена логика поиска объекта в базе-приемнике. Мы рассмотрим основные направления для поиска неисправности.
В конфигурациях 1С:ERP и 1С:Комплексная автоматизация ключевую роль в обмене играет регистр сведений Публичные идентификаторы синхронизируемых объектов. В отличие от типового обмена через ПланОбмена, где часто используется стандартный регистр Соответствие объектов информационных баз, здесь механизм работы с GUID имеет свои особенности.
Что нам нужно сделать:
Публичные идентификаторы синхронизируемых объектов. Если в нем есть записи, ссылающиеся на несуществующие объекты, это приведет к ошибкам при десериализации.1С v8.3.Как показывает практика, иногда проблема кроется не в данных, а в самом коде обмена, который был изменен в процессе доработок. В ситуациях, когда обмен «плавает» (сегодня работает, завтра нет), часто помогает полное обновление модуля из эталонной (разрабатываемой) конфигурации.
Рекомендация по работе с кодом:
Если вы вносили изменения в обмен «инкрементально», добавляя участки кода вручную в рабочую базу, велик риск накопления ошибок в логике выгрузки или загрузки. Попробуйте выполнить следующие действия:
ПриЗагрузке или ПередЗаписью) в модуле обмена. Убедитесь, что логика, которая должна подставлять банковские счета или договоры, не блокируется условиями, зависящими от помеченных на удаление объектов.Ошибка Объект не найден часто возникает при загрузке подчиненных объектов — например, договоров или банковских счетов. Если Контрагент (владелец) не был корректно сопоставлен при загрузке, все его подчиненные объекты автоматически становятся «битыми».
Порядок действий:
ДоговорыКонтрагентов в базе-источнике (БП). Убедитесь, что среди владельцев договоров нет объектов, помеченных на удаление или объектов, для которых не заданы корректные идентификаторы.Чтобы окончательно разобраться, почему происходит «порча» связей, мы рекомендуем выполнить следующие манипуляции:
Анализ GUID в файле обмена:
Возьмите GUID контрагента из XML-файла обмена и попробуйте найти этот объект в базе 1С:ERP с помощью консоли запросов. Если объект находится, но при обмене выдает «не найден», значит, проблема в регистре соответствий. Используйте такой запрос:
ВЫБРАТЬ
Т.Ссылка
ИЗ
Справочник.Контрагенты КАК Т
ГДЕ
Т.Ссылка В (ВЫБРАТЬ СсылкаИзРегистра ИЗ РегистрСведений.ПубличныеИдентификаторыСинхронизируемыхОбъектов)
Помните, что регулярные сбои (например, 2 ошибки из 50 документов) часто указывают на конфликт транзакций или проблемы с кэшем на стороне сервера приложений. Обязательно очистите кэш 1С на сервере и проверьте права доступа пользователя, под которым работает регламентное задание, так как ограничения RLS могут выборочно блокировать доступ к некоторым элементам справочников, вызывая ошибку «Объект не найден».
Работая вместе, мы сможем добиться стабильности обмена, своевременно выявляя причины сбоев на уровне идентификаторов и правил регистрации объектов.