Как исправить ошибку «Поле объекта не обнаружено (ПримененныйВычетНаДетейОпекунов)» при открытии и расчете больничного листа в 1С:Комплексная автоматизация 1.1?

Программист 1С v8.3 (Обычные формы) 1С:Комплексная автоматизация Налоговый учет IT и автоматизация бизнеса
← На главную

После обновления конфигурации «Комплексная автоматизация» редакции 1.1 на релиз 1.1.81.1 пользователи часто сталкиваются со сбоем при попытке открывать, рассчитывать или редактировать документ «Начисление по больничному листу». В процессе работы программа выдает сообщение об ошибке: Поле объекта не обнаружено (ПримененныйВычетНаДетейОпекунов). Разберем подробно причину возникновения этой технической проблемы и рассмотрим способы ее устранения.

Выясним причину ошибки

Проанализируем ситуацию, возникшую в релизе 1.1.81.1 конфигурации «Комплексная автоматизация» (а также в смежных конфигурациях «Зарплата и управление персоналом» 2.5 и «Управление производственным предприятием» 1.3 того же периода). В данном обновлении разработчики внедряли изменения по учету НДФЛ и стандартных налоговых вычетов на детей и опекунов.

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

Способ 1. Обновление конфигурации до исправительного релиза (Рекомендуемый)

Рассмотрим основной и наиболее надежный вариант решения. Фирма «1С» выпустила официальный исправительный релиз 1.1.81.2, в котором реквизит и отображение на форме были полностью приведены в соответствие с кодом модуля.

Разберем по шагам порядок действий:

  1. Сделаем резервную копию информационной базы перед проведением работ.
  2. Установим официальное обновление конфигурации до версии 1.1.81.2 или более новой.
  3. Выполним обновление конфигурации базы данных в режиме Конфигуратора.

Поскольку конфигурация «Комплексная автоматизация» 1.1 разработана на обычных (не управляемых) формах, оперативные исправления через механизм расширений (патчи .efd) в ней не применяются. Установка официального релиза — стандартный и безопасный путь исправления проблемы без снятия с поддержки.

Способ 2. Размещение колонки на форме документа вручную

Посмотрим на способ оперативного исправления ошибки, если вызов обновления базы прямо сейчас невозможно выполнить, а больничный лист требуется провести незамедлительно.

Ошибка возникает из-за отсутствия нужной колонки в элементе формы ЭлементыФормы.НДФЛ. Добавим реквизит на форму через интерфейс Конфигуратора:

  1. Откроем конфигурацию в режиме Конфигуратор.
  2. Найдем документ «Начисление по больничному листу» и откроем его форму.
  3. Выделим табличную часть НДФЛ.
  4. Воспользуемся функцией Размещение данных (через контекстное меню табличного поля).
  5. Отметим флажком реквизит ПримененныйВычетНаДетейОпекунов, чтобы колонка добавилась в структуру табличного поля на форме.
  6. Сохраним изменения и обновим конфигурацию базы данных.

Способ 3. Временная корректировка программного кода

Проанализируем альтернативный вариант, если форма документа не менялась. В модуле формы или документе можно временно закомментировать обращения к отсутствующему реквизиту.

Для этого откроем модуль формы документа, найдем фрагменты кода, где происходит обращение к колонке ПримененныйВычетНаДетейОпекунов, и установим символы комментария:


// Временно закомментировано до установки исправительного релиза 1.1.81.2
// ЭлементыФормы.НДФЛ.Колонки.ПримененныйВычетНаДетейОпекунов.Видимость = Ложь;

Обратите внимание: данный метод является временным решением. После установки официального обновления все внесенные в код изменения необходимо откатить к типовому состоянию.

Особенности последующего обновления базы

Разберем важный технический момент: если вы применяли способы 2 или 3, база была частично снята с полной поддержки (установлен режим Изменения разрешены). При последующем накатывании официального обновления 1.1.81.2 соблюдайте правильный порядок действий:

  1. При обновлении воспользуемся режимом Сравнить, объединить с конфигурацией поставщика.
  2. Убедимся, что форма документа «Начисление по больничному листу» и его модуль полностью замещаются типовыми объектами поставщика из новой версии.
  3. После обновления проверим, чтобы на форме документа корректно отображались все колонки табличной части НДФЛ.
← На главную