При расчете оплаты дополнительных выходных дней для ухода за детьми-инвалидами у сотрудников со сменным или скользящим графиком работы (например, 11 или 12 часов в смену) пользователи часто сталкиваются с ситуацией, когда документ Оплата дней ухода за детьми-инвалидами начисляет выплату не за полную продолжительность рабочей смены, а ровно за 8 часов в день. Разберем подробнее, почему программа ведет себя именно так, какими нормативными актами это регламентировано и какие варианты решения задачи существуют.
Проанализируем причину изменения типового алгоритма в программе. Логика расчета строго привязана к правилам возмещения расходов работодателю из средств Социального фонда России (СФР, ранее ФСС):
Посмотрим, от каких настроек в программе зависит поведение документа начисления. Алгоритм напрямую ориентируется на параметры графика работы сотрудника:
Рассмотрим корректные с точки зрения законодательства и учета варианты оформления таких дней без внесения изменений в программный код:
Доплата до среднего заработка за дни ухода за детьми-инвалидами) за счет собственных средств предприятия.Дополнительные выходные дни (оплачиваемые)). Сотрудник освобождается от всей рабочей смены.Выясним, где в конфигурации выполняется расчет оплачиваемых часов. В типовых версиях конфигурации расчет вынесен из формул плана видов расчета в программный модуль. Проанализируем фрагмент типового кода в общем модуле УчетПособийСоциальногоСтрахованияРасширенный:
Если РасчитываемаяСтрока.ВремяВЧасах = Истина Тогда
СвойстваГрафика = СвойстваОбщихГрафиков[РасчитываемаяСтрока.ОбщийГрафик];
Если СвойстваГрафика = Неопределено
Или Не ЗначениеЗаполнено(СвойстваГрафика.ДлительностьРабочейНедели) Тогда
ПродолжительностьДня = 8;
Иначе
ПродолжительностьДня = Мин(СвойстваГрафика.ДлительностьРабочейНедели / 5, 8);
КонецЕсли;
РасчитываемаяСтрока.Результат = СреднийЗаработокОбщий * КоэффициентИндексацииСреднегоЗаработка * ПродолжительностьДня * ВремяВДнях;
РасчитываемаяСтрока.ОплаченоЧасов = ПродолжительностьДня * ВремяВДнях;
Иначе
РасчитываемаяСтрока.Результат = СреднийЗаработокОбщий * КоэффициентИндексацииСреднегоЗаработка * ВремяВДнях;
КонецЕсли;
Если на предприятии принято решение оплачивать сотрудникам смены целиком за счет среднего заработка (принимая риски отказа фонда в возмещении сверхнормативных часов), логику расчета можно переопределить с помощью расширения конфигурации:
ВремяВДняхЧасах = РасчетЗарплаты.ЗначениеПоказателяПоИдентификатору(РасчитываемаяСтрока.Показатели, "ВремяВДняхЧасах");
РасчитываемаяСтрока.Результат = СреднийЗаработокОбщий * КоэффициентИндексацииСреднегоЗаработка * ВремяВДняхЧасах;
РасчитываемаяСтрока.ОплаченоЧасов = ВремяВДняхЧасах;
Разберем по шагам правила внедрения такой доработки:
&Вместо или &После.