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

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

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

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

Анализ практической ситуации

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

Сотрудник принят на работу 01.11.2017. Данные в программу 1С:ЗУП 3.1 были перенесены из версии 2.5 с помощью документа Начальная штатная расстановка. При формировании отчета по остаткам отпусков на 01.01.2020 обнаруживается, что за последний период сотруднику положено 7 дней отпуска, но сам рабочий год отображается как период с 01.01.2019 по 31.12.2019. При этом у сотрудника не было отпусков без сохранения оплаты, которые могли бы сдвинуть период. Однако выясняется важная деталь: в декабре 2019 года сотруднику была выплачена компенсация отпуска в размере 21 дня за рабочий период с 01.11.2018 по 31.10.2019. Причем компенсирован был именно основной отпуск.

Выясним причину, почему программа повела себя подобным образом и перевела сотрудника на календарный рабочий год.

Причина №1. Компенсация основного отпуска без увольнения

Проанализируем требования законодательства и логику программы. Согласно статье 126 Трудового кодекса РФ, заменить денежной компенсацией можно только ту часть ежегодного отпуска, которая превышает 28 календарных дней. Это означает, что компенсировать основной отпуск работающему сотруднику нельзя — компенсация возможна либо при увольнении, либо если сотруднику положен дополнительный ежегодный отпуск (например, за ненормированный рабочий день, вредные условия труда или работу в районах Крайнего Севера).

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

Причина №2. Ошибки переноса данных и заполнения остатков отпусков

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

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

Причина №3. Ошибки релизов и документов-исправлений

Иногда сдвиг происходит из-за зарегистрированных ошибок конфигурации. Например, при использовании механизмов исправлений (ссылка "Исправить" внизу документов прошлых периодов) или при вводе документов-сторнирований программа может некорректно рассчитать дату окончания рабочего года в регистре Заработанные права на отпуска, сместив период вперед или сбросив его настройки.

Как проверить, где именно произошел сбой?

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

  1. Перейдем в раздел КадрыКадровые отчеты и откроем отчет Справка об остатках отпусков.
  2. Сформируем отчет по проблемному сотруднику на текущую дату. Этот отчет уникален тем, что он показывает остатки в разрезе каждого рабочего года с детализацией до документов-регистраторов.
  3. Проанализируем, после какого именно документа (Начальная штатная расстановка, Отпуск, Компенсация отпуска или кадровый перевод) рабочий год сотрудника изменил свои границы.
  4. Дополнительно откроем регистр сведений Заработанные права на отпуска через функции для технического специалиста и проверим записи по данному сотруднику. Если там присутствует строка с некорректным периодом, значит, именно этот документ зафиксировал неправильную привязку года в системе.

Как правильно исправить рабочий год в 1С:ЗУП 3.1?

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

Рассмотрим наиболее безопасный, штатный способ исправления ситуации с помощью документа корректировки.

Пошаговая инструкция по исправлению через «Ввод остатков отпусков»

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

Шаг 1. Открытие формы ввода остатков
По умолчанию данный документ может быть скрыт из интерфейса. Чтобы его найти, перейдем в раздел Кадры, нажмем на значок шестеренки в правом верхнем углу (Настройка навигации). В открывшемся окне в левой части найдем пункт Остатки отпусков (или Ввод остатков отпусков) и добавим его в правую часть окна. Нажмем "ОК".

Шаг 2. Создание нового документа
Откроем журнал документов Остатки отпусков и нажмем кнопку "Создать".

Шаг 3. Заполнение ключевых реквизитов
В поле Дата укажем дату, начиная с которой мы хотим выровнять учет в программе (например, первый день нового рабочего года или дата окончания спорного периода — 01.01.2020).
В поле Сотрудник выберем нашего сотрудника, у которого сбился рабочий год.

Шаг 4. Настройка прав на отпуск
В табличной части "Права на отпуска" убедимся, что у сотрудника указан "Основной" отпуск и правильное количество дней в году (по умолчанию 28 дней).

Шаг 5. Заполнение остатков по рабочим годам
Перейдем к нижней табличной части "Остатки отпусков по рабочим годам". Нам необходимо вручную указать правильные периоды:
Добавим строку, в колонке "Рабочий год" введем правильный индивидуальный рабочий период сотрудника (например, с 01.11.2019 по 31.10.2020 вместо календарного 01.01.2019 - 31.12.2019).
В колонке "Остаток" укажем точное количество дней отпуска, которое должно быть у сотрудника на дату ввода остатков с учетом уже отгулянных дней.

Шаг 6. Проведение документа
Проведем документ. После этого система аннулирует все предыдущие некорректные записи регистров по данному сотруднику до даты ввода остатков. Начиная с указанной даты, расчет рабочих лет и накопление дней отпуска будут производиться строго по заданному нами правильному периоду.

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

← На главную