# Настройка служебных пользователей

## Описание

С помощью данной формы возможно настроить служебных пользователей, которые будут использоваться в [шаблоне маршрута](../Настройка шаблонов маршрутов/index.md) в качестве [сервисной функции](../Настройка шаблонов маршрутов/index.md#сервисные_функции).

## Работа с формой
Для открытия документа необходимо в Меню в поисковой строке ввести - "Настройка служебных пользователей".

Для создания нового служебного пользователя, в реестре необходимо нажать кнопку "Создать".

В открывшейся форме необходимо заполнить следующие поля:

![alt text](media/image.png)

**Служебное наименование** - указывается наименование для служебного пользователя. **Наименование должно быть уникальным в системе.** Оно  должно быть в формате **Service.ListOf.[MyName]**, где Service.ListOf. - является обязательной частью. В случае если данная часть будет отличаться, служебное наименование не будет подставлено в шаблоне маршрута.

**Пользовательское наименование** - указывается пользовательское наименование для служебного пользователя.

**Скрипт для вычисления** - в поле указывается скрипт для вычисления пользователя из системы.

Скрипт для вычисления должен возвращать результат для таблицы
`tmp_result_for_getProjectTemplateListOfMembers("id" bigint, "memberName" varchar(255))`

где   `id` - уникальный числовой идентификатор(1,2,3,...) записи в таблице

`memberName` - логин пользователя.

Для вычисления пользователей можно пользоваться контекстом текущего документа,
для этого необходимо использовать параметры:

* doccode (bigint) - код документа, для которого создается маршрут согласования
* doctype (character varying) - typename документа, для которого создается маршрут согласования
* orgid (bigint)- организация (если не задано - берется текущая организация),
* virtualuser (character varying) - логин пользователя (если не задано - берется текущий пользователь).

Также возможно настроить с помощью настроечной таблицы. В данной таблице возможно задать разные условия.Для добавления новой строки необходимо нажать кнопку **"Добавить"**.

* **Филиал** - обязательное поле;
* **Подразделение** - в вычисление попадают пользователи из выбранного подразделения;
* **Учитывать дочки** - при включенной опции в вычисление попадают все дочерние подразделения из выбранного подразделения;
* **Должность** - в вычисление попадают пользователи имеют указанную должность;
* **Роль** - в вычисление попадают пользователи имеют указанную роль;
* **Пользователь**;

Можно настроить вычисление как по одному столбцу, так и по нескольким. В данном примере указано вычисление для пользователей имеющих роль **hr_docflow_worker** работающие в подразделении "Администрация УК" и дочерних.

![alt text](media/image-1.png)

После настройки, в [шаблоне маршрута](../Настройка шаблонов маршрутов/index.md) необходимо указать данного служебного пользователя. Для этого в табличной части в необходимом этапе выбрать пользователя из выпадающего списка и сохранить шаблон.

![alt text](media/image-2.png)

При отправке документа по маршруту данный пользователь автоматически будет подставлен в маршрут.

![alt text](media/image-3.png)