87 lines
5.0 KiB
Markdown
87 lines
5.0 KiB
Markdown
# Маршрутизация портала заявок (для интеграций)
|
|
|
|
Портал — **один 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` |
|
|
| `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
|
|
```
|
|
|
|
---
|
|
|
|
## Кто формирует ссылки
|
|
|
|
- **Согласование** (`rpmode=approve…`) — поток Power Automate, который уведомляет согласующего
|
|
(аналог `ct-notify-kps`). Поток знает `rpid` (Id элемента списка данных) и подставляет `rptype`
|
|
константой под свою форму.
|
|
- **Создание на основе** (`rptype…&rpsource…`) — кнопка на заявке-источнике (напр. «Создать заявку
|
|
на организацию рабочего места на основе текущей»). Кнопка подставляет `rpsource` = Id текущей заявки.
|
|
|
|
---
|
|
|
|
## Примечания
|
|
|
|
- `rpid` и `rpsource` — это **Id элемента списка ДАННЫХ** (не строки согласования).
|
|
- «Создание на основе» — **снимок**: значения копируются на момент создания; дальнейшие изменения
|
|
исходной заявки в производную не переносятся. У производной сохраняется колонка-источник (Lookup).
|
|
- Если нужного набора параметров нет/они неполные — портал открывается в обычном режиме подачи.
|