После обновления конфигурации «Комплексная автоматизация» редакции 1.1 на релиз 1.1.81.1 пользователи часто сталкиваются со сбоем при попытке открывать, рассчитывать или редактировать документ «Начисление по больничному листу». В процессе работы программа выдает сообщение об ошибке: Поле объекта не обнаружено (ПримененныйВычетНаДетейОпекунов). Разберем подробно причину возникновения этой технической проблемы и рассмотрим способы ее устранения.
Проанализируем ситуацию, возникшую в релизе 1.1.81.1 конфигурации «Комплексная автоматизация» (а также в смежных конфигурациях «Зарплата и управление персоналом» 2.5 и «Управление производственным предприятием» 1.3 того же периода). В данном обновлении разработчики внедряли изменения по учету НДФЛ и стандартных налоговых вычетов на детей и опекунов.
В программном коде обработки документа «Начисление по больничному листу» появилось обращение к свойству ПримененныйВычетНаДетейОпекунов в коллекции колонок табличного поля. Однако разработчики забыли добавить соответствующее поле в структуру табличной части НДФЛ и разместить его на форме документа. Когда процедура формы пытается обратиться к объекту ЭлементыФормы.НДФЛ.Колонки для настройки видимости или значения реквизита, платформа 1С не находит нужное поле и генерирует исключение.
Рассмотрим основной и наиболее надежный вариант решения. Фирма «1С» выпустила официальный исправительный релиз 1.1.81.2, в котором реквизит и отображение на форме были полностью приведены в соответствие с кодом модуля.
Разберем по шагам порядок действий:
Поскольку конфигурация «Комплексная автоматизация» 1.1 разработана на обычных (не управляемых) формах, оперативные исправления через механизм расширений (патчи .efd) в ней не применяются. Установка официального релиза — стандартный и безопасный путь исправления проблемы без снятия с поддержки.
Посмотрим на способ оперативного исправления ошибки, если вызов обновления базы прямо сейчас невозможно выполнить, а больничный лист требуется провести незамедлительно.
Ошибка возникает из-за отсутствия нужной колонки в элементе формы ЭлементыФормы.НДФЛ. Добавим реквизит на форму через интерфейс Конфигуратора:
НДФЛ.ПримененныйВычетНаДетейОпекунов, чтобы колонка добавилась в структуру табличного поля на форме.Проанализируем альтернативный вариант, если форма документа не менялась. В модуле формы или документе можно временно закомментировать обращения к отсутствующему реквизиту.
Для этого откроем модуль формы документа, найдем фрагменты кода, где происходит обращение к колонке ПримененныйВычетНаДетейОпекунов, и установим символы комментария:
// Временно закомментировано до установки исправительного релиза 1.1.81.2
// ЭлементыФормы.НДФЛ.Колонки.ПримененныйВычетНаДетейОпекунов.Видимость = Ложь;
Обратите внимание: данный метод является временным решением. После установки официального обновления все внесенные в код изменения необходимо откатить к типовому состоянию.
Разберем важный технический момент: если вы применяли способы 2 или 3, база была частично снята с полной поддержки (установлен режим Изменения разрешены). При последующем накатывании официального обновления 1.1.81.2 соблюдайте правильный порядок действий:
НДФЛ.