Перейти к основному содержимому

Контроль продолжительности при переносе отпуска

Доступно начиная с версии 1.57.129 | 3.3.6.х

Настройка: Настройки приложения (ЛКС) - Отпуска - Перенос отпуска: Контроль продолжительности по ТК РФ.

Если в глобальных настройках установлена галочка, проверка применяется при оформлении переносов отпусков в заявках с Идентификатором "ПереносОтпускаПоГрафику".

Наиболее часто встречающиеся типы заявок: "Перенос отпуска (по графику отпусков) (несколькими периодами)" и "Перенос отпуска (по графику отпусков) (одним периодом)".

Краткое описание:

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

Подробное описание:

  • Анализируемые отпуска:
    • Плановые отпуска по графику
    • Фактические отпуска
  • Условия запрета переноса:
    • Переносимый отпуск НЕ перенесен с прошлых лет
    • И продолжительностью 14+ дней (в том числе склеенный из кусков отпусков этого же года)
    • И нет До переноса других плановых или использованных отпусков 14+ (в т.ч. склеенных из кусков этого года)
    • И после переноса с учетом новых дат не появится 14+ (в т.ч. склеенных из кусков этого года)

Как определяются условия:

  • Перенесен ли отпуск с прошлых лет
    • Для планового
      • Ищем по документам "Перенос отпуска" такие документы, где в ТЧ есть период с той же датой начала, что и у переносимого
        • Если нашли, анализируется поле "Дата начала" в доке переноса. Год этой даты и есть год отпуска.
          • Если меньше года переносимого отпуска – значит перенесен с прошлых лет.
        • Если не нашли, значит не перенесен.
    • Для уже оплаченного
      • Ищем в графиках отпусков строчку по этому же сотруднику с такой же датой начала как и у проведенного отпуска
        • Если нашли – берем год даты начала и сравниваем с переносимым.
          • Если меньше – перенесен с предыдущего года.
        • Если не нашли - ищем переносы, где в ТЧ есть такая же дата начала, как у переносимого отпуска.
          • Нашли - сравниваем дату из поля "Дата начала" дока переноса с датой переносимого отпуска.
          • Не нашли – (уточняется, не уверен, что такое возможно)
  • Наличие других 14+ дней в году помимо переносимого
    • Без склеек
      • Ищем среди проведенных отпусков любой, продолжительностью от 14 календарных дней, где год даты начала совпадает с годом даты начала переносимого отпуска
      • Ищем среди плановых отпусков (с учетом проведенных переносов) любой, продолжительностью от 14 календарных дней, где год даты начала совпадает с годом даты начала переносимого отпуска
      • Если что-то из этого нашли – значит в году есть другой 14+дн
    • Со склейками
      • Ищем все отпуска и плановые и проведенные и перенесенные плановые
      • Исключаем все периоды, которые перенесены с предыдущих лет
      • Исключаем из них тот период, который хотим перенести
      • Оставшиеся анализируем на предмет объединения в непрерывные последовательности от 14+ календарных дней
      • Если есть – значит в году есть другой 14+дн
  • Наличие 14+ дней в году после переноса с учетом дат
    • Если новая дата целиком период 14+, тогда год её начала должен совпасть с годом начала исходного отпуска
    • Или проверять склейки, чтобы получалось 14+ с датой начала в исходном году
  • Год отпуска
    • Если не перенесен - просто год даты начала
    • Если перенесен – Поле "дата начала" из дока "Перенос отпуска"

Примеры:

  1. Перенесенных нет, фактических нет, есть единственный плановый 14+ на текущий год в графике. Попытка перенести часть этого 14+ на пустой месяц – ошибка.
  2. Перенесенных нет, фактических нет, есть единственный плановый 14+ на текущий год в графике. Попытка перенести часть этого 14+ с приклеиванием к другому – заявка уходит.
  3. Перенесенных нет, фактический 14 дн есть в марте, есть единственный плановый 14+ на текущий год в графике. Попытка перенести часть этого 14+ на пустой месяц – заявка уходит.
  4. Есть перенесенная неделя, фактических нет, есть единственный плановый 14+ на текущий год в графике. Попытка приклеить 7дн единственного 14+ к 7 перенесенным дням с прошлого года – ошибка.
  5. Есть вот так в плановом, нет факта, есть перенесенный, но мы уже знаем, что он не влияет:

    В итоге есть 2 по 14, но один склеенный, а второй целый. Все текущий год.
    Пробую перенести кусок "целого" на октябрь, чтобы "целый" распался на 2, и единственным 14дн остался склеенный из 2 кусков. Результат – заявка сформировалась.