Почему премия попадает в учет пропорционально времени (раздел 4) при расчете отпуска в ЗУП 3.1 после перехода?

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

При переходе с предыдущих версий программ (например, с "1С:Управление производственным предприятием" или "1С:Зарплата и управление персоналом 2.5") на редакцию 3.1, пользователи и консультанты часто сталкиваются с изменениями в логике расчета среднего заработка. Одна из распространенных проблем — некорректное распределение премий по разделам в справке-расчете среднего заработка. Рассмотрим детально ситуацию, когда премия, которая должна учитываться полностью, внезапно попадает в раздел премий, учитываемых пропорционально отработанному времени, и разберем способы решения этой задачи.

Описание проблематики

Давайте представим ситуацию: вы рассчитываете отпуск сотруднику. Все настройки начислений проверены: премии настроены как "Полностью учитываемые". Однако при формировании печатной формы "Расчет среднего заработка" вы замечаете странное поведение программы.

Премия, начисленная в первом месяце расчетного периода, попадает в Раздел 4. Премии, учтенные пропорционально времени, отработанному в расчетном периоде. При этом все последующие аналогичные премии за другие месяцы корректно отражаются в Разделе 3 (полностью учитываемые).

Рассмотрим конкретный пример для наглядности:

В результате расчета мы видим:

  1. Премия, начисленная в ноябре 2022 года, попадает в Раздел 4 (учет пропорционально).
  2. Премии с декабря 2022 по октябрь 2023 года попадают в Раздел 3 (полный учет).

Возникает вопрос: почему идентичные начисления с одинаковыми настройками вида расчета ведут себя по-разному в зависимости от месяца начисления? Часто подозрение падает на ошибку переноса данных или ошибку релиза, но причина кроется в методологии учета и законодательстве.

Анализ законодательной базы (Постановление № 922)

Прежде чем искать ошибку в коде или регистрах, обратимся к нормативной базе. Расчет среднего заработка регламентируется Постановлением Правительства РФ от 24 декабря 2007 г. N 922 "Об особенностях порядка исчисления средней заработной платы".

В пункте 15 этого постановления сказано важное правило касательно учета премий и вознаграждений. Если время, приходящееся на расчетный период, отработано не полностью, то премии учитываются пропорционально времени, отработанному в расчетном периоде. Однако есть исключение:

Исключение составляют премии, начисленные за фактически отработанное время в расчетном периоде (ежемесячные премии, выплачиваемые вместе с заработной платой за данный месяц).

Это означает, что для полного учета премии системе 1С необходимо убедиться, что период, ЗА который начислена премия (базовый период), целиком и полностью находится ВНУТРИ расчетного периода отпуска.

Техническая реализация в ЗУП 3.1

В отличие от старых конфигураций, таких как КА 2.5, 1С:ЗУП 3.1 очень строго отслеживает два периода для каждого начисления:

  1. Период регистрации: когда выплата была начислена (дата документа начисления).
  2. Базовый период: за какой период работы она начислена (результаты какого месяца мы оплачиваем).

Вернемся к нашему примеру. У нас есть премия, начисленная в ноябре 2022 года. Расчетный период отпуска начинается с 01.11.2022.

Если в базе данных указано, что ноябрьская премия начислена по итогам работы за октябрь 2022 года, то мы получаем следующую картину:

Мы видим, что базовый период премии (октябрь) не входит в расчетный период отпуска (начинается с ноября). С точки зрения алгоритмов программы и буквы закона, эта премия начислена за время, не входящее в расчетный период. Следовательно, она не может быть учтена как "начисленная за фактически отработанное время в расчетном периоде" и подлежит включению через механизм пропорциональности (Раздел 4), даже если в настройках начисления стоит флаг "Полностью учитываемая".

Диагностика проблемы в программе

Чтобы убедиться, что проблема именно в этом, нам необходимо проанализировать данные в регистре накопления, который отвечает за сбор данных для среднего заработка (в некоторых случаях может потребоваться и перенос среднего заработка между сотрудниками). Этот регистр называется ДанныеОНачисленияхДляРасчетаСреднегоЗаработкаОбщий.

Рассмотрим, как это сделать:

  1. Откройте "Все функции" (или "Функции для технического специалиста").
  2. Найдите регистр накопления Данные о начислениях для расчета среднего заработка (общий).
  3. Сделайте отбор по конкретному сотруднику и периоду регистрации (в нашем случае — ноябрь 2022).

В открывшемся списке обратите внимание на колонки:

Если вы видите, что для ноябрьской записи ДатаНачалаБазовогоПериода стоит 01.10.2022, то поведение программы абсолютно корректно. Именно это расхождение заставляет алгоритм применять пропорциональный расчет.

В коде конфигурации (общий модуль расчета среднего) присутствует проверка, похожая на следующую:


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

Функция ПремияНачисленаЗаВремяНеВходящееВРасчетныйПериод возвращает Истина, если базовый период премии не пересекается или выходит за рамки периода расчета среднего заработка.

Решение проблемы

Мы настоятельно не рекомендуем вносить изменения в программный код конфигурации (закомментировать проверку или менять возвращаемое значение функций), так как это может привести к ошибкам в расчетах других сотрудников и проблемах при обновлении. Правильный путь — корректировка данных.

Вариант 1. Корректировка документа переноса (Рекомендуемый)

Поскольку проблема возникла после перехода с УПП на ЗУП 3.1, данные за прошлые периоды (в том числе за 2022 год) были загружены с помощью специализированных инструментов или документов "Перенос данных".

Выполним следующие шаги:

  1. Перейдите в раздел Администрирование — Переносы данных.
  2. Найдите документ переноса, который содержит данные по начислениям зарплаты за ноябрь 2022 года. Обычно в комментарии к документу указан месяц, например "ЗП_СЗ за Ноябрь 2022".
  3. Откройте документ и перейдите на вкладку, соответствующую регистру ДанныеОНачисленияхДляРасчетаСреднегоЗаработкаОбщий (название вкладки может быть сокращено, ориентируйтесь по колонкам).
  4. Найдите строки с премиями.
  5. Проверьте колонку "Дата начала базового периода". Если там стоит 01.10.2022, измените её на 01.11.2022 (и дату окончания соответственно на 30.11.2022). Для ускорения процесса можно использовать редактирование движений в регистре.
  6. Проведите документ.

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

Вариант 2. Корректировка регистров (Если период закрыт)

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

Создадим новый документ "Перенос данных":

  1. Настройте состав регистров: выберите Данные о начислениях для расчета среднего заработка (общий).
  2. Добавьте запись "Сторно" (с минусом) для ошибочной строки: полностью скопируйте данные из регистра с неверным базовым периодом, но поставьте сумму и прочие ресурсы с минусом.
  3. Добавьте правильную запись: скопируйте те же данные, но с положительной суммой и исправленными датами базового периода (например, ноябрь вместо октября).

Выводы

Подведем итог нашему анализу:

← На главную