В процессе работы с конфигурациями 1С:ERP и 1С:ЗУП 3.1 бухгалтеры и разработчики часто сталкиваются с ситуацией, когда сумма премии, зафиксированная в регистре накопления ДанныеОНачисленияхДляРасчетаСреднегоЗаработкаОбщий, оказывается меньше фактически начисленной сотруднику суммы. Особенно ярко это проявляется в «сложных» месяцах, когда сотрудник уходил в отпуск или направлялся в командировку. Проанализируем, почему так происходит, как на это влияет хронология документов и какие настройки начислений за это отвечают.
Рассмотрим ситуацию: сотруднику начислена премия в размере 10 000 рублей. Однако при проведении документа в регистр сведений для расчета среднего заработка попадает сумма, например, 8 888 рублей. При этом в настройках премии на вкладке Приоритеты может быть пусто, а сама премия кажется независимой от отработанного времени. Выясним причину такого поведения системы, разобрав внутренние механизмы платформы.
Первое, на что мы должны обратить внимание — это формула самого начисления. В рассматриваемом примере используется формула:
ВыплатаПоДоговору / 0.87 * ВремяВДнях / НормаДнейПоГрафикуПолногоРабочегоВремени - ВыплаченоЗаМесяц / 0.87
Проанализируем эту конструкцию. Здесь явно присутствуют показатели ВремяВДнях и НормаДнейПоГрафикуПолногоРабочегоВремени. Это означает, что сумма премии уже рассчитывается пропорционально отработанному времени.
Когда система видит в формуле показатели времени, она автоматически связывает результат начисления с фактическим присутствием сотрудника на рабочем месте. Если в этом же периоде проведены документы «Командировка» или «Отпуск», они «съедают» рабочие дни из графика, уменьшая показатель ВремяВДнях.
Разберем важнейший методологический момент. В настройках вида расчета на вкладке Средний заработок есть реквизит «В базу начислений входит как». Для премий там обычно выбирается один из двух вариантов:
Если в вашей формуле уже заложено деление на норму и умножение на отработку (как в примере выше), а в настройках среднего заработка указано «Премия, учитываемая частично», возникает эффект двойного уменьшения. Программа сначала рассчитывает уменьшенную сумму в документе, а затем при записи в регистр среднего заработка еще раз применяет к этой сумме коэффициент отработанного времени. Чтобы этого избежать, для «самобалансирующихся» формул следует устанавливать признак «Премия, полностью учитываемая».
Многие пользователи замечают, что если распровести командировки, то премия в регистр ложится полностью. Рассмотрим, почему это происходит. Программа 1С:ERP при проведении документа «Премия» анализирует состояние регистров расчета и фактические записи о времени (табель) за указанный период.
Если командировки уже проведены, система видит «дыры» в рабочем периоде сотрудника. Даже если вкладка Приоритеты пуста, механизм расчета среднего заработка в коде конфигурации (в частности, в менеджере регистра ДанныеОНачисленияхДляРасчетаСреднегоЗаработкаОбщий) все равно может применять пропорцию, если период действия премии совпадает с периодом отсутствий.
Алгоритм работает примерно так:
ОтработаноДней / ДнейПоГрафику.Для технических специалистов будет полезно проанализировать работу общего модуля УчетСреднегоЗаработкаКлиентСервер или УчетСреднегоЗаработка. В частности, стоит обратить внимание на функции, определяющие необходимость уменьшения премии. Хотя в ЗУП и ERP эти модули могут незначительно отличаться, логика остается единой: система стремится соблюсти требования Постановления №922 о порядке расчета среднего заработка.
Посмотрим на пример логики, которая может срабатывать при определении доли премии:
// Упрощенная логика определения коэффициента для среднего
ДоляВремени = ?(НормаДней <> 0, ОтработаноДней / НормаДней, 0);
СуммаДляСреднего = СуммаНачисленная * ДоляВремени;
Если вы хотите изменить это поведение глобально (что не всегда рекомендуется), программисты иногда прибегают к расширениям для корректировки функции УменьшатьПремииПроцентомНачисленныеЗаВремяНеВходящееВРасчетныйПериод.
Чтобы премия попадала в регистр среднего заработка в нужном объеме, выполним следующие шаги:
Нормально ли, что командировки «вытесняют» премию в регистре среднего заработка? С точки зрения методологии 1С — да, если система считает, что премия начислена за период, который был отработан не полностью. Проблема решается не столько хронологией (хотя перепроведение документов после изменения настроек обязательно), сколько правильной комбинацией формулы расчета и настройки способа вхождения в базу среднего заработка.