В процессе кадрового учета часто возникают ситуации, когда сотрудника приходится досрочно отозвать из ежегодного оплачиваемого отпуска по производственной необходимости. При этом неиспользованную часть отпуска работник имеет право «догулять» в любое удобное для него время — либо сразу после окончания периода отзыва, либо в другой период.
При оформлении таких изменений в программах 1С:Зарплата и управление персоналом 3.1 (ЗУП) и 1С:Зарплата и кадры государственного учреждения 3.1 (ЗиКГУ) пользователи часто сталкиваются с неприятной ошибкой. При попытке провести новый документ на догуливание остатка программа выдает ошибку о том, что на этот период уже зарегистрировано начисление Отпуск очередной, несмотря на то, что исходный документ уже был исправлен, а периоды откорректированы. В этой статье мы подробно разберем, почему возникает эта ошибка и какими способами ее можно обойти.
Рассмотрим подробнее техническую сторону проблемы. Когда мы регистрируем отзыв из отпуска с помощью документа-исправления (созданного по ссылке «Исправить» внизу исходного документа) и уменьшаем дату окончания первой части отпуска до даты отзыва, расчетный механизм отрабатывает корректно. Сторнирование начислений в регистрах расчета происходит правильно, и лишние суммы списываются.
Однако помимо регистров расчета программа проверяет фактическую занятость сотрудника по другим регистрам. К ним относятся:
Состояния сотрудников.Параметры периодов поиска.Данные о времени для расчета среднего заработка (корректировка).Занятость позиций штатного расписания.При проведении документа-исправления записи исходного документа в этих вспомогательных регистрах по «отсекаемой» (сторнируемой) части отпуска очень часто блокируются или очищаются некорректно. Платформенный механизм проверки вытеснения времени продолжает видеть исходный документ Отпуск как активный и действующий на всем первоначальном интервале. В результате система блокирует проведение нового документа на догуливание, если его период накладывается на даты первоначального приказа.
Давайте разберем два рабочих метода решения этой проблемы: современный встроенный механизм 1С и классический метод через полное сторнирование.
Начиная с версии ЗУП 3.1.14, разработчики реализовали специальный механизм для продления, переноса и отзыва из отпуска. Этот способ позволяет отразить всю цепочку событий внутри одного единственного документа-исправления, избегая конфликта регистров.
Рассмотрим этот процесс по шагам:
Отпуск, по которому сотрудник ушел отдыхать.Проанализируем результат: программа самостоятельно исключит указанные дни отзыва из расчета оплаты отпуска (за эти дни в табеле зафиксируется Явка и будет начислена обычная зарплата), пересчитает сумму отпускных прямо в этом документе и успешно проведется. Ошибки пересечения периодов не возникнет, так как для системы это единое событие.
Важная настройка для Способа 1: Чтобы данный механизм работал корректно, перейдите в раздел Настройка — Расчет зарплаты и убедитесь, что снят флажок Сторнировать отпуск в больничном при пересечении периодов.
Обратите внимание! У этого способа есть один важный нюанс. Средний заработок для дней «догуливания» в данном случае будет рассчитываться по дате начала первой (исходной) части отпуска. Если дни догуливания приходятся на следующий месяц и средний заработок сотрудника к этому моменту вырос, по законодательству работодатель обязан рассчитать их по новому среднему заработку. Если это ваш случай, данный метод не подойдет, и нужно использовать второй способ.
Если вам принципиально важно рассчитать догуливаемую часть отпуска как отдельное событие с расчетом нового среднего заработка, необходимо полностью аннулировать записи исходного отпуска в регистрах состояний. Сделать это простым уменьшением даты в документе-исправлении не получится.
Выясним последовательность действий для этого случая:
Отпуск.Сторнирование начислений, который полностью аннулирует все движения исходного документа во всех регистрах (включая регистры состояний и занятости). Проведите этот документ.Отпуск на фактически отгулянный период (с даты начала первоначального отпуска до даты отзыва, не включая ее). Начислите и проведите документ.Отпуск на период догуливания (с новой даты начала отдыха после отзыва по новую дату окончания). Программа рассчитает его по среднему заработку, актуальному на момент начала второй части отпуска, и документ без проблем проведется.Давайте посмотрим, как это отразится на взаиморасчетах в ведомости на выплату зарплаты. В расшифровке вы увидите три строки:
В результате баланс сойдется, а все начисления и налоги лягут в базу корректно.
Если даже после применения описанных методов программа продолжает ругаться на пересечение периодов, проанализируем смежные документы:
Табель учета рабочего времени за текущий месяц. Если на даты планируемого догуливания в табеле уже зафиксированы рабочие дни (код Я), система заблокирует проведение отпуска. Решение: временно распроведите Табель, проведите все документы по отпуску, а затем перезаполните и проведите Табель заново.Отсутствие (болезнь, прогул, неявка), Командировка или Больничный лист. Любое наложение кадровых состояний вызовет аналогичную ошибку проведения.Используя предложенные методики, вы сможете быстро и безболезненно отражать отзывы сотрудников из отпуска и последующие догуливания без необходимости ручной корректировки регистров или изменения программного кода.