Почему в 1С:ЗУП 3.1 неправильно рассчитываются остатки отпуска и пропадает первый месяц (2.33 дня) после ввода начальных остатков?

Бухгалтер 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом
← На главную

При переходе на программу «1С:Зарплата и управление персоналом» (редакция 3.1) многие пользователи и расчетчики сталкиваются с неприятным сюрпризом: при формировании отчетов по остаткам отпусков у некоторых сотрудников программа некорректно рассчитывает дни. Очень часто «теряется» ровно один месяц (2.33 дня) в самом начале ведения учета в новой базе — например, за январь, если учет начат с 01.01.2019.

В этой статье мы подробно разберем, почему возникает эта проблема, как устроены внутренние механизмы платформы 1С для учета отпусков, и предложим два надежных сценария решения этой проблемы без ручной корректировки технических регистров.

---

Выясняем причину: как устроен учет в регистре «Заработанные права на отпуска»

Для начала проанализируем, как программа понимает, сколько дней отпуска «заработал» сотрудник. В 1С:ЗУП 3.1 учет ведется не в виде простых плоских остатков на конец каждого месяца, а с помощью вспомогательного регистра сведений ЗаработанныеПраваНаОтпуска. Записи в этот регистр вносятся динамически в момент расчета документов (например, документа Отпуск) или при формировании отчетов.

Алгоритм программы привязан не к календарному месяцу, а к индивидуальному рабочему году сотрудника. Право на очередные 2.33 дня отпуска регистрируется в день, когда сотрудник отработал половину очередного рабочего месяца.

Почему же за январь у одного сотрудника запись на 2.33 дня создается, а у другого — нет, хотя оба приняты на работу одной датой в документе НачальнаяШтатнаяРасстановка?

---

Коварное «Правило 11 месяцев»

Главная причина «пропажи» дней отпуска кроется в реализации законодательного «правила 11 месяцев» (согласно Правилам об очередных и дополнительных отпусках НКТ СССР № 169). Если сотрудник отработал в своем рабочем году 11 полных месяцев, он получает право на полный отпуск за весь рабочий год (все 28 дней, а не 25.67).

В алгоритмах 1С:ЗУП 3.1 это реализовано следующим образом:

  1. В 11-м месяце своего рабочего года сотрудник получает право на отпуск в двойном размере (сразу 4.67 дня — за 11-й и за 12-й месяцы авансом).
  2. В 12-м месяце рабочего года начисление прав равно 0, так как они уже были полностью начислены в предыдущем месяце.

Рассмотрим конкретный пример из практики обсуждения:

Сотрудник принят на работу давно. Его текущий рабочий год: 01.02.2018 – 31.01.2019. Учет в новой базе мы начинаем с 01.01.2019 и вводим остатки на эту дату.

Для этого сотрудника январь 2019 года является как раз 12-м месяцем его рабочего года. Программа логично считает, что за этот рабочий год он уже должен иметь полные 28 дней отпуска. Поскольку история использования отпусков и детальные ежемесячные начисления за прошлый год остались в старой базе, программа видит только остаток на 01.01.2019 и полагает, что право за 12-й месяц (январь) уже было «заработано» и учтено в двойном размере в декабре 2018 года (который был 11-м месяцем).

В результате в январе программа регистрирует 0 дней вместо ожидаемых 2.33, что приводит к занижению итогового остатка ровно на 2.33 дня.

---

В чем проблема документа «Начальная штатная расстановка»?

Документ НачальнаяШтатнаяРасстановка удобен для быстрого старта, но он фиксирует остатки отпусков на одну общую жесткую дату для всех сотрудников (например, на 01.01.2019).

Если у сотрудников рабочие года «рваные» (начинаются не с 1-го числа календарного года, а индивидуально от даты приема), упрощенный ввод остатков на фиксированную дату не позволяет программе правильно выстроить хронологию заработанных прав. Программа «схлопывает» периоды и некорректно применяет правила округления стажа.

---

Решение проблемы: правильные методики ввода остатков

Чтобы избежать ошибок округления и пропусков начислений, эксперты рекомендуют отказаться от ввода остатков отпусков непосредственно в документе НачальнаяШтатнаяРасстановка и воспользоваться специализированным документом ВводОстатковОтпусков (раздел Кадры или Главное — См. также — Остатки отпусков).

Рассмотрим два наиболее точных сценария настройки.

Способ 1. Ввод остатков на индивидуальные даты окончания рабочих лет (Рекомендуемый)

Вместо того чтобы вводить остатки для всех сотрудников «под гребенку» на 01.01.2019, мы создаем документы ВводОстатковОтпусков индивидуально для каждого сотрудника на его персональную дату.

Пошаговый алгоритм:

  1. Определяем дату окончания последнего закрытого (полностью отработанного) рабочего года сотрудника перед началом ведения учета в программе. Например, сотрудник устроен на работу 07.07.2018. Полгода работы истекают 06.01.2019.
  2. Создаем документ ВводОстатковОтпусков.
  3. В качестве даты ввода остатков указываем 06.01.2019.
  4. Указываем остаток неиспользованного отпуска, накопившийся строго на эту дату (за полные 6 месяцев работы).
  5. С 07.01.2019 (с первого дня нового рабочего полугодия/года) программа начнет рассчитывать права автоматически по стандартным ежемесячным алгоритмам без искажений. При этом «правило 11 месяцев» отработает корректно в будущем, так как программа будет видеть всю цепочку начислений с начала нового рабочего года.

Способ 2. Детальный ввод остатков по рабочим годам на общую дату

Если по организационным причинам вам принципиально важно ввести остатки именно на одну общую дату (например, строго на 01.01.2019), то делать это нужно через документ ВводОстатковОтпусков с максимальной детализацией табличной части.

Правила заполнения таблицы:

---

Как заставить программу пересчитать данные?

После того как вы скорректировали документы ввода остатков, выполните следующие действия для обновления регистров:

  1. Перепроведите созданные документы ВводОстатковОтпусков.
  2. Откройте отчет «Справка по отпускам сотрудника» (раздел Кадры — Кадровые отчеты). Открытие этого отчета инициирует принудительный перерасчет и обновит записи в техническом регистре ЗаработанныеПраваНаОтпуска.
  3. Убедитесь, что в отчете за январь теперь корректно отображаются все положенные дни отпуска.

Используя эти методы, вы избавите себя от необходимости ручного вмешательства в регистры сведений и обеспечите абсолютно точный и прозрачный учет отпусков в 1С:ЗУП 3.1.

← На главную