Files
request-portal/src/webparts/requestPortal/forms/UnpaidLeave
..

Отпуск без содержания (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 не показывается.
  • Замещающий (Substitute, People) — необязателен.
  • Заголовок элемента (Title): Отпуск без содержания — {ФИО} — дд.мм.гггг.

Отличия от «Заявка на отпуск» (hr-vacation)

  • Даты с/по вместо «дата начала + количество дней».
  • Добавлены поля «В связи с» (Reason) и «Лицо замещающее» (Substitute).

Секции формы

RequestSection (сотрудник · должность · дата начала · дата окончания · основание · замещающий)

Точки входа

  • rptype: hr-unpaid-leave
  • Режим согласующего (просмотр): есть (UnpaidLeaveView)
  • «Создать на основе»: нет