При выполнении операции «Заполнить» в документе «Начисление зарплаты и взносов» пользователи версии 1С:ЗУП 3.1 могут столкнуться с критической ошибкой фонового задания. Текст ошибки обычно содержит указание на недопустимое значение параметра в общем модуле УчетНДФЛАрхивныеАлгоритмы и сообщение: Поле 'ПримененныйВычетРасходыНаЛекарства' объекта 'Строка таблицы значений' не обнаружено. Проанализируем причины возникновения этой проблемы и разберем по шагам методы её решения.
Ситуация возникает из-за конфликта в программном коде 1С, когда система обращается к устаревшим (архивным) алгоритмам расчета НДФЛ. В процессе работы процедура ЗаполнитьЗначенияСвойств пытается скопировать данные из одной таблицы значений в другую. В источнике данных колонка ПримененныйВычетРасходыНаЛекарства присутствует (так как она была добавлена в последних релизах для учета новых социальных вычетов), а в приемнике — структуре, сформированной старым алгоритмом — её нет. Это вызывает аварийное завершение процесса.
Одной из наиболее вероятных причин является ошибка самой платформы, которая некорректно обрабатывает динамические структуры данных в фоновых заданиях. Разберем этот вариант первым. Выясним, какая версия платформы используется в вашей информационной базе. По отзывам технических специалистов, данная проблема была зафиксирована в релизах ветки 8.3.20 и успешно исправлена, начиная с версии 8.3.20.1613 и выше.
Рекомендация: Если ваша платформа ниже указанной версии, выполните обновление. Часто это полностью устраняет программный сбой без необходимости внесения правок в данные учета.
Рассмотрим ситуацию, когда ошибка вызвана некорректным состоянием справочника физических лиц и сотрудников. Проанализируем список сотрудников, по которым не проходит расчет. Если в базе существуют «двойники» (два элемента справочника Сотрудники, привязанные к одному Физическому лицу, или два разных физических лица для одного человека), алгоритм расчета НДФЛ может «запутаться» при попытке собрать данные по вычетам из разных карточек.
Для исправления воспользуемся стандартной обработкой «Поиск и удаление дублей». Объединим найденные дубли, предварительно убедившись, что все документы перепривязаны к основному объекту. После этого попробуем перезаполнить документ начисления.
Посмотрим на практический «лайфхак», который часто помогает обойти программную ошибку без глубокого анализа кода. Ошибка часто возникает именно при использовании автоматического заполнения по всей организации (кнопка «Заполнить»), так как это инициирует сложный механизм формирования очередей фоновых заданий.
Разберем алгоритм обхода:
Ctrl+A).Как показывает практика, при таком способе добавления 1С использует иные методы инициализации таблиц, и поле ПримененныйВычетРасходыНаЛекарства создается корректно. Однако будьте внимательны: после такого начисления на вкладке «НДФЛ» могут появиться корректировки за прошлые периоды, которые необходимо проверить.
Проанализируем ситуацию, когда программа обращается к архивным алгоритмам из-за наличия «битых» данных в прошлых периодах. Выясним, нет ли в системе документов, дата которых ошибочно установлена далеко в прошлом (например, 2002 год вместо 2022).
Чаще всего виновником становится документ «Операция учета НДФЛ». Если в таком документе дата дохода указана неверно, система при расчете текущей зарплаты пытается пересчитать налог, начиная с этой аномальной даты, задействуя старые модули. Для поиска таких записей рекомендуем проверить регистр накопления НачисленияДоходыПоНДФЛ через «Функции для технического специалиста». Отфильтруем записи по дате и проверим, нет ли выпадающих периодов.
Если вышеуказанные способы не помогли, разберем технические аспекты обслуживания базы. Ошибка может быть следствием некорректного применения автоматических исправлений (патчей) или остатков в кэше сервера.
УчетНДФЛАрхивныеАлгоритмы.Поскольку ошибка прямо указывает на поле ПримененныйВычетРасходыНаЛекарства, проанализируем документы «Уведомление о праве на вычеты». Посмотрим, нет ли за текущий год уведомлений, в которых фигурируют социальные вычеты на медицинские услуги. Ошибка может возникать, если в документе заполнены суммы, но по какой-то причине не проинициализированы структуры данных для их распределения. Попробуем временно пометить такие уведомления на удаление и перезаполнить начисление зарплаты, чтобы локализовать проблемного сотрудника.
Подводя итог, можно сказать, что данная проблема является комплексной. Рекомендуется начинать с обновления платформы и использования метода «Подбор», а при их неэффективности — переходить к детальному аудиту регистров НДФЛ на предмет аномальных дат и дублей физических лиц.