#### Перепоручение работы (идентификатор действия reassign) {#sec.workflow_work_reassign}

Пользователь нажимает на соответствующую кнопку: открывается экран
"Отправить". Приложение запрашивает у сервера дополнительную информацию
для отображения данного экрана (зависит от действия): название
родительской работы; название и цвет кнопки; отображать или нет
неподчиненных пользователей в компоненте выбора пользователя, значение
по умолчанию для времени завершения (илл. «Перепоручить работу»).

> **Примечание**
> 
> В случае, если в РКК документа работы настроена валидация его полей 
> перед отправкой, то по нажатию на кнопку перепоручения действие не 
> произойдет (экран "Отправить" не откроется) с ошибкой (-ами):
> 
> `Данный тип документа требует указание дела. Выберите его в карточке и 
> отправьте повторно. Если список пуст, обратитесь к методологу`
> 
> `Данный тип документа требует определения исполнителя. Выберите его в 
> карточке и отправьте повторно`

![Перепоручить работу](resources/img/workflow/work_delegating.png)

![Перепоручить работу](resources/img/workflow/iOS/work_delegating.png)

Управляющая кнопка имеет фиксированное положение. Вся остальная область
экрана прокручиваема (поля не имеют фиксированной высоты и растягиваются
по последнему содержимому).

Параметры перепоручения работы.

+------------------+--------------------------------------------------------------------+
| Параметр         | Описание                                                           |
+==================+====================================================================+
| Название         | Вводится полное название работы.                                   |
+------------------+--------------------------------------------------------------------+
| Ответственный    | Открывается экран "Пользователи" (илл. «Экран "Пользователи" со    |
|                  | скрытыми тегами»), параметры:                                      |
|                  |                                                                    |
|                  | *   выбор одного пользователя;                                     |
|                  |                                                                    |
|                  | *   если значение настройки "разрешено ли передавать работы другим |
|                  |     исполнителям" = true, отображать всех пользователей, иначе -   |
|                  |     только подчиненных;                                            |
|                  |                                                                    |
|                  | *   идентификатор действия: reassign.                              |
|                  |                                                                    |
|                  | Поле должно автоматически очиститься и стать неактивным            |
|                  | (независимо от его заполненности), если выключается флажок.        |
+------------------+--------------------------------------------------------------------+
| Исполнители      | Открывается экран "Пользователи" (илл. «Экран "Пользователи" со    |
|                  | скрытыми тегами»), параметры:                                      |
|                  |                                                                    |
|                  | *   множественный выбор пользователей;                             |
|                  |                                                                    |
|                  | *   если значение настройки "разрешено ли добавлять соисполнителей |
|                  |     к работам, не являющихся подчиненными" = true, отображать всех |
|                  |     пользователей, если false:                                     |
|                  |                                                                    |
|                  |     *   для значения настройки "ставить ли работы исполнителям от  |
|                  |         имени ответственного" = true, отображать подчиненных       |
|                  |         ответственного (если таковой выбран);                      |
|                  |                                                                    |
|                  |     *   иначе (для значения настройки "ставить ли работы           |
|                  |         исполнителям от имени ответственного" = false либо если    |
|                  |         не был выбран ответственный) - отображать подчиненных      |
|                  |         данного пользователя;                                      |
|                  |                                                                    |
|                  | *   идентификатор действия: reassign.                              |
|                  |                                                                    |
|                  | Поле должно автоматически очиститься, если сменили ответственного. |
+------------------+--------------------------------------------------------------------+
| Время завершения | Открывается системное окно ввода даты / времени.                   |
+------------------+--------------------------------------------------------------------+
| Форма завершения | Открывается список из возможных значений (полученных при загрузке  |
|                  | приложения) и значения "Нет", значение "Нет" должно быть в списке  |
|                  | первым. Если список форм завершения пуст, поле не должно быть      |
|                  | отображено.                                                        |
+------------------+--------------------------------------------------------------------+

Если пользователь нажимает на кнопку "Назад", возвращается экран
информации о работе в том же состоянии, что и до вызова данного экрана.

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

-   заполнена формулировка перепоручаемой работы;

-   для включенного флажка заполнено поле "Ответственный", для
    выключенного - поле "Исполнители".

> **Примечание**
> 
> В случае, если требуется подпись перед отправкой, то по нажатию на 
> управляющую кнопку действие не произойдет (работа не перепоручится) 
> с ошибкой:
> 
> `Необходимо подписать документ до того, как вы его сможете отослать.`

В случае успешного выполнения действия открывается экран со списком
работ, список обновляется.

В случае неуспешного - выдается сообщение об ошибке, действие
выполняться не должно, пользователь остается на экране перепоручения
работы. Если не введены формулировка работы и/или ответственный (для
включенного флажка) - ошибка "Заполните все поля". Если для выключенного
флажка не выбрано ни одного исполнителя - ошибка "Работа не может быть
создана: не указан ни ответственный, ни исполнители".

> **Замечание**
>
> Метод API для перепоручения работы
> kz.arta.synergy.server.api.rest.works#startRoute
>
> Метод API получения информации для формирования окна
> kz.arta.synergy.server.api.rest.works#getSendWorkInfo

