Как исправить ошибку «Невозможно зарегистрировать временное освобождение ставок» в 1С:ЗУП 3.1?

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

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

По сотруднику [ФИО] в периоде [ДатаНачала]-[ДатаОкончания] зарегистрировано изменение занятости позиции (Кадровый перевод [Номер] от [Дата]). Невозможно зарегистрировать временное освобождение ставок.

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

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

Данное поведение системы не является случайным сбоем программы. Это намеренно реализованное ограничение со стороны разработчиков фирмы 1С, которое появилось начиная с релизов 3.1.10.199 и 3.1.11.133.

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

Чтобы исправить эту проблему и избежать коллизий в регистре сведений ЗанятостьПозицийШтатногоРасписания, разработчики ввели жесткий контроль. Теперь система блокирует проведение документов в следующих случаях:

  1. Попытка провести документ отсутствия (например, «Больничный лист», «Отпуск», «Отсутствие (болезнь, прогул, неявка)») с активным флагом «Освободить ставку на период отсутствия» для сотрудника, у которого на этот период оформлен временный кадровый перевод.
  2. Оформление временного кадрового перевода на период, в котором ставка сотрудника уже временно освобождена другим документом.
  3. Отмена проведения документа, который освобождал ставку, если в данном периоде проведен кадровый перевод.
  4. Изменение дат в документе отсутствия при его перепроведении, если новые даты пересекаются с временным переводом.

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

---

Способ 1: Разбиение временного перевода на два постоянных (Рекомендуемый метод)

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

Разберем этот способ по шагам:

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

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

---

Способ 2: Использование документов-исправлений (для закрытых периодов)

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

Проанализируем этот сценарий по шагам:

  1. Внизу формы закрытого документа КадровыйПеревод нажимаем ссылку «Исправить».
  2. В созданном документе-исправлении убираем дату окончания временного перевода, делая его бессрочным. Проводим документ-исправление.
  3. Проводим документ неявки (например, больничный) с установленным флагом «Освободить ставку» в текущем периоде.
  4. Создаем новый документ КадровыйПеревод текущим открытым периодом для возврата сотрудника на его первоначальную позицию с нужной даты.

---

Способ 3: Отключение контроля штатного расписания (Быстрый обходной путь)

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

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

Для отключения контроля выполним следующие действия:

  1. Перейдем в раздел «Настройка», далее выберем пункт «Кадровый учет».
  2. Найдем и откроем ссылку «Настройка штатного расписания».
  3. В открывшемся окне снимем флаг «Автоматически проверять кадровые документы на соответствие штатному расписанию».
  4. Нажмем кнопку «Применить и закрыть» для сохранения настроек.

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

---

Способ 4: Решение проблемы при переносе данных (для декретных отпусков)

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

Чтобы решить эту проблему при переносе (поможет перенос кадровых данных и расчетов в ЗУП 3.1), выполним следующие действия:

  1. Создадим отдельный документ НачальнаяШтатнаяРасстановка специально для сотрудниц, находящихся в декретном отпуске или отпуске по уходу за ребенком — поможет контроль сотрудников в отпуске по уходу. Дату этого документа необходимо установить на день раньше, чем дата начала их отпуска по уходу.
  2. Исключим этих сотрудниц из общего документа начальной штатной расстановки — для этого подойдёт автоматизация миграции кадровых данных и расстановки.
  3. После проведения обособленного документа расстановки проводим документ «Отпуск по уходу за ребенком» с установленным флагом «Освободить ставку на период отсутствия». Программа успешно зарегистрирует освобождение ставки, так как даты документов больше не будут конфликтовать в регистрах системы — поможет правила переноса кадровых данных в ЗУП 3.1.

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

← На главную