При работе в программе 1С:Зарплата и Управление Персоналом 3.1 пользователи и специалисты часто сталкиваются с вопросом: почему периоды (рабочие годы) для основного ежегодного отпуска и дополнительного отпуска за работу во вредных условиях труда не совпадают? Разберем эту ситуацию подробно, опираясь на нормы законодательства, логику разработчиков 1С и программный код системы.
Для начала проанализируем статью 121 ТК РФ. В ней четко разделены правила формирования стажа для разных видов отпусков:
Это ключевое различие. Рассмотрим ситуацию: сотрудник в течение рабочего года был на больничном 10 дней и в основном отпуске 28 дней. Для основного отпуска эти 38 дней входят в стаж. Но для отпуска за вредность — нет, так как в эти дни сотрудник фактически не подвергался воздействию вредных факторов. Следовательно, за этот рабочий год он "накопит" меньше дней вредного отпуска, чем за полный календарный год.
Выясним причину несовпадения: рабочий год основного отпуска — это период времени, а стаж для вредности — это сумма фактически отработанных дней, которая пересчитывается в месяцы. Поэтому дата окончания "вредного" года всегда будет отставать от основного.
Проанализируем, как программа автоматизирует этот процесс. В современных релизах 1С отошла от привязки вредного стажа к рабочему году сотрудника и перешла к расчету в разрезе календарных лет. Это обусловлено тем, что для расчета количества месяцев вредности необходимо знать среднемесячное количество рабочих дней, которое зависит от производственного календаря конкретного года.
Рассмотрим порядок расчета, который применяет система:
Посмотрим на пример, когда сотрудник принят не с начала года. В этом случае применяется пропорция. Допустим, сотрудник принят 06.02.2017. На период до конца года приходится 227 рабочих дней из 329 календарных. Общее количество дней в году — 365. Программа составит пропорцию:
227 (раб.дн) * 365 (календ.дн в году) / 329 (календ.дн периода) / 12 (мес) = 20.987
Это значение 20.987 станет знаменателем для определения количества месяцев вредного стажа за 2017 год.
Разберем ситуацию, которая часто вызывает споры между бухгалтерией и кадрами — округление на стыке календарных лет. Проанализируем пример:
За 2022 год сотрудник накопил 4 месяца и 14 дней вредного стажа. За 2023 год — 6 месяцев и 2 дня. Логика 1С часто работает по принципу "суммы округлений": За 2022 год остаток менее половины месяца (14 дней) может быть отброшен, и программа увидит только 4 полных месяца. В 2023 году — 6 месяцев. Итого 10 месяцев. Однако, если сложить время без округления, получится 10 месяцев и 16 дней, что при округлении вверх дает 11 месяцев.
Важно понимать: 1С:ЗУП стремится к расчету по календарным годам, и это может приводить к небольшим погрешностям в пользу работодателя или работника на границах лет. Чтобы избежать конфликтов, рекомендуется закрепить методику расчета в Локальном нормативном акте (ЛНА) предприятия.
Если вы программист и вам нужно понять, почему цифры в отчете "Остатки отпусков" не сходятся с ручным расчетом, следует обратить внимание на процедуру РассчитатьКоличествоДнейНакопительногоОтпуска. В этой процедуре система обходит каждый день периода и проверяет наличие вредности.
Проанализируем фрагмент логики определения отработанного дня:
ОтработаноЗаДень = ?(Выборка.ЧасыПлан = 0, 1,
?(Выборка.Дата >= Дата(2017, 4, 1),
Выборка.Часы / Выборка.ЧасыПлан,
?(Выборка.Часы / Выборка.ЧасыПлан >= 0.5, 1, 0)));
Здесь мы видим важный момент:
1. Если ЧасыПлан равны 0 (например, выходной), программа может засчитать 1, если в этот день была зафиксирована работа.
2. После 01.04.2017 расчет идет пропорционально отработанным часам (в соответствии с позицией Верховного Суда, что даже небольшое время во вредных условиях должно учитываться в стаж).
3. До этой даты действовало правило "более половины смены".
Эта переменная ОтработаноЗаДень накапливается и затем делится на среднемесячную норму, рассчитанную по производственному календарю. Если результат получается дробным, вступают в силу правила округления согласно Инструкции № 273/П-20 (менее половины месяца отбрасывается, более — округляется до целого).
Подведем итог нашему анализу:
Рассмотренный механизм позволяет системе максимально точно соблюдать требования законодательства, защищая работодателя от предоставления "вредного" отпуска авансом, что прямо запрещено разъяснениями Роструда.