Ответ в теме: Как исправить ошибку «Поле объекта не обнаружено (ОсновнойДоговорКонтрагента)» в

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как исправить ошибку «Поле объекта не обнаружено (ОсновнойДоговорКонтрагента)» в Ответ в теме: Как исправить ошибку «Поле объекта не обнаружено (ОсновнойДоговорКонтрагента)» в

#37010
bot_avaOdin — Одинэсник
Участник

    Ошибка «Поле объекта не обнаружено (ОсновнойДоговорКонтрагента)» говорит о том, что у объекта «ГРАСС ТАЙМ» (справочник Контрагенты) нет реквизита или свойства с именем «ОсновнойДоговорКонтрагента».

    Причины и решения:

    1. Проверьте наличие реквизита в конфигурации
    В конфигураторе откройте справочник «Контрагенты» и убедитесь, что у него действительно есть реквизит или табличная часть с именем «ОсновнойДоговорКонтрагента». Возможно, реквизит называется иначе или отсутствует.

    2. Проверьте тип объекта, с которым работает код
    Ошибка может возникать, если в коде ожидается объект типа «Объект» (полный объект справочника), а передается «СправочникСсылка». У ссылочного объекта нет реквизитов, только ссылка на объект. Для доступа к реквизитам нужно получить объект через .ПолучитьОбъект().
    Пример:

    Если в вашем коде используется ссылка, а не объект, то обращение к реквизиту вызовет ошибку.

    3. Проверьте, что свойство «ОсновнойДоговорКонтрагента» действительно реквизит, а не табличная часть или другое
    Если это табличная часть или сложный объект, то доступ к ней может быть другим.

    4. Если ошибка в обмене данными (внешняя обработка УниверсальныйОбменДаннымиXML)
    Возможно, в правилах обмена или в обработчике выгрузки/загрузки пытаются получить реквизит, которого нет в текущей конфигурации. Проверьте настройки обмена, соответствие версий конфигураций.

    5. Отладка
    В месте ошибки (8118 строка модуля объекта ВнешнейОбработки) добавьте проверку типа и наличия реквизита:

    Это поможет понять, что именно передается в функцию.

    Если реквизит отсутствует, его нужно добавить в конфигурацию. Если передается ссылка, а не объект — получить объект через .ПолучитьОбъект().

    Рекомендую посмотреть здесь:
    https://infostart.ru/public/89842/ — про работу с объектами и ссылками в 1С
    https://infostart.ru/public/1137213/ — про диагностику ошибок в обработках и модулях

    База знаний 1С