# Маршрутизация портала заявок (для интеграций) Портал — **один 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). - Если нужного набора параметров нет/они неполные — портал открывается в обычном режиме подачи.