Заявка на отпуск (hr-vacation)
Назначение: заявление сотрудника на отпуск (перенос формы из отдельной web part pto-tracker).
Категория: Отдел кадров
Списки SP: «Заявка на отпуск — данные» / «Заявка на отпуск — согласование»
RequestTypeId (внешний API маршрутов): 11 (в старой pto-tracker было 1; при заведении типа в админке портала получил новый id 11)
Маршрут
- Тип заявки в approval-route API (
/api/request-types): id 11,pageUrl«hr-vacation»,listId«/sites/requests/Lists/List5», section «Кадры». - Фазы: только согласование. Фазы исполнения нет — после согласования заявка просто получает статус «Согласовано» (никакого Planner, в отличие от Ticket1C).
- Матрица редактируема заявителем при новой заявке / черновике / возврате
(как RecruitingHire / WorkplaceSetup):
useMatrixEditor(editable = !readOnly). Заявитель может добавлять/удалять/переставлять согласующих поверх планируемого маршрута.
Особое поведение
- Заявку можно подать за другого сотрудника. Поле «Сотрудник» — People-picker
(колонка User
Employee). Планируемый маршрут резолвится по e-mail выбранного сотрудника (getPlannedMatrix(..., data.Employee, ...)), а не текущего пользователя — поэтому reloadKey матрицы включаетdata.Employee. - Автоподстановка должности. Новая заявка предзаполняется текущим
пользователем (email + должность из профиля
SPS-JobTitleчерезapproval.getJobTitle). При выборе другого сотрудника его должность подтягивается так же. Ошибка профиля не мешает форме — поле просто остаётся как есть. - Дата окончания не вводится — считается при сохранении:
начало + (дни − 1)и пишется в колонкуEndDate(обязательна в списке, но в UI её нет). - Заголовок элемента (
Title):Отпуск — {ФИО} — дд.мм.гггг.
Секции формы
RequestSection (сотрудник · должность · дата начала · количество дней)
Точки входа
- rptype:
hr-vacation - Режим согласующего (просмотр): есть (
VacationView) - «Создать на основе»: нет