Контроль продолжительности при переносе отпуска
Доступно начиная с версии 1.57.129 | 3.3.6.х
Настройка: Настройки приложения (ЛКС) - Отпуска - Перенос отпуска: Контроль продолжительности по ТК РФ.
Если в глобальных настройках установлена галочка, проверка применяется при оформлении переносов отпусков в заявках с Идентификатором "ПереносОтпускаПоГрафику".
Наиболее часто встречающиеся типы заявок: "Перенос отпуска (по графику отпусков) (несколькими периодами)" и "Перенос отпуска (по графику отпусков) (одним периодом)".
Краткое описание:
Система запрещает отправку заявки на перенос отпуска, если после такого переноса у сотрудника не останется ни одного отпуска, продолжительностью 14 и более дней, в календарном году, без учета перенесенных периодов с прошлых лет.
Подробное описание:
- Анализируемые отпуска:
- Плановые отпуска по графику
- Фактические отпуска
- Условия запрета переноса:
- Переносимый отпуск НЕ перенесен с прошлых лет
- И продолжительностью 14+ дней (в том числе склеенный из кусков отпусков этого же года)
- И нет До переноса других плановых или использованных отпусков 14+ (в т.ч. склеенных из кусков этого года)
- И после переноса с учетом новых дат не появится 14+ (в т.ч. склеенных из кусков этого года)
Как определяются условия:
- Перенесен ли отпуск с прошлых лет
- Для планового
- Ищем по документам "Перенос отпуска" такие документы, где в ТЧ есть период с той же датой начала, что и у переносимого
- Если нашли, анализируется поле "Дата начала" в доке переноса. Год этой даты и есть год отпуска.
- Если меньше года переносимого отпуска – значит перенесен с прошлых лет.
- Если не нашли, значит не перенесен.
- Если нашли, анализируется поле "Дата начала" в доке переноса. Год этой даты и есть год отпуска.
- Ищем по документам "Перенос отпуска" такие документы, где в ТЧ есть период с той же датой начала, что и у переносимого
- Для уже оплаченного
- Ищем в графиках отпусков строчку по этому же сотруднику с такой же датой начала как и у проведенного отпуска
- Если нашли – берем год даты начала и сравниваем с переносимым.
- Если меньше – перенесен с предыдущего года.
- Если не нашли - ищем переносы, где в ТЧ есть такая же дата начала, как у переносимого отпуска.
- Нашли - сравниваем дату из поля "Дата начала" дока переноса с датой переносимого отпуска.
- Не нашли – (уточняется, не уверен, что такое возможно)
- Если нашли – берем год даты начала и сравниваем с переносимым.
- Ищем в графиках отпусков строчку по этому же сотруднику с такой же датой начала как и у проведенного отпуска
- Для планового
- Наличие других 14+ дней в году помимо переносимого
- Без склеек
- Ищем среди проведенных отпусков любой, продолжительностью от 14 календарных дней, где год даты начала совпадает с годом даты начала переносимого отпуска
- Ищем среди плановых отпусков (с учетом проведенных переносов) любой, продолжительностью от 14 календарных дней, где год даты начала совпадает с годом даты начала переносимого отпуска
- Если что-то из этого нашли – значит в году есть другой 14+дн
- Со склейками
- Ищем все отпуска и плановые и проведенные и перенесенные плановые
- Исключаем все периоды, которые перенесены с предыдущих лет
- Исключаем из них тот период, который хотим перенести
- Оставшиеся анализируем на предмет объединения в непрерывные последовательности от 14+ календарных дней
- Если есть – значит в году есть другой 14+дн
- Без склеек
- Наличие 14+ дней в году после переноса с учетом дат
- Если новая дата целиком период 14+, тогда год её начала должен совпасть с годом начала исходного отпуска
- Или проверять склейки, чтобы получалось 14+ с датой начала в исходном году
- Год отпуска
- Если не перенесен - просто год даты начала
- Если перенесен – Поле "дата начала" из дока "Перенос отпуска"
Примеры:
- Перенесенных нет, фактических нет, есть единственный плановый 14+ на текущий год в графике. Попытка перенести часть этого 14+ на пустой месяц – ошибка.
- Перенесенных нет, фактических нет, есть единственный плановый 14+ на текущий год в графике. Попытка перенести часть этого 14+ с приклеиванием к другому – заявка уходит.
- Перенесенных нет, фактический 14 дн есть в марте, есть единственный плановый 14+ на текущий год в графике. Попытка перенести часть этого 14+ на пустой месяц – заявка уходит.
- Есть перенесенная неделя, фактических нет, есть единственный плановый 14+ на текущий год в графике. Попытка приклеить 7дн единственного 14+ к 7 перенесенным дням с прошлого года – ошибка.
- Есть вот так в плановом, нет факта, есть перенесенный, но мы уже знаем, что он не влияет:
-fe7d570a69391bb26d7205d1b422b17c.png)
В итоге есть 2 по 14, но один склеенный, а второй целый. Все текущий год.
Пробую перенести кусок "целого" на октябрь, чтобы "целый" распался на 2, и единственным 14дн остался склеенный из 2 кусков. Результат – заявка сформировалась.