Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz> Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/15
5.5 KiB
Маршрутизация портала заявок (для интеграций)
Портал — один web part на одной странице. Что показать, он решает по параметрам URL. Этот документ — контракт ссылок для тех, кто их формирует (Power Automate, кнопки, уведомления).
Страница портала:
https://<тенант>.sharepoint.com/sites/requests/SitePages/<Страница>.aspx(точный адрес страницы уточнить у владельца портала).
Важно: префикс rp
Имена id, mode, type зарезервированы SharePoint и ломают страницу (?id= →
«Элемент не существует»). Поэтому все наши параметры — с префиксом rp: rpmode, rptype, rpid, rpsource.
Режимы
| Режим | Когда | Параметры | Что открывается |
|---|---|---|---|
| Подача (по умолчанию) | нет наших параметров | — | Категории → плитки → форма |
| Согласование | согласующему пришла заявка | rpmode=approve + rptype + rpid |
Заявка только для чтения + кнопки решения |
| Создание на основе | производная заявка с предзаполнением | rptype + rpsource |
Форма, предзаполненная из исходной заявки |
Параметры
| Параметр | Значение | Пример |
|---|---|---|
rpmode |
approve — режим согласующего (иначе не указывать) |
rpmode=approve |
rptype |
ключ формы (см. таблицу ниже) | rptype=recruiting-hire |
rpid |
Id элемента списка ДАННЫХ заявки (колонка ИД) — для approve |
rpid=42 |
rpsource |
Id исходной заявки для предзаполнения — для «создания на основе» | rpsource=42 |
Ключи форм (rptype)
rptype |
Заявка | Категория | Согласование | Режим согласующего | Создание на основе |
|---|---|---|---|---|---|
recruiting-selection |
Заявка на подбор | Рекрутинг | нет | нет | — |
recruiting-hire |
Заявка на прием | Рекрутинг | да | да | — |
it-workplace-setup |
Организация рабочего места | IT | да | да | из recruiting-hire |
it-1c-ticket |
Заявка в отдел 1С | IT | да | да | — |
hr-dismissal |
Заявление на увольнение | Отдел кадров | да | да | — |
clearance-form |
Обходной лист | Отдел кадров | да | да | создаётся сам по согласованному hr-dismissal |
hr-transfer |
На перемещение сотрудников | Отдел кадров | (в разработке) | — | — |
Готовые примеры ссылок
Пусть страница портала = …/sites/requests/SitePages/Портал-Заявок.aspx.
Согласующему открыть заявку на прием №42:
…/Портал-Заявок.aspx?rpmode=approve&rptype=recruiting-hire&rpid=42
Согласующему открыть заявку «орг. рабочего места» №7:
…/Портал-Заявок.aspx?rpmode=approve&rptype=it-workplace-setup&rpid=7
Создать «орг. рабочего места» на основе заявки на прием №42 (предзаполнение):
…/Портал-Заявок.aspx?rptype=it-workplace-setup&rpsource=42
Согласующему открыть заявку в отдел 1С №12:
…/Портал-Заявок.aspx?rpmode=approve&rptype=it-1c-ticket&rpid=12
Кто формирует ссылки
- Согласование (
rpmode=approve…) — поток Power Automate, который уведомляет согласующего (аналогct-notify-kps). Поток знаетrpid(Id элемента списка данных) и подставляетrptypeконстантой под свою форму. - Создание на основе (
rptype…&rpsource…) — кнопка на заявке-источнике (напр. «Создать заявку на организацию рабочего места на основе текущей»). Кнопка подставляетrpsource= Id текущей заявки.
Примечания
rpidиrpsource— это Id элемента списка ДАННЫХ (не строки согласования).- «Создание на основе» — снимок: значения копируются на момент создания; дальнейшие изменения исходной заявки в производную не переносятся. У производной сохраняется колонка-источник (Lookup).
- Если нужного набора параметров нет/они неполные — портал открывается в обычном режиме подачи.