При переходе с версии 1С:Зарплата и Управление Персоналом 2.5 на 3.1 многие пользователи сталкиваются с непониманием того, как программа отображает данные для расчета среднего заработка. Самый частый вопрос касается полей Отработано дней и Отработано дней (календ.) в форме редактирования среднего заработка. Если в старой версии программы мы привыкли видеть дробные числа (результат умножения на коэффициент 29.3), то в новой версии мы видим только целые числа. Разберемся детально, как это работает и почему логика программы изменилась.
Для начала проанализируем, зачем программе нужны две разные колонки для учета времени в рамках одного расчетного месяца:
Рассмотрим важный нюанс: почему в ЗУП 3.1 мы видим целые числа, такие как 30, 31 или 17, вместо привычных 29.3 или 15.4? Дело в том, что в версии 3.1 разработчики изменили архитектуру хранения данных. Программа хранит первичные сведения (сколько дней человек числился работающим), а вычисление итогового коэффициента для знаменателя происходит непосредственно в момент расчета документа или формирования печатной формы.
Выясним, какую формулу использует программа, если сотрудник отработал месяц не полностью. Допустим, человек устроился на работу не с начала месяца или в течение месяца находился в отпуске, на больничном или в командировке.
Логика расчета проста: из общего количества календарных дней в месяце (28, 29, 30 или 31) вычитаются календарные дни, приходящиеся на периоды отсутствия, которые по законодательству (Постановление №922) исключаются из расчета среднего заработка.
Проанализируем пример: Сотрудник устроился в организацию 15 марта. В марте 31 календарный день.
17.Теперь разберем, как программа превращает это целое число в дробное значение для знаменателя формулы среднего заработка. Проанализируем стандартную формулу:
Средний заработок = Начислено за расчетный период / (29.3 * Количество полных месяцев + ∑ Дни в неполных месяцах)
Для неполного месяца расчет доли календарных дней производится так:
Доля дней = 29.3 / [Календарные дни месяца] * [Отработано дней (календ.)]
Если мы подставим данные из нашего примера с мартом:
29.3 / 31 * 17 = 16.0645...
Таким образом, в интерфейсе вы видите целое число 17, но в математическом алгоритме расчета отпуска будет участвовать число 16.06. Это сделано для того, чтобы пользователь мог легко проверить данные по календарю, не прибегая к сложным вычислениям на калькуляторе.
Важно помнить, что не любое отсутствие уменьшает это число. Рассмотрим список периодов, которые вычитаются из календарных дней для среднего заработка:
Обратите внимание: Обычные выходные дни по графику сотрудника (субботы и воскресенья) не уменьшают количество календарных дней, если они не входят в период больничного или отпуска. Праздничные дни также не исключаются, если они просто являются нерабочими днями месяца.
Если у вас возникли сомнения в том, правильно ли программа определила количество календарных дней, выполним следующие шаги:
Отпуск.Такой подход позволяет наглядно увидеть, как целое число Отработано дней (календ.) превратилось в итоговый коэффициент. Посмотрим на примере кода, как условно мог бы выглядеть алгоритм проверки в конфигураторе (упрощенно):
// Пример логики расчета коэффициента для неполного месяца
Если МесяцОтработанНеПолностью Тогда
КоличествоДнейВМесяце = День(КонецМесяца(ДатаМесяца));
ОтработаноКалендарных = ПолучитьДанныеУчетаВремени(Сотрудник, ДатаМесяца);
РезультатДляЗнаменателя = (29.3 / КоличествоДнейВМесяце) * ОтработаноКалендарных;
КонецЕсли;
Разница между колонками заключается в их назначении: Отработано дней — это рабочее время для специфических расчетов, а Отработано дней (календ.) — это «сырые» данные о календарном времени работы для обычных отпусков. Переход на целые числа в интерфейсе 1С:ЗУП 3.1 — это сознательное решение разработчиков для повышения прозрачности учета. Теперь бухгалтер видит реальное количество календарных дней, которое он может сверить с табелем или календарем, а все сложные математические преобразования с коэффициентом 29.3 программа берет на себя «за кадром».