Не начисляются дни отпуска по сотруднику в 1С:ЗУП 3.1 после выхода из декрета: разбираем причины и решение

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

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

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

Рассматриваемая нами проблема наиболее часто проявляется после переноса данных из старых конфигураций (например, с ЗУП 2.5 на ЗУП 3.1) или при оформлении нескольких кадровых документов одной датой.

---

Почему возникает проблема: анализируем внутренние механизмы 1С

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

Обычно такой опорной точкой выступает дата приема на работу. Однако, если учет в программе ведется не с момента создания организации, а был перенесен из другой базы (например, на дату 01.06.2018), то опорной точкой должен стать документ ввода начальных данных — Начальная штатная расстановка или Ввод остатков отпусков.

Если на момент переноса данных сотрудница находилась в декретном отпуске и у нее фактически было накоплено 0 дней неиспользованного отпуска (все дни были успешно отгуляны до ухода в декрет), то при переносе данных запись по остаткам отпусков для нее часто вообще не создается. Программа «думает»: раз остаток нулевой, то и вносить в регистры ничего не нужно. Но именно это отсутствие записи лишает алгоритм отправной точки для дальнейших расчетов после выхода сотрудницы на работу.

---

Шаг 1: Проверка регистра «Состояния сотрудников»

Перед тем как переходить к исправлению остатков, нам необходимо убедиться, что программа «понимает», что сотрудник действительно работает, а не числится в декрете. Для этого проанализируем записи в регистре сведений Состояния сотрудников.

Чтобы проверить этот регистр, выполните следующие действия:

  1. Перейдите в главное меню программы (в правом верхнем углу) и выберите пункт «Функции для технического специалиста» (в старых релизах — «Все функции»).
  2. Найдите в списке регистров сведений Состояния сотрудников.
  3. Настройте отбор по интересующему нас сотруднику.

Давайте посмотрим, как должны выглядеть записи в этом регистре с помощью простого запроса к базе данных, который разработчики или администраторы могут запустить в консоли запросов:


ВЫБРАТЬ
    СостоянияСотрудников.Сотрудник КАК Сотрудник,
    СостоянияСотрудников.Состояние КАК Состояние,
    СостоянияСотрудников.Период КАК ДатаНачала,
    СостоянияСотрудников.ДействуетДо КАК ДатаОкончания
ИЗ
    РегистрСведений.СостоянияСотрудников КАК СостоянияСотрудников
ГДЕ
    СостоянияСотрудников.Сотрудник.Ссылка = &СсылкаНаСотрудника

Если в регистре сразу после окончания декрета стоит состояние Работа (или пустое состояние, приравниваемое к работе), то с кадровым учетом все в порядке. Если же там до сих пор значится состояние Отпуск по уходу за ребенком, то проблема кроется в документах возврата.

Важное примечание по табелям: кадровики часто вручную исправляют обозначения в документе Табель с «ОЖ» (отпуск по уходу) на «Я» (явка), чтобы сотруднице начислялась зарплата. Но ручные правки табеля не меняют фактическое состояние сотрудника в системе! Если не проведен документ Возврат из отпуска по уходу, программа будет продолжать считать сотрудницу декретницей, а в этот период ежегодный отпуск по закону не накапливается.

---

Шаг 2: Применение «решения-парадокса» — ввод нулевого остатка

Если кадровые документы проведены верно, состояния в регистре обновились, но права на отпуск по-прежнему не рассчитываются, мы применяем самое эффективное решение — принудительное создание «опорной точки» через ввод нулевого остатка.

Выполним следующие шаги:

  1. Перейдем в раздел «Кадры» — «См. также» — «Вводы остатков отпусков» (или найдем этот документ через поиск функций).
  2. Создадим новый документ Ввод остатков отпусков.
  3. В поле «Дата» укажем дату, предшествующую выходу сотрудницы на работу (например, дату переноса данных или дату начала ее фактической работы).
  4. Выберем нашего сотрудника.
  5. В табличной части укажем вид отпуска (основной) и введем количество дней остатка равным 0.
  6. Обязательно укажем рабочий год, за который вводится этот нулевой остаток (это должен быть текущий незакрытый рабочий год сотрудника на момент его выхода).
  7. Проведем документ.

После проведения этого документа в регистре Начальные остатки отпусков появится запись с нулевым значением, но с четко зафиксированным периодом. Программа мгновенно зацепится за эту дату и начнет рассчитывать положенные 2,33 дня в месяц со следующего же дня работы.

---

Шаг 3: Проверка кадрового перевода и флага «Изменить право на отпуск»

Еще одна частая причина сбоя — проведение документа Кадровый перевод непосредственно в день выхода из отпуска по уходу за ребенком. При создании кадрового перевода кадровики могут случайно задействовать механизмы изменения прав на отпуск.

Рассмотрим порядок проверки документа:

  1. Откроем документ Кадровый перевод, которым сотрудница была переведена на новую должность в день выхода.
  2. Перейдем на вкладку «Главное».
  3. Обратим внимание на флаг «Изменить право на отпуск».

Если этот флаг установлен, но табличная часть под ним пуста или заполнена некорректно, программа считает, что с даты этого перевода право сотрудника на основной отпуск аннулируется (становится равным 0 дней в год). Соответственно, начисление дней прекращается.

Как исправить: снимем этот флаг, если условия предоставления отпуска (28 календарных дней) не изменились. Если же они изменились (например, добавился вредный или дополнительный отпуск), то убедимся, что в табличной части четко указан основной отпуск и количество дней — 28.

---

Шаг 4: Проверка регистра «Положенные виды ежегодных отпусков»

Для полной уверенности в корректности данных проанализируем еще один важный регистр сведений — Положенные виды ежегодных отпусков. В нем фиксируется, какие именно виды отпусков и в каком объеме положены сотруднику в разрезе периодов.

Убедимся, что в данном регистре для нашего сотрудника:

Если записи отсутствуют или флаг использования снят, то это сигнализирует о незавершенности кадрового оформления. Потребуется перепровести документы Начальная штатная расстановка или Прием на работу в хронологическом порядке.

---

Резюме и рекомендации для предотвращения ошибок

Чтобы избежать подобных проблем с учетом отпусков у декретниц в будущем, рекомендуем придерживаться следующих правил при работе в 1С:ЗУП 3.1:

  1. При переносе данных из других баз всегда проверяйте декретниц. Даже если у них нет неотгулянных дней отпуска, принудительно создавайте по ним документ Ввод остатков отпусков с нулевым остатком на дату начала ведения учета.
  2. Соблюдайте строгую хронологическую последовательность при проведении документов. Если вы создаете документы задним числом, обязательно распроводите последующие документы и проводите их заново по цепочке.
  3. Никогда не заменяйте кадровые документы ручными правками в табелях учета рабочего времени. Табель — это лишь отражение кадрового состояния, но не его первоисточник.

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

← На главную