При работе в 1С:Зарплата и Управление Персоналом 3.1 пользователи часто сталкиваются с вопросом корректности заполнения строки «Отработано часов по пятидневной неделе» в расчетах среднего заработка. Рассмотрим, почему при графике неполного рабочего времени (например, 4 часа в день) программа продолжает показывать полную норму по пятидневке, и как это влияет на расчеты.
В первую очередь, давайте определим источник данных. Вся информация о времени, используемая для исчисления среднего заработка, хранится в регистре накопления Данные о времени для расчета среднего (общий). Именно этот регистр является основным «фундаментом» для системы при формировании отчетов и расчете начислений.
Многие пользователи ошибочно полагают, что эта строка должна отражать фактическое время работы конкретного сотрудника. Однако это не так. Разберем по шагам природу этого показателя:
Рассмотрим ситуацию, когда сотрудник работает 4 часа в день, вместо 8. Несмотря на то, что фактическая выработка сотрудника меньше, в строке «Отработано часов по пятидневной неделе» все равно будет стоять полная норма (например, 178 часов при 8-часовом дне). Это не является ошибкой программы.
Фактическое время, отработанное сотрудником, фиксируется системой в отдельной строке — «Отработано часов». Именно эта строка содержит данные, соответствующие индивидуальному графику сотрудника (в нашем примере — по 4 часа в день). Таким образом, разделение на «норму по пятидневке» и «фактические часы» позволяет программе корректно выполнять вычисления среднего заработка для сотрудников с любыми графиками.
Проанализируем алгоритм работы: при использовании суммированного учета времени, коэффициенты пересчета премий рассчитываются с учетом соотношения отработанного времени к норме. Если бы программа брала только фактические часы, без сравнения их с нормой предприятия, расчеты при сложных графиках были бы математически неверными.
Для понимания того, как программа взаимодействует с регистрами, можно представить логику работы следующим образом (псевдокод):
// Пример логики получения данных для среднего
Выборка = РегистрыНакопления.ДанныеОВремениДляРасчетаСреднего.Выбрать();
Пока Выборка.Следующий() Цикл
НормаПятидневка = Выборка.ОтработаноЧасовПоПятидневке;
ФактЧасы = Выборка.ОтработаноЧасов;
// Коэффициент для премии = Факт / Норма
КонецЦикла;
Подводя итог нашей совместной работы, можно выделить основные тезисы:
Теперь, когда мы разобрали логику системы, вы можете быть уверены, что настройки программы верны, а отчеты по среднему заработку сформированы в соответствии с требованиями законодательства и методологией 1С.