### Панель с параметрами работы, панель формы завершения {#sec.workflow_work_information}

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

*   Файл с хранилища
*   Файл с устройства
*   Фото
*   Комментарий

По нажатию на пункт *Файл с хранилища* открывается экран 
["С хранилища"](#file_storage).

Если на выбранный файл хранилища отсутствует право «Загрузка 
файла документа» (`LOAD_DOCUMENT`), необходимо выдавать ошибку:

`Недостаточно прав для выполнения действия`

не выполнять действие, закрыв при этом экран "С хранилища".

По нажатию на пункт *Файл с устройства* открывается системный 
экран / окно выбора файла с устройства.

По нажатию на пункт *Фото* открывается встроенный фотомодуль 
устройства. Имя нового файла, полученного таким образом, должно 
быть в формате "Снимок dd MM yyyy HH:mm".

По нажатию на пункт *Комментарий* открывается экран 
"Комментарий" для ввода нового комментария в ту вкладку 
комментариев, что выделена в момент вызова данной функции.

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

Аналогично, если пользователь на экране «С хранилища» / 
«Комментарий» / системных экранов добавления файла с 
устройства или камеры нажимает на кнопку "Назад", мобильный 
клиент возвращает экран информации о работе в том состоянии, 
которое было до вызова данного экрана.

**Панель с параметрами работы.**

Ниже верхней панели располагается панель с параметрами работы. 
Панель не имеет фиксированной высоты, не прокручивается.

Параметры, которые отображаются на данной панели:

+---------------------------------+------------------------+-------------------------------------+
| Параметры работы                | Описание               | Поле API                            |
+=================================+========================+=====================================+
| *Всегда:*                       |                        |                                     |
+---------------------------------+------------------------+-------------------------------------+
| %Формулировка работы%           | полное название работы | `name`                              |
+---------------------------------+------------------------+-------------------------------------+
| Поставил: %Фамилия И.О.%        | автор работы           | `author`                            |
+---------------------------------+------------------------+-------------------------------------+
| Ответственный: %Фамилия И.О.%   | исполнитель работы     | `user`                              |
+---------------------------------+------------------------+-------------------------------------+
| *Дополнительно:*                |                        |                                     |
+---------------------------------+------------------------+-------------------------------------+
| %ДД месяц ГГГГ - ДД месяц ГГГГ% | сроки исполнения для   | `start_date`, `finish_date`         |
|                                 | незавершенной работы   |                                     |
+---------------------------------+------------------------+-------------------------------------+
| %Значение прогресса%            | показывает текущий     | cм. таблицу "Идентификаторы         |
|                                 | прогресс работы        | для обозначения прогресса" в        |
|                                 |                        | [Список работ](#sec.workflow_works) |
|                                 |                        | (столбец "Полное значение")         |
+---------------------------------+------------------------+-------------------------------------+

Если у работы отсутствует какой-либо из параметров `author` / 
`user`, то соответствующая строка в панели должна отсутствовать 
полностью.

![Параметры работы с прогрессом и назначенной формой завершения](resources/img/workflow/work_view1.png)

![Параметры работы с прогрессом и назначенной формой завершения](resources/img/workflow/iOS/work_view1.png)

![Параметры работы с действием](resources/img/workflow/work_view2.png)

![Параметры работы с действием](resources/img/workflow/iOS/work_view2.png)

![Параметры работы по процессу резолюции](resources/img/workflow/work_view6.png)

![Параметры работы по процессу резолюции](resources/img/workflow/iOS/work_view6_ios.png)

*Значение прогресса - слайдер.*

Слайдер доступен, если у пользователя есть право на изменение 
значение прогресса (`can_change_progress`), иначе - недоступен.

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

`Вы действительно хотите изменить значение прогресса?`

Если пользователь подтверждает изменение прогресса, отправляется 
запрос на сервер для изменения, иначе - значение слайдера 
устанавливается в исходное. В случае успешного выполнения 
информация о работе обновляется, иначе - отображается сообщение 
об ошибке.

> **Примечание**
>
> Метод API для изменения прогресса работы:
>
> kz.arta.synergy.server.api.rest.works.WorkFlowService#setWorkProgress
>
> Метод для добавления вложения:
>
> kz.arta.synergy.server.api.rest.works.WorkFlowService#createAttachment 
> (параметр path должен отсутсвовать)
>
> Метод для добавления комментария:
>
> kz.arta.synergy.server.api.rest.works.WorkFlowService#addComment

**Панель формы завершения.**

Ниже панели с параметрами работы, при наличии у работы формы 
завершения, располагается панель формы завершения.

Для завершенной работы на вкладке отображается надпись "Результат 
завершения" и ниже непосредственно результат работы. Результат 
работы "файл" и "форма" можно просмотреть системными средствами, 
нажав по нему. Для "формы" должна скачиваться pdf-версия формы. 
Никаких других действий в данной панели быть не должно.

Наличие формы завершения у работы определяется полем 
`completionFormID`, если его нет или значение является пустой 
строкой, значит форма завершения не задана.

Наличие результата завершения работы определяется полем 
`completionResultID`, если его нет или значение является пустой 
строкой, значит результат завершения не задан.

Если форма завершения задана, но результат отсутствует необходимо 
отображать название формы завершения "Форма завершения - 
%Значение_формы%" (илл. «Параметры работы с прогрессом и 
назначенной формой завершения»), название можно взять по 
идентификатору `completionFormID` из значений справочника, 
полученных при загрузке приложения.

Если результат завершения работы задан, его необходимо запросить 
с сервера.

Способ отображения результата работы зависит от типа:

*   если результат формы - файл (поле `type` = file), тогда 
    результат должен отображаться в виде пиктограммы и названия 
    файла (илл. «Параметры работы с формой завершения - файл»);

*   если результат формы - комментарий (поле `type` = comment), 
    тогда результат должен отображаться в виде строки (илл. 
    «Параметры работы с формой завершения - комментарий»);

*   если результат формы - форма (поле `type` = form), тогда 
    результат должен отображаться в виде пиктограммы и названия 
    файла по форме (илл. «Параметры работы с формой завершения - 
    форма»).

> **Примечание**
>
> Метод получения информации о результате завершения работы:
>
> kz.arta.synergy.server.api.rest.works.WorkFlowService#getWorkCompletionResult

![Параметры работы с формой завершения - файл](resources/img/workflow/work_view4.png)

![Параметры работы с формой завершения - комментарий](resources/img/workflow/work_view3.png)

![Параметры работы с формой завершения - форма](resources/img/workflow/work_view7.png)



