При работе в программе «1С:Бухгалтерия государственного учреждения 2.0» пользователи часто сталкиваются с неприятной ситуацией: после очередного обновления конфигурации типовые документы, которые ранее проводились без проблем, начинают выдавать ошибку. Одной из таких специфических ошибок является Поле объекта не обнаружено (ПартияЕстьСубконто).
В данной статье мы подробно разберем, почему возникает эта проблема, как проанализировать стек вызовов и какими способами можно вернуть работоспособность системы. Чаще всего ошибка проявляется в документе «Оприходование МЗ по фактической стоимости», но может затронуть и другие документы, связанные с движением материальных запасов.
Проанализируем ситуацию: ошибка возникает в общем модуле БухгалтерскиеОперацииСервер. Это критически важный модуль, который отвечает за динамическое формирование проводок в момент записи или проведения документа. Текст ошибки обычно выглядит следующим образом:
{ОбщийМодуль.БухгалтерскиеОперацииСервер.Модуль(2129)}: ВызватьИсключение ТекстОшибки
Причина кроется в том, что алгоритм формирования бухгалтерских записей обращается к структуре параметров, в которой ожидается наличие свойства ПартияЕстьСубконто. Если это свойство не было инициализировано (например, из-за программной ошибки в релизе или некорректного объединения форм при обновлении), система аварийно завершает работу. Разберем основные шаги по устранению этой неисправности.
Как показывает практика и опыт участников профессиональных форумов, данная ошибка признана разработчиками 1С как «баг» конкретных релизов (например, ветки 2.0.79.х). Самый простой и эффективный способ решения — установка официального исправления (патча).
Рассмотрим, как это сделать по шагам:
EF_001xxxx, в описании которого будет указано исправление ошибки в модуле формирования проводок.Важный момент: если автоматическая загрузка не срабатывает, патч можно скачать вручную с портала техподдержки 1С и загрузить через тот же интерфейс установки обновлений.
Иногда ошибка Поле объекта не обнаружено может быть вызвана конфликтом расширений. Если в вашей базе установлены доработки или старые патчи от предыдущих релизов, они могут перехватывать работу общего модуля и использовать устаревшие структуры данных.
Проанализируем состояние расширений:
EF_ (это и есть патчи).В БГУ 2.0 настройки проводок хранятся не только в коде, но и в справочнике «Типовые операции». Иногда «кэш» настроек внутри документа мешает правильному чтению параметров субконто.
Рассмотрим методику «перевыбора» операции:
Этот нехитрый прием заставляет систему заново инициализировать структуру параметров для формирования проводок, что часто помогает избежать ошибки отсутствия поля.
Ошибка часто «выстреливает», когда в программном коде заложена проверка ведения партионного учета, но в самой базе настройки противоречивы. Проанализируем настройки учета материальных запасов:
Рассмотрим, где искать эти настройки:
Если в коде происходит обращение к ПартияЕстьСубконто, а счет учета в документе не предполагает наличие такого субконто или партионный учет выключен в глобальных настройках, это может приводить к программному сбою в универсальных процедурах.
Если вы имеете доступ к конфигуратору, можно локализовать проблему более точно. Разберем фрагмент логики, где обычно происходит сбой. В модуле БухгалтерскиеОперацииСервер существует процедура инициализации данных для заполнения субконто.
Примерный участок кода, требующий внимания при отладке:
// В структуре ПараметрыПроводки ожидается свойство ПартияЕстьСубконто
Если ПараметрыОперации.ПартияЕстьСубконто Тогда
// Логика заполнения партии
НоваяСтрока.СубконтоКт[ПараметрыОперации.НомерСубконтоПартия] = ТекущаяПартия;
КонецЕсли;
Чтобы быстро устранить ошибку «в коде» (если установка патча невозможна прямо сейчас), можно воспользоваться отладчиком и найти место, где формируется структура ПараметрыОперации. Проверьте, заполняется ли она через функцию УправлениеМатериальнымиЗапасами.ПолучитьПараметрыУчетаМЗ() или аналогичную. Если свойство отсутствует, его можно добавить программно в качестве временной меры, однако настоятельно рекомендуется использовать официальные патчи, так как они исправляют корень проблемы во всех связанных цепочках документов.
Подводя итог, можно сказать, что ошибка Поле объекта не обнаружено (ПартияЕстьСубконто) в БГУ 2.0 — это классический пример «ошибки релиза». Для ее устранения выполните следующие действия:
Следуя этим инструкциям, вы сможете оперативно восстановить работу бухгалтерии и успешно провести документы по оприходованию материальных запасов.