В практике работы с конфигурацией 1С:Зарплата и Управление Персоналом (ЗУП КОРП) часто возникают ситуации, когда расчетные механизмы программы ведут себя логично с точки зрения алгоритмов, но неожиданно для пользователей. Одна из таких ситуаций — отсутствие автоматического начисления доплаты до среднего заработка в месяце, когда сотрудник получил крупную премию (например, к отпуску).
Давайте разберем эту ситуацию подробно, проанализируем алгоритмы расчета, выясним причины обнуления доплаты и рассмотрим способы настройки программы, чтобы результат соответствовал ожиданиям бизнеса.
Рассмотрим типовой сценарий, с которым сталкиваются расчетчики заработной платы:
Возникает вопрос: почему механизм доплаты перестал работать именно у тех сотрудников, кто получил премию?
Чтобы понять причину, нам необходимо заглянуть "под капот" расчетного механизма 1С. В типовой конфигурации ЗУП нет явной произвольной формулы для вида расчета с назначением Доплата до среднего заработка. Алгоритм зашит в программный код, но его логика проста и понятна.
Механизм доплаты работает по следующему принципу сравнения:
Доплата = Макс(0, СреднийЗаработок - ТекущийЗаработок);
Где:
Теперь проанализируем, что происходит, когда в месяце появляется премия к отпуску.
Если в настройках начисления премии указано, что она входит в базу для расчета среднего заработка, то с высокой долей вероятности она также попадает и в Расчетную базу для вычисления доплаты. В итоге получается следующая математика:
ТекущийЗаработок = ОкладЗаОтработанноеВремя + ПремияКОтпуску;
Поскольку премия к отпуску часто сопоставима по размеру с окладом (или составляет его существенную часть), величина ТекущийЗаработок становится значительно больше, чем СреднийЗаработок за тот же период времени.
Разберем это на примере логического условия:
Если (Оклад + Премия) > СреднийЗаработок Тогда
Доплата = 0; // Так как доплачивать нечего, сотрудник и так получил больше
Иначе
Доплата = СреднийЗаработок - (Оклад + Премия);
КонецЕсли;
Именно поэтому программа не считает доплату ошибкой. Она видит, что совокупный доход сотрудника в текущем месяце (благодаря премии) превышает его средний заработок, и, следовательно, компенсировать разницу не нужно.
Прежде чем вносить изменения, давайте убедимся, что причина именно в составе расчетной базы. Для этого выполним простой эксперимент в копии базы или непосредственно в рабочей базе (с осторожностью и последующим возвратом настроек).
На этой вкладке представлен список начислений, которые программа суммирует, чтобы получить "Текущий заработок" для сравнения со средним. Если вы видите там вашу "Премию к отпуску", значит, гипотеза верна: премия уменьшает (или обнуляет) размер доплаты.
Если политика компании подразумевает, что Доплата до среднего заработка должна выплачиваться независимо от наличия разовых премий (то есть мы сравниваем со средним только "голый" оклад), нам необходимо разорвать связь между премией и доплатой.
Разберем по шагам, как это сделать корректно:
Нам нужно изменить настройки самого начисления доплаты.
После этого необходимо пересчитать документ Начисление зарплаты и взносов за проблемный месяц. Теперь формула расчета изменится:
Доплата = Макс(0, СреднийЗаработок - Оклад);
// Премия больше не участвует в вычитаемом
Часто возникает путаница между двумя базами: базой для расчета среднего заработка и расчетной базой текущего начисления. Важно понимать разницу:
Если после настройки расчетной базы доплата все равно не появляется, давайте проверим еще один важный механизм 1С — вытеснение по периоду действия. Это настраивается на вкладке Приоритет.
Ситуация может выглядеть так: период начисления премии (даже если это разовое начисление) технически пересекается с периодом действия доплаты.
Разберем, что нужно проверить:
Если приоритеты настроены неверно, начисление премии может просто "отменять" действие доплаты за совпадающие дни, и расчет вообще не будет произведен, даже нулевой.
При настройке системы важно также правильно классифицировать саму выплату к отпуску. Это влияет не только на расчеты в 1С, но и на налогообложение и соблюдение законодательства (Постановление Правительства РФ № 922).
Рассмотрим два варианта:
Вариант А: Премия к отпуску.
Если выплата прописана в Положении об оплате труда, зависит от оклада и трудовых показателей, она считается частью зарплаты. В этом случае:
Вариант Б: Материальная помощь к отпуску.
Если выплата носит социальный характер и не связана напрямую с результатами труда, её можно оформить как Материальную помощь. В этом случае:
Если вы являетесь специалистом по внедрению или системным администратором, вам может потребоваться аргументировать поведение программы пользователям. Используйте следующие доводы:
"Программа работает корректно согласно типовому алгоритму. Доплата до среднего призвана компенсировать потерю в заработке при переводе на другую работу. Поскольку в этом месяце сотрудник получил премию, входящую в систему оплаты труда, его фактический доход оказался выше среднего, и потери заработка не произошло. Следовательно, доплата равна нулю."
Если же руководство настаивает на выплате доплаты, решение, которое мы рассмотрели (исключение премии из расчетной базы доплаты), является технически безопасным и не нарушает алгоритмы расчета будущих отпускных.