Создание работы / документов

По нажатию в модуле «Работы» на кнопку «+» вызывается меню «Создать» (илл. «Пункты меню «Создать»»).

Рисунок 4.15. Пункты меню «Создать»

Пункты меню «Создать»

В построении меню создания участвуют пункты параметра work_items в порядке, определенном полем position.

Примечание

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

В правой части групп отображается иконка 
![](resources/img/workflow/elements/menu_undetailed.png) в 
свернутом состоянии и 
![](resources/img/workflow/elements/menu_detailed.png) в 
развернутом. По нажатию в любой области строки со свернутой 
группой иконка разворачивается, и наоборот. Развернутая группа 
должна содержать либо вложенные группы (по умолчанию, каждый раз 
они свернуты), либо избранные пункты создания документов. Строки 
с вложенными группами и пунктами от левого края должны иметь 
отступ, при этом уровни вложенности, начиная с 4-й, должны иметь 
отступ как для 3-го уровня. 

По нажатию на пункт (не группу) открывается соответствующий экран 
[создания документа](#sec.workflow_document_create);

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

Примечание:

Метод получения настроек пунктов создания и диалогов создания работы описан в javadoc:

kz.arta.synergy.server.api.rest.common.SettingsService#getSettings.

Метод получения пунктов создания документа (в т.ч. только избранных) описан в javadoc:

kz.arta.synergy.server.api.rest.common.RegistryService#getFavorite.

Каждая из групп пунктов должна быть отделена от следующей видимым сплитом.

Если список создания работы / документов пуст, то кнопку «+» отрисовывать не нужно. Если же меню содержит только один пункт, то по нажатию кнопки «+», исключая его, должно выполняться соответствующее действие и вызываться соответствующий экран.

По нажатию на пункт с идентификатором all_documents открывается экран «Избранное», который содержит список всех групп и пунктов создания документов (илл. «Список всех пунктов создания документов»).

Рисунок 4.16. Список всех пунктов создания документов

Список всех пунктов создания документов

Рисунок 4.17. Список всех пунктов создания документов

Список всех пунктов создания документов

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

Панель со списком групп и пунктов создания документа имеет следующие особенности:

На экране «Избранное» есть возможность «живого» поиска пунктов (не групп) по названиям (илл. «Поиск по пунктам создания документов»). Для этого пользователь нажимает по полю поиска и вводит текст запроса, при вводе текста иконка лупы заменяется на иконку крестика. Очистить поле ввода можно, нажав на крестик (крестик заменяется на иконку лупы). Пустой запрос поиска - отображается экран в первоначальном виде (илл. «Список всех пунктов создания документов»).

Рисунок 4.18. Поиск по пунктам создания документов

Поиск по пунктам создания документов

Рисунок 4.19. Поиск по пунктам создания документов

Поиск по пунктам создания документов

При поиске панель со списком групп и пунктов создания документа преобразовывается:

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

Не выбран пункт создания документа

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

Если пользователь на экране «Избранное» нажимает на кнопку «Назад», мобильный клиент возвращает экран со списком работ в том состоянии, которое было до вызова данного экрана.

Создание и редактирование работы

На экране со списком работ по нажатию на кнопку «+» и выбору пункта меню создания работы открывается соответствующий экран создания работы (илл. «Создание работы с 1 шагом»).

Рисунок 4.20. Создание работы с 1 шагом

Создание работы с 1 шагом

Рисунок 4.21. Создание работы с 1 шагом

Создание работы с 1 шагом

Если у пользователя есть право на редактирование работы, в результате долгого нажатия по плашке работы появляется меню, в котором присутствует пункт «Изменить». Пользователь нажимает на этот пункт меню, открывается экран редактирования работы (илл. «Редактирование работы с 1 шагом»).

Рисунок 4.22. Редактирование работы с 1 шагом

Редактирование работы с 1 шагом

Рисунок 4.23. Редактирование работы с 1 шагом

Редактирование работы с 1 шагом

Параметры работы.

Название параметра (поле API) Описание Значение по умолчанию

Формулировка работы (NAME)

Вводится полное название работы.

Создание - поле пустое, placeholder - «Введите формулировку работы».

Редактирование - текущее название работы.

Ответственный (RESPONSIBLE)

Открывается экран «Пользователи» (илл. «Экран «Пользователи» со скрытыми тегами»), параметры:

  • выбор одного пользователя;

  • если значение настройки «разрешено ли передавать работы другим исполнителям» = true, отображать всех пользователей, иначе - только подчиненных (включая делегированных подчиненных);

  • идентификатор действия не указывается.

Поле должно автоматически очиститься и стать неактивным (независимо от его заполненности), если выключается флажок.

Создание - флажок включен, поле пустое, placeholder - «Выберите ответственного». При отсутствии поля «Исполнители» флажок недоступен для выключения.

Редактирование - флажок отсутствует, само поле присутствует всегда (даже если его отображение отключено настройками диалога), заполнено значением текущего ответственного.

Автор (AUTHOR)

Открывается экран «Пользователи» (илл. «Экран «Пользователи» со скрытыми тегами»), параметры:

  • выбор одного пользователя;

  • отображать неподчиненных или нет не указывается;

  • идентификатор действия: 101.

Создание - если настройка приложения «отображать поле автор при создании работы» = false, поле должно отсутствовать, иначе - поле активно, заполнено авторизованным пользователем.

Редактирование - текущий автор работы, неактивно.

Исполнители (USERS)

Открывается экран «Пользователи» (илл. «Экран «Пользователи» со скрытыми тегами»), параметры:

  • множественный выбор пользователей;

  • если значение настройки «разрешено ли добавлять соисполнителей к работам, не являющихся подчиненными» = true, отображать всех пользователей, если false:

    • для значения настройки «ставить ли работы исполнителям от имени ответственного» = true, отображать подчиненных ответственного (если таковой выбран);

    • для значения настройки «ставить ли работы исполнителям от имени ответственного» = false либо если не был выбран ответственный - отображать подчиненных данного пользователя (включая делегированных подчиненных);

  • идентификатор действия не указывается.

Поле должно автоматически очиститься, если сменили ответственного. Поле должно отсутствовать, если значение настройки «обязательно ли подписание документов перед отправкой» = true.

Создание - поле пустое, placeholder - «Выберите исполнителей».

Редактирование - поле отсутствует всегда (даже если его отображение включено настройками диалога).

Изменить срок (DATES)

Открывается системное окно ввода даты / времени.

Создание - значения запрашиваются с сервера при открытии экрана.

Редактирование - время начала и завершения текущей работы.

Приоритет (PRIORITY)

Открывается список для выбора одного из значений, полученных при загрузке приложения (параметр current_priorities).

Создание - значение запрашивается с сервера при загрузке приложения (параметр prority).

Редактирование - значение приоритета текущей работы.

Форма завершения (COMPLETION_FORM)

Открывается список из возможных значений, полученных при загрузке приложения (параметр work_completion_forms) и значения «Нет», значение «Нет» должно быть в списке первым. Если список форм завершения пуст, поле не должно быть отображено.

Создание - «Нет».

Редактирование - форма завершения текущей работы. Если текущая форма завершения работы отсутствует в списке - «Нет».

Комментарий к работе (COMMENT)

Вводится комментарий к работе.

Создание - поле пустое.

Редактирование - поле всегда отсутствует.

Добавить файл (ATTACH_FILE)

Выбирается вариант добавления: «С устройства» / «Сфотографировать». Добавленные файлы отображаются сразу после кнопок. Отображается только название файла.

При создании и редактировании поля пустые.

Экран создания работы может иметь несколько видов, в соответствии с выбранным пунктом создания. В зависимости от того, какое значение у параметра special в методе получения описания полей, зависит содержимое экрана создания работы:

  • false: экран должен состоять из одного шага, последовательность параметров должна соответствовать таблице. В таком случае экран прокручивается, кнопка «Сохранить» не имеет фиксированного положения.

  • true: экран может содержать несколько экранов (по количеству массивов в параметре steps), разделенных между собой буллитами. В каждом экране набор и последовательность параметров определяется API. Переключение между экранами осуществляется с помощью свайпа вправо/влево (для активного левого экрана свайп вправо должен отсутствовать, аналогично для активного правого экрана свайп влево должен отсутствовать). В таком случае экран не прокручивается, кнопка «Сохранить» и буллиты над ней имеют фиксированное положение внизу экрана.

Рисунок 4.24. Создание работы с несколькими шагами

Создание работы с несколькими шагами

Рисунок 4.25. Создание работы с несколькими шагами

Создание работы с несколькими шагами

Экран редактирования работы всегда имеет только один вид, который соответствует дефолтному (параметр default = true) экрану создания работы. С параметром special здесь аналогично:

  • false: экран должен состоять из одного шага, последовательность параметров должна соответствовать таблице. В таком случае экран прокручивается, кнопка «Сохранить» не имеет фиксированного положения.

  • true: экран может содержать несколько экранов (по количеству массивов в параметре steps), разделенных между собой буллитами. В каждом экране набор и последовательность параметров определяется API. Переключение между экранами осуществляется с помощью свайпа вправо/влево (для активного левого экрана свайп вправо должен отсутствовать, аналогично для активного правого экрана свайп влево должен отсутствовать). В таком случае экран не прокручивается, кнопка «Сохранить» и буллиты над ней имеют фиксированное положение внизу экрана.

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

Рисунок 4.26. Редактирование работы с несколькими шагами

Редактирование работы с несколькими шагами

Рисунок 4.27. Редактирование работы с несколькими шагами

Редактирование работы с несколькими шагами

При создании работы файл добавляется в папку «Приложения», при редактировании работы - в «Приложения», если есть доступ, в «Прочие», если доступа нет (выбор в какую папку файлы должны быть добавлены осуществляется на сервере, указывать на клиенте это не нужно).

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

Примечание:

Для версий мобильного приложения 3.6 и ниже поведение при нажатии по плашке вложения, имеющего расширение asfdocx, следующее: если форма имеет печатное представление, то файл по форме должен скачиваться в pdf-версии согласно шаблона печатного представления, иначе необходимо выдавать сообщение-ошибку:

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

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

Для удаления только что добавленного файла пользователь долго нажимает на плашку вложения и в появившемся меню «Действия» выбирает пункт «Удалить». Открывается окно подтверждения удаления с сообщением

Вы действительно хотите удалить данный файл?

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

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

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

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

  • для включенного флажка заполнено поле «Ответственный», для выключенного

    • поле «Исполнители»;

  • заполнено поле «Автор» работы;

  • заполнены сроки, причем дата начала меньше даты завершения;

  • в поле «Приоритет» выбран нескрытый приоритет.

В случае успешного сохранения открывается экран со списком работ. Если была создана новая работа - она вставляется в верх списка. Плашка измененной работы обновляется (обновление всего списка не требуется).

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

  • Если не введены формулировка работы и/или ответственный (для включенного флажка) - ошибка:

    Заполните все поля

  • Если для выключенного флажка не выбрано ни одного исполнителя - ошибка:

    Работа не может быть создана: не указан ни ответственный, ни исполнители

  • Если у просроченной работы был изменен ответственный - ошибка:

    Вы не можете изменить ответственного у просроченной работы. Измените дату завершения.

  • Если у обычной (непросроченной) работы был изменен ответственный - предупреждающее сообщение:

    Вы действительно хотите изменить ответственного? Данная работа будет удалена. Вместо нее будет создана аналогичная для нового пользователя с датой начала от текущего числа.

    и действиями «Да» и «Нет».

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

    Выбранный приоритет работы отсутствует в справочнике приоритетов. Выберите другое значение.

Примечание

Метод получения описания полей диалога создания работы:

kz.arta.synergy.server.api.rest.works.WorkFlowService#getWorkDialogs

Метод получения дефолтных полей для создания новой работы:

kz.arta.synergy.server.api.rest.works.WorkFlowService#getDefaultWorkFields

Метод добавления работы:

kz.arta.synergy.server.api.rest.works.WorkFlowService#createWork

Метод изменения работы:

kz.arta.synergy.server.api.rest.works.WorkFlowService#saveWork

Метод добавления файла:

kz.arta.synergy.server.api.rest.works.WorkFlowService#createAttachment (параметр path должен отсутсвовать)

Метод добавления комментария:

kz.arta.synergy.server.api.rest.works.WorkFlowService#addComment

Создание документов

На экране со списком работ по нажатию на кнопку «+» и выбору избранного пункта меню (не «Работа»), а также при выборе любого пункта (не группы) в диалоге «Избранное» (илл. «Список избранных пунктов создания документов», илл. «Список всех пунктов создания документов»), открывается экран проигрывателя формы.

Примечание

Для версий мобильного приложения 3.6 и ниже открывается экран создания документа, полностью аналогичный таковому в Создание документов (для таких же версий).

Нажатие «Назад» в данном случае возвращает пользователя в список работ.

В результате успешного сохранения выдается сообщение «Данные сохранены», документ сохраняется, открывается экран информации о работе с единственной управляющей кнопкой запуска маршрута (Запуск маршрута).