Переход с платформы 1С:Предприятие 7.7 на современную «Бухгалтерию предприятия 3.0» — это ответственный процесс, который часто сопровождается техническими сложностями. Одной из наиболее распространенных проблем в последнее время стала ошибка «Поле объекта не обнаружено (ВыпускПродукции)», возникающая непосредственно в момент загрузки данных в приемник. Проанализируем ситуацию, выясним причины этого сбоя и рассмотрим пошаговые методы его устранения.
Разберем природу проблемы. Основная причина кроется в активном развитии конфигурации «Бухгалтерия предприятия 3.0». Начиная с релизов конца 2022 года (ветки 3.0.111 и выше), фирма «1С» провела масштабный рефакторинг подсистемы производства. Многие реквизиты, которые годами присутствовали в документах (таких как «Требование-накладная» или «Отчет производства за смену»), были либо удалены, либо переименованы, либо перенесены в категорию устаревших с префиксом Удалить.
В то же время правила обмена (файл ACC77_30.xml), которые используются для выгрузки из версии 7.7, не всегда обновляются синхронно с изменениями метаданных в «восьмерке». Когда обработка загрузки в версии 8.3 встречает в файле данных упоминание реквизита ВыпускПродукции, а в текущей конфигурации его уже нет (или он называется иначе), программа выдает ошибку и прекращает процесс.
Прежде чем предпринимать радикальные меры, нам необходимо локализовать ошибку. Посмотрим на ситуацию глазами системы. Для этого выполним следующие действия:
Требование-накладная или Счет на оплату.Выяснив тип документа, мы сможем понять, в какой части правил обмена происходит обращение к несуществующему полю.
Если мы обнаружили, что поле в конфигурации 8.3 теперь имеет другое имя, мы можем воспользоваться методом прямой правки данных. Рассмотрим, как это сделать без изменения самих правил обмена:
Предположим, в новой версии конфигурации реквизит был переименован в УдалитьВыпускПродукции. Мы можем заменить все вхождения старого имени на новое прямо в текстовом файле данных.
data.xml).ВыпускПродукции, а в поле «Заменить на» — УдалитьВыпускПродукции.УдалитьУдалитьВыпускПродукции.После замены сохраним файл и попробуем повторить загрузку в 1С 8.3.
Проанализируем опыт коллег, которые сталкивались с подобными задачами. Часто самым стабильным и надежным способом является загрузка данных не в самый актуальный релиз, а в тот, который был актуален на момент выпуска правил обмена. Разберем этот алгоритм по шагам:
ВыпускПродукции будет найдено, и данные загрузятся корректно.Преимущество этого метода в том, что при обновлении конфигурации «1С» сама выполнит необходимые процедуры миграции данных. Программа перенесет значения из старых (удаляемых) полей в новые структуры данных автоматически.
Иногда ошибка вызвана тем, что правила пытаются перенести документы производства за старые периоды, которые фактически не нужны для работы в новой базе. Если ваша задача — перенести только остатки, проанализируем настройки выгрузки:
Если ошибка исчезла, значит, проблема была именно в трансляции исторических документов. Для остатков по счетам 20, 21, 40, 43 наличие этого поля обычно не требуется.
При работе с кодом правил или анализе конфигурации в Конфигураторе, обратите внимание на следующие объекты, которые могут быть задействованы в процессе:
// В старых правилах часто встречается обращение к реквизиту:
Если Объект.ВыпускПродукции = Истина Тогда
// логика обработки
КонецЕсли;
// В новых версиях это может выглядеть так:
Если Объект.УдалитьВыпускПродукции = Истина Тогда
// старая логика, оставленная для совместимости
КонецЕсли;
Если вы решите редактировать правила обмена в программе «1С:Конвертация данных 2.1», вам потребуется найти ПКС (Правило Конвертации Свойства) для искомого поля и либо отключить его, либо изменить имя приемника на актуальное.
Подводя итог, отметим, что ошибка Поле объекта не обнаружено (ВыпускПродукции) — это следствие естественного развития программы. Наиболее рекомендуемым способом решения для крупных баз является использование промежуточного релиза 3.0.115/3.0.122 с последующим обновлением. Для разовых небольших переносов вполне подойдет метод массовой замены в XML-файле. Всегда делайте резервную копию базы перед началом любых манипуляций с данными!