В практике расчета заработной платы часто возникает ситуация, когда сотрудник принимается на неполную рабочую неделю, при этом кадровый отдел ведет штатное расписание и категорически отказывается уменьшать оклад по должности. В то же время сотруднику назначается надбавка фиксированной суммой, которая должна выплачиваться в полном объеме при отработке всех дней по его индивидуальному графику и уменьшаться только при реальных невыходах (например, при отпуске без сохранения оплаты). Разберем, с какой проблемой сталкиваются расчетчики в конфигурациях на платформе обычных форм (1С:ЗиКБУ 1.0 и 1С:ЗУП 2.5), выясним причины такого поведения системы и рассмотрим практические способы решения этой задачи.
Проанализируем конкретную расчетную ситуацию. Сотруднику установлен оклад по должности в размере 28 000 рублей. Он работает неполную рабочую неделю (например, 16 часов в неделю по вторникам, средам и четвергам). Также ему назначена надбавка фиксированной суммой 6 000 рублей. В расчетном месяце норма пятидневки составляет 20 рабочих дней, а по графику сотрудника запланировано 14 рабочих дней.
Требуется получить следующие результаты:
Сложность заключается в том, что в типовом механизме вытеснения и расчета по периоду действия показатели НормаВремениВДнях и НормаВремениВЧасах принимают ровно одно значение для расчетной строки сотрудника за конкретный месяц. Это значение жестко определяется переключателем в графике: «норма времени рассчитывается по этому графику» или «норма времени рассчитывается по другому графику». Если выбрать норму пятидневки, программа корректно рассчитает оклад, но разделит надбавку на 20 дней (сотрудник недополучит сумму надбавки даже без пропусков). Если же указать расчет нормы по собственному неполному графику, надбавка рассчитается верно, но оклад без пропусков посчитается как 28 000 / 14 * 14 = 28 000 рублей, что приведет к переплате.
Рассмотрим вариант решения, предложенный непосредственно на практике без доработки конфигурации в конфигураторе. Метод основан на разделении математической логики начислений через формулы видов расчета.
Разберем последовательность настройки по шагам:
НормаВремениВДнях будет равен количеству рабочих дней самого сотрудника (в нашем примере — 14 дней).Ставка (вид показателя — для сотрудника, вводится при кадровых изменениях, тип — числовой). Значение показателя рассчитывается как отношение ставки сотрудника к полной ставке (например, 0.7).
Тарифная ставка месячная / Норма времени в днях * Время в днях * Ставка
Фиксированная сумма / Норма времени в днях * Время в днях
Посмотрим на результат расчета при отсутствии отклонений. Показатель НормаВремениВДнях равен 14, ВремяВДнях равно 14. Оклад составит: 28 000 / 14 * 14 * 0.7 = 19 600 рублей. Надбавка составит: 6 000 / 14 * 14 = 6 000 рублей. При отклонении в 1 день отработано 13 дней: надбавка составит 6 000 / 14 * 13 = 5 571,43 рубля.
Обратите внимание на ограничения этого способа: при таком подходе оклад сотрудника за полностью отработанный месяц всегда будет одинаковым, так как плановая норма дней графика сокращается, но компенсируется множителем ставки. Однако стоимость одного дня в месяцах с разным количеством рабочих дней по производственному календарю может незначительно отклоняться от строгой нормы статьи 93 ТК РФ при расчете дней невыхода.
Разберем другие способы решения задачи, если требуется строгое соблюдение законодательства или если не хочется переписывать формулы предопределенных начислений:
Проанализируем, как аналогичный расчет устроен в редакциях 3.1. Разработчики переработали механизм учета рабочего времени, исключив необходимость создания искусственных показателей. В современных версиях программы предусмотрены независимые предопределенные показатели:
НормаДнейПоГрафикуПолногоРабочегоВремени — всегда возвращает количество дней по графику полного рабочего времени (пятидневке) независимо от настроек индивидуального графика сотрудника.НормаДней — возвращает плановые дни по собственному графику сотрудника.ДоляНеполногоРабочегоВремени — рассчитывается программой автоматически на основании свойств графика.Благодаря этому для оклада применяется деление на норму полного рабочего времени, а для надбавки — деление на норму дней самого графика сотрудника, что обеспечивает полностью автоматический и юридически корректный расчет без ручных корректировок.