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

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

При обновлении конфигураций «Комплексная автоматизация» (редакция 1.1) или «Управление производственным предприятием» (редакция 1.3) на релиз 1.1.81.1 пользователи и разработчики могут столкнуться с критической ошибкой при открытии документов Начисление по больничному листу или Начисление зарплаты работникам организаций:

{ОбщийМодуль.РаботаСДиалогамиЗК.Модуль(936)}: Поле объекта не обнаружено (ПримененныйВычетНаДетейОпекунов)

Разберем природу возникновения данной ошибки, рассмотрим по шагам варианты ее исправления для типовых и доработанных баз, а также проанализируем сопутствующие проблемы проведения документов с упрощенным учетом НДФЛ.

Причины возникновения ошибки

Проанализируем ситуацию: в связи с законодательными изменениями по НДФЛ произошло разделение стандартных налоговых вычетов на детей между родителями и опекунами/попечителями (введение кодов вычетов 126–149). Разработчики типового решения внесли изменения в процедуры общего модуля РаботаСДиалогамиЗК, добавив обращение к новым колонкам табличной части:


КолонкиНДФЛ.ПримененныйВычетНаДетейОпекунов.ТекстШапки = Представления[Справочники.ВычетыНДФЛ.Код130];

Однако в формах документов (например, в форме документа Начисление по больничному листу) соответствующие элементы управления в табличном поле НДФЛ добавлены не были. При обращении к несуществующему элементу формы через переданную коллекцию КолонкиНДФЛ платформа 1С генерирует исключительную ситуацию.

Способ 1. Обновление на исправленный релиз (рекомендуемый для типовых баз)

Фирма «1С» оперативно выпустила корректирующее обновление, зарегистрировав ошибку под номером 30152230. В релизе 1.1.81.2 для конфигурации «Комплексная автоматизация» и аналогичном релизе для УПП состав колонок формы документа НачислениеПоБольничномуЛисту был скорректирован.

Если база находится на типовой поддержке без значительных доработок, оптимальным решением будет установка релиза 1.1.81.2 или любого более свежего релиза конфигурации.

Способ 2. Добавление колонок через «Размещение данных» (для нетиповых конфигураций)

Если конфигурация сильно доработана и оперативно накатить следующий релиз невозможно, разберем корректный способ правки формы без изменения программного кода модулей:

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

После размещения реквизитов на форме коллекция элементов заполнится необходимыми объектами, и модуль РаботаСДиалогамиЗК отработает корректно без ошибок.

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

В экстренных случаях, когда требуется срочно выдать расчетные листки или провести документы, можно временно закомментировать обращения к отсутствующим колонкам в общем модуле РаботаСДиалогамиЗК. Рассмотрим пример процедур ОформитьКолонкиНДФЛ и ОтобразитьКолонкиНДФЛ:


Процедура ОформитьКолонкиНДФЛ(КолонкиНДФЛ) Экспорт
    // ... Заполнение массива ссылок и стандартных вычетов ...
    
    // Временно комментируем строки с отсутствующими в форме колонками:
    // КолонкиНДФЛ.ПримененныйВычетНаДетейОпекунов.ТекстШапки = Представления[Справочники.ВычетыНДФЛ.Код130];
    // КолонкиНДФЛ.ПримененныйВычетНаДетейДвойнойОпекунов.ТекстШапки = Представления[Справочники.ВычетыНДФЛ.Код135];
    // КолонкиНДФЛ.ПримененныйВычетНаДетейДвойнойВторойОпекунов.ТекстШапки = Представления[Справочники.ВычетыНДФЛ.Код143];
    // КолонкиНДФЛ.ПримененныйВычетНаВторогоРебенкаОпекунов.ТекстШапки = Представления[Справочники.ВычетыНДФЛ.Код131];
    // КолонкиНДФЛ.ПримененныйВычетНаВторогоРебенкаДвойнойОпекунов.ТекстШапки = Представления[Справочники.ВычетыНДФЛ.Код137];
    // КолонкиНДФЛ.ПримененныйВычетНаВторогоРебенкаДвойнойВторойОпекунов.ТекстШапки = Представления[Справочники.ВычетыНДФЛ.Код145];
    // КолонкиНДФЛ.ПримененныйВычетНаТретьегоРебенкаОпекунов.ТекстШапки = Представления[Справочники.ВычетыНДФЛ.Код132];
    // КолонкиНДФЛ.ПримененныйВычетНаТретьегоРебенкаДвойнойОпекунов.ТекстШапки = Представления[Справочники.ВычетыНДФЛ.Код139];
    // КолонкиНДФЛ.ПримененныйВычетНаТретьегоРебенкаДвойнойВторойОпекунов.ТекстШапки = Представления[Справочники.ВычетыНДФЛ.Код147];
КонецПроцедуры

Аналогично в процедуре ОтобразитьКолонкиНДФЛ комментируются вызовы добавления данных колонок в массивы блоков для группировки.

Ошибка проведения «Метод объекта не обнаружен (ВписатьСуммыВыплаченнойЗарплатыВУдержанныеНалоги)»

При последующих обновлениях (например, на релиз 1.1.82.1) в нетиповых конфигурациях может возникнуть сопутствующая ошибка при проведении документов:

{Документ.НачислениеПоБольничномуЛисту.МодульОбъекта}: Метод объекта не обнаружен (ВписатьСуммыВыплаченнойЗарплатыВУдержанныеНалоги)

Выясним причину этого сбоя: процедура ВписатьСуммыВыплаченнойЗарплатыВУдержанныеНалоги является экспортной и находится в общем модуле ПроведениеРасчетов. Она вызывается модулями документов начисления только в том случае, если в учетной политике по персоналу включена опция «При начислении НДФЛ принимать исчисленный налог к учету как удержанный» (упрощенный учет НДФЛ).

Ошибка возникает из-за некорректного трехстороннего объединения конфигураций при обновлении: модули документов обновились, а общий модуль ПроведениеРасчетов остался старой версии.

Для исправления необходимо:

  1. Выполнить сравнение и объединение конфигурации с типовым файлом поставки .cf актуального релиза.
  2. Найти в дереве сравнения общий модуль ПроведениеРасчетов и принудительно перенести изменения (или добавить недостающую процедуру ВписатьСуммыВыплаченнойЗарплатыВУдержанныеНалоги).
  3. Обновить конфигурацию базы данных.
← На главную