При переходе с предыдущих версий программ (например, с "1С:Управление производственным предприятием" или "1С:Зарплата и управление персоналом 2.5") на редакцию 3.1, пользователи и консультанты часто сталкиваются с изменениями в логике расчета среднего заработка. Одна из распространенных проблем — некорректное распределение премий по разделам в справке-расчете среднего заработка. Рассмотрим детально ситуацию, когда премия, которая должна учитываться полностью, внезапно попадает в раздел премий, учитываемых пропорционально отработанному времени, и разберем способы решения этой задачи.
Давайте представим ситуацию: вы рассчитываете отпуск сотруднику. Все настройки начислений проверены: премии настроены как "Полностью учитываемые". Однако при формировании печатной формы "Расчет среднего заработка" вы замечаете странное поведение программы.
Премия, начисленная в первом месяце расчетного периода, попадает в Раздел 4. Премии, учтенные пропорционально времени, отработанному в расчетном периоде. При этом все последующие аналогичные премии за другие месяцы корректно отражаются в Разделе 3 (полностью учитываемые).
Рассмотрим конкретный пример для наглядности:
В результате расчета мы видим:
Возникает вопрос: почему идентичные начисления с одинаковыми настройками вида расчета ведут себя по-разному в зависимости от месяца начисления? Часто подозрение падает на ошибку переноса данных или ошибку релиза, но причина кроется в методологии учета и законодательстве.
Прежде чем искать ошибку в коде или регистрах, обратимся к нормативной базе. Расчет среднего заработка регламентируется Постановлением Правительства РФ от 24 декабря 2007 г. N 922 "Об особенностях порядка исчисления средней заработной платы".
В пункте 15 этого постановления сказано важное правило касательно учета премий и вознаграждений. Если время, приходящееся на расчетный период, отработано не полностью, то премии учитываются пропорционально времени, отработанному в расчетном периоде. Однако есть исключение:
Исключение составляют премии, начисленные за фактически отработанное время в расчетном периоде (ежемесячные премии, выплачиваемые вместе с заработной платой за данный месяц).
Это означает, что для полного учета премии системе 1С необходимо убедиться, что период, ЗА который начислена премия (базовый период), целиком и полностью находится ВНУТРИ расчетного периода отпуска.
В отличие от старых конфигураций, таких как КА 2.5, 1С:ЗУП 3.1 очень строго отслеживает два периода для каждого начисления:
Вернемся к нашему примеру. У нас есть премия, начисленная в ноябре 2022 года. Расчетный период отпуска начинается с 01.11.2022.
Если в базе данных указано, что ноябрьская премия начислена по итогам работы за октябрь 2022 года, то мы получаем следующую картину:
Мы видим, что базовый период премии (октябрь) не входит в расчетный период отпуска (начинается с ноября). С точки зрения алгоритмов программы и буквы закона, эта премия начислена за время, не входящее в расчетный период. Следовательно, она не может быть учтена как "начисленная за фактически отработанное время в расчетном периоде" и подлежит включению через механизм пропорциональности (Раздел 4), даже если в настройках начисления стоит флаг "Полностью учитываемая".
Чтобы убедиться, что проблема именно в этом, нам необходимо проанализировать данные в регистре накопления, который отвечает за сбор данных для среднего заработка (в некоторых случаях может потребоваться и перенос среднего заработка между сотрудниками). Этот регистр называется ДанныеОНачисленияхДляРасчетаСреднегоЗаработкаОбщий.
Рассмотрим, как это сделать:
Данные о начислениях для расчета среднего заработка (общий).В открывшемся списке обратите внимание на колонки:
Период — это дата регистрации (например, 30.11.2022).ДатаНачалаБазовогоПериода и ДатаОкончанияБазовогоПериода — это ключевые поля.Если вы видите, что для ноябрьской записи ДатаНачалаБазовогоПериода стоит 01.10.2022, то поведение программы абсолютно корректно. Именно это расхождение заставляет алгоритм применять пропорциональный расчет.
В коде конфигурации (общий модуль расчета среднего) присутствует проверка, похожая на следующую:
Если ЭтоПремияПроцентом(СтрокаНачислений.СоставнаяЧасть) Тогда
// Проверка: нужно ли уменьшать премию, если она за период вне расчетного
Если УменьшатьПремииПроцентомНачисленныеЗаВремяНеВходящееВРасчетныйПериод()
И ПремияНачисленаЗаВремяНеВходящееВРасчетныйПериод(СтрокаНачислений, НачалоПериода, ОкончаниеПериода) Тогда
ДоляВремениПремии = ДоляВремени; // Применяем пропорцию
КонецЕсли;
КонецЕсли;
Функция ПремияНачисленаЗаВремяНеВходящееВРасчетныйПериод возвращает Истина, если базовый период премии не пересекается или выходит за рамки периода расчета среднего заработка.
Мы настоятельно не рекомендуем вносить изменения в программный код конфигурации (закомментировать проверку или менять возвращаемое значение функций), так как это может привести к ошибкам в расчетах других сотрудников и проблемах при обновлении. Правильный путь — корректировка данных.
Поскольку проблема возникла после перехода с УПП на ЗУП 3.1, данные за прошлые периоды (в том числе за 2022 год) были загружены с помощью специализированных инструментов или документов "Перенос данных".
Выполним следующие шаги:
ДанныеОНачисленияхДляРасчетаСреднегоЗаработкаОбщий (название вкладки может быть сокращено, ориентируйтесь по колонкам).Важно: Делайте это изменение только в том случае, если согласно вашей учетной политике и положению о премировании данную выплату допустимо считать начислением "за ноябрь". Если же это строго премия "за октябрь", то программа считает правильно, и менять ничего не нужно — уменьшение среднего заработка законно.
Если документы переноса трогать нельзя или период жестко закрыт датой запрета редактирования, можно воспользоваться документом "Перенос данных" в режиме корректировки (создать новый вручную) или документом "Операция" (если речь о бухгалтерском учете, но для ЗУП нужен именно ввод данных в регистры).
Создадим новый документ "Перенос данных":
Данные о начислениях для расчета среднего заработка (общий).Подведем итог нашему анализу:
ДанныеОНачисленияхДляРасчетаСреднегоЗаработкаОбщий, приведя базовый период в соответствие с месяцем начисления (если это не противоречит сути выплаты).