755cfc8329
5 дней работодатель обязан дать только при браке/рождении/смерти, сверх — по договорённости, поэтому форма больше не ограничивает число дней. Вариант «В иных случаях» подписан как «Иная причина» — читается как ответ на «Причина»; значение в SP прежнее. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Отпуск без содержания (hr-unpaid-leave)
Назначение: заявление сотрудника на отпуск без сохранения заработной платы.
Категория: Отдел кадров
Списки SP: «Отпуск без содержания — данные» / «Отпуск без содержания — согласование»
RequestTypeId (внешний API маршрутов): плейсхолдер — получит новый числовой id
при заведении типа в админке approval-route (как hr-vacation получил 11).
Маршрут
- Тип заявки в approval-route API (
/api/request-types):pageUrl«hr-unpaid-leave». - Фазы: только согласование. Фазы исполнения нет — после согласования заявка получает статус «Согласовано» (без Planner).
- Матрица редактируема заявителем при новой заявке / черновике / возврате
(как Vacation / RecruitingHire):
useMatrixEditor(editable = !readOnly).
Особое поведение
- Заявку можно подать за другого сотрудника. Поле «Сотрудник» — People-picker
(
Employee). Планируемый маршрут резолвится по e-mail выбранного сотрудника (getPlannedMatrix(..., data.Employee, ...)), reloadKey матрицы включаетdata.Employee. - Автоподстановка должности из профиля (
SPS-JobTitleчерезapproval.getJobTitle) — для текущего пользователя при создании и при выборе другого сотрудника. - Период вводится двумя датами (с / по), обе обязательны, конец ≥ начала.
DaysCountсчитается при сохранении (включительно) для отчётности — в UI не показывается. - Причина (
UnpaidLeaveReasonType, Choice) — обязательна: брак / рождение ребёнка / смерть близких / «В иных случаях» (в форме подписано «Иная причина», значение в SP прежнее). Только при «иных случаях» появляется обязательный текст причины (Reason). У заявок до появления колонки причины нет — их прежний текст изReasonпо-прежнему показывается (isReasonTextShown). - Количество дней без верхнего предела — 5 дней работодатель обязан дать при браке / рождении / смерти, остальное — по договорённости, поэтому форма лимит не ставит.
- Правило «не позднее чем за 14 дней» (
MIN_NOTICE_DAYS) — только для «иных случаев» (requiresAdvanceNotice): брак, рождение и смерть заранее не планируются. - Подсветка проблемных полей —
FieldIssuesProvider+ правила вvalidation.ts(черновик проверяется так же строго, как отправка). - Замещающий (
Substitute, People) — необязателен. - Заголовок элемента (
Title):Отпуск без содержания — {ФИО} — дд.мм.гггг.
Отличия от «Заявка на отпуск» (hr-vacation)
- Те же «дата начала + количество дней»: даты окончания нет, праздники и выходные не считаются.
- Добавлены поля «Причина» (
UnpaidLeaveReasonType+Reason) и «Лицо замещающее» (Substitute).
Секции формы
RequestSection (сотрудник · должность · дата начала · количество дней · причина · замещающий)
Точки входа
- rptype:
hr-unpaid-leave - Режим согласующего (просмотр): есть (
UnpaidLeaveView) - «Создать на основе»: нет