Почему не проводится отпуск в ЗУП 3.1.21.75 и возникает ошибка НДФЛ?

Программист 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом Налоговый учет
← На главную

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

Суть проблемы: ошибка НДФЛ при расчете отпуска

Основной симптом данной проблемы — появление сообщения об ошибке вида "Поле не входит в группу «СведенияОДоходахНДФЛ.ДоходМежрасчетногоПериода»" при попытке рассчитать или провести документ "Отпуск". Эта ошибка не позволяет корректно завершить расчет и провести документ, что блокирует учет отпускных начислений.

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


ИЛИ >СведенияОДоходахНДФЛ.ДоходМежрасчетногоПериода {ОбщийМодуль.УчетНДФЛ.Модуль(3994)}: ДанныеУчетаДоходов = Запрос.Выполнить.Выгрузить;
{Обработка.МенеджерРасчетаЗарплаты.МодульОбъекта(12860)}: НДФЛ = УчетНДФЛ.РассчитатьНалогПоОсновнойСтавке(
{Обработка.МенеджерРасчетаЗарплаты.МодульОбъекта(12831)}: НДФЛ = РезультатРасчетаНДФЛ;
{Обработка.МенеджерРасчетаЗарплаты.МодульОбъекта(10005)}: РассчитатьНДФЛ;
{Обработка.МенеджерРасчетаЗарплаты.МодульОбъекта(694)}: РассчитатьЗарплатуСлужебный;
{Документ.Отпуск.Форма.ФормаДокумента.Форма(2860)}: МенеджерРасчета.РассчитатьЗарплату;
{Документ.Отпуск.Форма.ФормаДокумента.Форма(2586)}: ПерезаполнитьНачисленияСотрудника(,,ПерезаполнитьНачисления);
{Документ.Отпуск.Форма.ФормаДокумента.Форма(1798)}: РассчитатьНачисленияНаСервере(Истина);
по причине: {(41, 10)}: Поле не входит в группу "СведенияОДоходахНДФЛ.ДоходМежрасчетногоПериода"

Эта ошибка, зарегистрированная под кодом EF_60001098 или 60001098, связана с некорректным расчетом НДФЛ в межрасчетных документах (таких как "Отпуск", "Больничный лист", "Начисление прочих доходов") в ситуации, когда в учетной политике организации активирован флажок расчета налога по прогрессивной шкале.

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

Мы проанализировали многочисленные обращения пользователей и пришли к выводу, что основной причиной данной ошибки является установленный флажок "Выполнять расчет НДФЛ по прогрессивной шкале" в настройках учетной политики организации. С 2021 года в Российской Федерации действует прогрессивная шкала НДФЛ, предполагающая ставку 13% для доходов до 5 млн. рублей и 15% для доходов, превышающих 5 млн. рублей, рассчитываемых нарастающим итогом с начала календарного года. В связи с этим в программе 1С:ЗУП появился соответствующий механизм расчета.

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

Также, в некоторых случаях, при восстановлении учета за предыдущие периоды (например, 2019 и 2020 годы) на версии 3.1.21.75, может проявляться похожая ошибка, но уже с другим полем: "Поле не входит в группу "СведенияОДоходахНДФЛ.Период" КОГДА (<>СведенияОДоходахНДФЛ.Период < &НачалоМесяцаРасчета". Это указывает на аналогичную проблему с формированием запросов к данным о доходах, но уже в контексте исторических данных.

Решения проблемы: от патчей до обновлений

Для устранения этой проблемы было предложено несколько решений, как официальных, так и временных обходных путей. Рассмотрим их подробнее.

  1. Установка патча EF_60001098

    Что это: Патч – это оперативное исправление, выпускаемое фирмой "1С" для устранения критических ошибок между выходами официальных релизов конфигурации. Патч EF_60001098 был специально разработан для решения описываемой проблемы с расчетом НДФЛ в межрасчетных документах при прогрессивной шкале.

    Как установить:

    1. Автоматическая установка: Если в вашей информационной базе подключен сервис "Интернет-поддержки" и в настройках сервиса установлен флажок "Загружать и устанавливать исправления (патчи) автоматически" (обычно это находится в разделе "Администрирование" - "Интернет-поддержка и сервисы" - "Обновление версии программы"), то патч должен быть установлен автоматически.
    2. Ручная установка: В случае отсутствия автоматической загрузки, вы можете скачать архив с исправлениями с официального сайта releases.1c.ru, распаковать его и установить вручную через программу. Для этого перейдите в раздел "Администрирование" - "Обслуживание" - "Обновление программы".

    Важно: После установки патча необходимо перезапустить сеанс программы, чтобы изменения вступили в силу. Список установленных патчей всегда можно проверить в разделе "Администрирование" - "Обслуживание" - "Обновление программы" по гиперссылке "Установленные исправления (патчи)". Имейте в виду, что при установке следующего релиза конфигурации, в котором ошибка уже будет исправлена, патч автоматически теряет актуальность и удаляется.

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

  2. Обновление конфигурации до актуальной версии

    Наиболее надежное решение: Ошибка 60001098 была официально исправлена в последующих версиях программы 1С:ЗУП. В частности, она устранена в релизах 3.1.18.455 и 3.1.21.76. Поэтому наиболее полным и рекомендованным решением является обновление вашей информационной базы до версии 3.1.21.76 или любой более поздней.

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

  3. Временные обходные пути (до установки патча или обновления)

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

    1. Временно снять флажок "Выполнять расчет НДФЛ по прогрессивной шкале":

      Этот метод помог некоторым пользователям временно решить проблему, особенно если в организации нет сотрудников с высокими доходами, превышающими 5 млн. рублей за год.

      Как это сделать:

      1. Перейдите в раздел "Настройка".
      2. Выберите "Организации" (или "Реквизиты организации", если у вас одна организация).
      3. Откройте "Учетная политика и другие настройки".
      4. Перейдите на вкладку "Учетная политика".
      5. Найдите флажок "Выполнять расчет НДФЛ по прогрессивной шкале" и временно снимите его.

      Последствия: После снятия флажка программа будет рассчитывать НДФЛ по плоской ставке (13%), даже если доходы сотрудника превысят 5 млн. рублей. В этом случае вам потребуется ручной контроль и, возможно, ручная донастройка НДФЛ для таких сотрудников, если они у вас есть. Этот способ является компромиссом и требует повышенного внимания к налоговым расчетам.

    2. Внесение изменений в код через расширение или ручная правка:

      Этот метод требует глубоких знаний платформы 1С и навыков программирования, поэтому рекомендуется только для квалифицированных специалистов. В форуме обсуждались случаи, когда пользователи вносили правки в процедуру РассчитатьНалогПоПлоскойСтавке в модуле УчетНДФЛАрхивныеАлгоритмы посредством расширения конфигурации.

      Пример участка кода, который мог быть причиной и требовал правки (общая логика):

      
      // Оригинальный фрагмент (упрощено)
      Если ПараметрРасчета.ИспользоватьПрогрессивнуюШкалу Тогда
          // Здесь формировался запрос, который давал ошибку
          ДанныеУчетаДоходов = Запрос.Выполнить().Выгрузить(); 
      Иначе
          // Здесь мог быть другой, рабочий код или пустой блок
      КонецЕсли;
      
      // Пример корректировки в расширении (упрощено)
      // Целью было обеспечить, чтобы даже при ИспользоватьПрогрессивнуюШкалу
      // запрос формировался корректно или вызывался обходной путь
      // Это мог быть перехват и изменение запроса, либо замена логики.
      

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

      Также важно обратить внимание на потенциальный "косяк" в такой ручной правке, упомянутый одним из участников обсуждения: если замена кода производилась только в блоке ИНАЧЕ условной конструкции, а код в блоке ЕСЛИ (который обрабатывает случай с прогрессивной шкалой) оставался без изменений, то ошибка продолжала возникать. Необходимо убедиться, что изменения затрагивают корректный логический путь.

Дополнительные рекомендации и контекст НДФЛ

При работе с НДФЛ и отпусками в 1С:ЗУП всегда следует учитывать несколько важных моментов:

  1. Прогрессивная шкала НДФЛ: Напомним, что с 2021 года действует прогрессивная шкала НДФЛ (13% до 5 млн. руб. и 15% свыше 5 млн. руб. нарастающим итогом). Ваша программа должна корректно это учитывать.
  2. Последовательность документов: Ошибки при расчете НДФЛ могут возникать, если нарушена последовательность работы с документами. Например, если документ "Начисление зарплаты и взносов" был проведен раньше, чем выполнен пересчет документа "Отпуск" за тот же месяц, это может привести к некорректному расчету НДФЛ и потребовать дополнительных действий, таких как создание документа-исправления.
  3. Месяц начисления отпуска: В документе "Отпуск" всегда важно правильно указывать "Месяц начисления" (месяц, в котором отпускные будут отражены в учете) для корректного формирования отчетности, например, 6-НДФЛ.
  4. Дата выплаты: Обратите внимание, что ошибка может быть вызвана специфическим сочетанием настроек межрасчетного периода и даты выплаты, которая может совпадать с датой выплаты зарплаты.

Таким образом, если вы столкнулись с проблемой непроведения отпуска в 1С:ЗУП 3.1.21.75 из-за ошибки НДФЛ, рекомендуем в первую очередь проверить наличие и применить патч EF_60001098, либо, что является наиболее надежным решением, обновить вашу конфигурацию до версии 3.1.21.76 или выше. Временные обходные пути следует использовать с осторожностью и под контролем квалифицированных специалистов.

← На главную