Почему при расчете сверхурочных в 1С:ЗУП 3.1 в стоимость часа попадают старые отмененные надбавки и как это исправить?

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

В связи с изменениями в законодательстве (Постановление Конституционного Суда РФ № 32-П) и обновлением механизмов расчета в 1С:Зарплата и Управление Персоналом 3.1, многие специалисты столкнулись с необходимостью перенастройки формул для оплаты сверхурочной работы. Теперь в расчете необходимо учитывать не только оклад, но и стимулирующие/компенсационные выплаты.

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

Суть проблемы и контекст задачи

Рассмотрим типовую ситуацию. Вы настроили формулу расчета сверхурочных, чтобы соответствовать новым требованиям законодательства. Формула выглядит примерно так:


((ОтработаноСверхурочноВПределах2Часов * 1.5 + (ОтработаноСверхурочно - ОтработаноСверхурочноВПределах2Часов) * 2) * СтоимостьДняЧасаСУчетомРазовыхНачислений)

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

Проблема заключается в том, как именно платформа 1С хранит значения показателей и как она их считывает при расчете зарплаты.

Диагностика: как увидеть "фантомные" начисления?

Автор вопроса справедливо спросил: "Как проверить/увидеть базу для начисления сверхурочки?". Стандартные отчеты по зарплате показывают только то, что начислено, но не расшифровывают состав предопределенных показателей на лету, хотя анализ плановых начислений мог бы выявить несоответствия в показателях.

Чтобы увидеть "мусорные" данные, которые влияют на расчет, нам необходимо обратиться к регистрам сведений, так как именно оттуда механизмы расчета зарплаты (РЗ) берут значения показателей.

Давайте выполним диагностику с помощью "Универсального отчета".

  1. Перейдем в раздел Администрирование (или "Все функции" / "Функции для технического специалиста") -> Отчеты -> Универсальный отчет.
  2. В настройках отчета выберем тип объекта: Регистр сведений.
  3. В качестве имени объекта выберем: Значения периодических показателей расчета зарплаты (для сотрудников).
  4. Обязательно установим отбор по конкретному сотруднику, у которого наблюдается проблема, и, желательно, отбор по периоду (чтобы видеть срез последних записей).
  5. Сформируем отчет.

В сформированном списке мы увидим таблицу с колонками: "Сотрудник", "Показатель", "Значение".

Что мы ищем? Внимательно изучите список показателей. Вероятнее всего, вы найдете там строку с показателем старой надбавки (например, "Процент надбавки за вредность"), значение которой не равно нулю, хотя само начисление у сотрудника отключено.

Почему так произошло? В архитектуре ЗУП 3.1 назначение планового начисления и установка значения показателя — это технически разные движения. Иногда (из-за ошибок в старых релизах, некорректного ввода данных или переносов) при отмене начисления значение показателя в регистре не очищается. Оно остается "висеть" в регистре. Пока формула опиралась только на СтоимостьЧаса (из совокупной тарифной ставки), это не мешало. Но новый показатель СтоимостьДняЧасаСУчетомРазовыхНачислений пытается собрать всё, что "активно" в регистрах, и подтягивает эти фантомные цифры.

Способы решения проблемы

Разберем несколько подходов к исправлению ситуации. Мы пойдем от менее рекомендуемых к самому надежному и правильному методу для закрытых периодов.

Способ 1: Перепроведение кадровых документов (Рискованный)

Если проблема возникла недавно, может помочь так называемый "освежанс" данных. Суть метода заключается в том, чтобы зайти в первоначальный документ, назначивший надбавку (Прием на работу или Кадровый перевод), временно удалить надбавку, вернуть её обратно и перепровести документ. Затем перепровести документ отмены надбавки.

Почему это опасно? Если документы датированы 2020 годом или любым другим закрытым периодом, перепроведение может привести к перерасчетам налогов, взносов и изменению данных в уже сданной отчетности. Это категорически не рекомендуется делать в "живой" базе для старых периодов.

