При настройке обмена данными между конфигурациями 1С:Розница и 1С:Бухгалтерия часто возникают ситуации, когда процесс прерывается на этапе выгрузки с ошибкой вида Поле объекта не обнаружено или Тип не определен. В данной статье мы разберем причины возникновения таких ошибок и поэтапно рассмотрим способы их устранения.
Зачастую разработчики и системные администраторы сталкиваются с тем, что программа ссылается на реквизит, которого, на первый взгляд, нет в конфигурации. Например, ошибка Поле объекта не обнаружено (ТабачнаяПродукция) при выгрузке из 1С:Розница сбивает с толку, так как данный реквизит является специфическим для 1С:Бухгалтерия. Проблема кроется в правилах конвертации данных (файлы XML), которые используются для трансляции данных между базами.
Главная причина — использование устаревших или несовместимых правил. В процессе обновления конфигураций состав метаданных меняется: справочники переименовываются, реквизиты удаляются или добавляются. Если правила обмена не соответствуют актуальной структуре метаданных, механизм выгрузки будет пытаться обратиться к несуществующим объектам.
Разберем, как действовать, чтобы привести обмен в рабочее состояние:
1С:Розница и 1С:Бухгалтерия обновлены до актуальных релизов. Механизм обмена напрямую зависит от структуры данных в обеих базах.Правила для обмена данными в обеих базах.Использовать типовые правила. Это заставит систему использовать встроенный, наиболее свежий набор правил для текущего релиза.Конвертация данных 2.1.Правила конвертации объектов (ПКО) и Правила конвертации свойств (ПКС), вызывающие ошибку.ТабачнаяПродукция или Банки прописано в алгоритмах конвертации. Если эти данные не критичны для обмена, удалите соответствующие строки кода в обработчиках.Тип не определен (СправочникСсылка.Банки), это явный признак того, что в правилах ожидается наличие справочника, который в вашей текущей базе называется иначе (например, КлассификаторБанков). Необходимо либо переименовать объект в правилах, либо изменить настройки ПКО так, чтобы они ссылались на актуальный справочник вашей конфигурации.Когда вы работаете с отраслевыми решениями, такими как Розница с доработками, типовые правила от 1С могут конфликтовать с изменениями, внесенными разработчиком отраслевого решения. В этом случае мы рекомендуем:
1С:Розница как базу, и при помощи Конвертации данных вручную сопоставьте новые реквизиты, добавленные вашим интегратором.Помните, что использование отладчика является мощным инструментом для поиска проблемных мест. Если ошибка повторяется, запустите сеанс 1С в режиме отладки и установите точку остановки в обработчике, отвечающем за выгрузку номенклатуры. Проанализируйте переменные — зачастую вы увидите, что в момент выгрузки программа пытается прочитать значение реквизита, который отсутствует в текущем объекте метаданных.
Процесс отладки позволяет увидеть структуру объекта изнутри и понять, какой именно вид номенклатуры или свойство провоцирует ошибку. Будьте внимательны к названиям справочников: СправочникСсылка.Банки в 1С:Бухгалтерия и СправочникСсылка.КлассификаторБанков в 1С:Розница — это классический пример того, как несовпадение метаданных приводит к остановке процесса обмена.