Способ 2: Настройка показателя (Косметический)

В обсуждении было предложено зайти в настройки самого начисления (надбавки) и на вкладке "Налоги, взносы, бухучет" снять галочку Включать в ФОТ. Это может исключить показатель из некоторых расчетных баз, однако это не устраняет первопричину — наличие значения в регистре, и может повлиять на другие расчеты, где этот ФОТ нужен (если надбавка вдруг снова станет актуальной).

Способ 3: Корректировка регистра документом "Перенос данных" (Рекомендуемый)

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

Давайте разберем этот процесс по шагам:

  1. Откройте раздел Администрирование -> Переносы данных.
  2. Создайте новый документ Перенос данных.
  3. В поле "Месяц регистрации" укажите текущий месяц, в котором вы производите расчет зарплаты.
  4. Нажмите на кнопку Настройка состава регистров.
  5. В открывшемся окне перейдите на вкладку Регистры сведений и найдите регистр, который мы анализировали ранее: Значения периодических показателей расчета зарплаты (для сотрудников). Поставьте напротив него галочку и нажмите "ОК".
  6. В документе появится вкладка с названием этого регистра. Перейдите на неё.
  7. Добавьте новую строку:
    • Период: Укажите первое число текущего месяца (или дату, с которой нужно прекратить действие фантомного показателя).
    • Сотрудник: Выберите проблемного сотрудника.
    • Показатель: Выберите тот самый показатель из старой надбавки, который мы нашли в Универсальном отчете.
    • Значение: Оставьте пустым (0) или установите явный признак очистки, если он предусмотрен (в данном регистре достаточно нулевого значения или пустой записи, которая перекроет предыдущую). В некоторых версиях конфигурации важно именно наличие записи с пустым значением.
    • Организация: Укажите вашу организацию.
  8. Запишите и проведите документ.

Что мы сделали? Мы создали запись в регистре, которая говорит системе: "Начиная с этого месяца значение этого показателя для этого сотрудника равно нулю". Поскольку регистр периодический, система при расчете будет брать самую свежую запись на дату расчета (нашу запись) и увидит ноль. Старая запись от 2020 года останется в истории, но перестанет влиять на текущие расчеты.

Дополнительная проверка результата

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

  1. Вернитесь в документ Начисление зарплаты и взносов (или Начисление за первую половину месяца).
  2. Если документ уже был заполнен, необходимо пересчитать сотрудника. Лучше всего очистить строки по этому сотруднику и подобрать его заново, либо воспользоваться кнопкой "Пересчитать сотрудника".
  3. Проверьте расчет сверхурочных. Теперь формула: ... * СтоимостьДняЧасаСУчетомРазовыхНачислений должна возвращать корректную сумму, так как "паразитный" показатель больше не участвует в формировании стоимости часа.

Важные нюансы настройки показателя

Стоит также упомянуть о самой природе показателя СтоимостьДняЧасаСУчетомРазовыхНачислений. В отличие от стандартной "Стоимости дня/часа", которая опирается на плановый ФОТ и совокупную тарифную ставку, этот показатель рассчитывается динамически в момент проведения документа.

Чтобы он работал корректно, необходимо соблюдать приоритетность начислений:

Резюме

Если вы столкнулись с завышением базы при расчете сверхурочных по новой методике:

  1. Не спешите перепроводить документы прошлых лет — это чревато ошибками в учете.
  2. Используйте Универсальный отчет по регистру сведений Значения периодических показателей расчета зарплаты (для сотрудников) для поиска "зависших" показателей.
  3. Используйте документ Перенос данных для корректного обнуления этих показателей в текущем периоде.

Этот метод является наиболее безопасным и позволяет полностью контролировать состав совокупной тарифной ставки и базы для расчета сверхурочных в сложных случаях.

← На главную