Пользовательские задания
Пользовательские задания

Пользовательские задания

Функциональность

Наименование сервиса в среде оркестрации микросервисов: dqhumantask

Пример ссылки на Swagger: http://dqhumantask.<полное имя неймспейса>/dqhumantask/swagger-ui/#/

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

Модуль пользовательских заданий обеспечивает выполнение следующих функций:

  1. Просмотр, создание и редактирование шаблонов пользовательских заданий.
  2. Просмотр списка пользовательских заданий.
  3. Управление фильтрами в списке пользовательских заданий.
  4. Быстрая обработка пользовательского задания из интерфейса списка пользовательских заданий.
  5. Выделение наиболее важных заданий в списке.
  6. Просмотр протокола пользовательского задания.
  7. Переназначение задания на другого исполнителя.
  8. Отмена задания по техническим или иным причинам.
  9. Обработка пользовательского задания.
  10. Выбор алгоритма распределения заданий.
  11. Назначение ответственных лиц кому доступно задание для просмотра.
  12. Делегирование и эскалация пользовательских заданий.

Для работы с модулем «Пользовательские задания» необходимо зайти на платформу Q.BPM и пройти авторизацию.

В боковом меню для пользователя доступны пункты "Шаблоны задания", "Список заданий" и "Делегирование заданий".

Настройка кубика

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

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

empty

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

empty

  • Для указания конкретного исполнителя во входящих параметрах следует добавить параметр: createdBy - указать userAccountId пользователя.
  • Для передачи действий на обработку задания используется параметр: actions - Карта со значениями **наименование действия : системное наименование действия**.
  • Для передачи комментария в задание используется параметр: comment - передать текст комментария.

Определение ответственных по заданию динамически из процесса:

  1. актуализировать версию Q.BPM Player
  2. настроить авторизацию
  3. в шаблоне пользовательского задания включить параметр "Определять динамически"
  4. в процессе на кубике с типом "Задача, выполняемая пользователем" передать список объектов responsible. См. пример ниже
def responsible = [
    ['subjectType': 'ROLE', 'subjectId': roleId, 'subjectName': 'roleSysName', 'subject': 'Роль', 'isPerform': true],
    ['subjectType': 'USER', 'subjectId': userAccountId, 'subjectName': 'userLogin', 'subject': 'Пользователь', 'isPerform': true],
    ['subjectType': 'EMPLOYEE', 'subjectId': employeeId, 'subjectName': 'fullName', 'subject': 'Сотрудник', 'isPerform': true],
    ['subjectType': 'PRODUCTION_ROLE', 'subjectId': roleId, 'subjectName': 'roleSysName', 'subject': 'Производственная роль', 'isPerform': true],
    ['subjectType': 'USER_GROUP', 'subjectId': groupId, 'subjectName': 'sysName', 'subject': 'Группа пользователей', 'isPerform': true]
]
⚠️

Если при динамическом определении в шаблоне используется алгоритм распределения заданий, убедитесь, что у subjectType, на который будет определена задача, есть все необходимые связи, которые участвуют в алгоритме.
Например: в алгоритме указана связь сотрудника с департаментом, но у самого сотрудника данная связь в системе не сделана. Таким образом при назначении на 'subjectType': 'USER' сотрудник не увидит задачу.

Приоритет заданий

Заданиям можно выставить приоритет. Приоритет используется для фильтрации в списке заданий. Для настройки приоритета в бизнес-процессе выбрать кубик с типом User Task (Задача, выполняемая пользователем). В свойствах кубика на вкладке «Общее» в поле «Приоритет» указать числовое значение:

  • от 0 до 50 – низкий приоритет
  • 51-99 – средний приоритет
  • 100-150 – высокий приоритет
💡

Если на кубике оставить поле "Приоритет" незаполненным, то по умолчанию заданию проставляется низкий приоритет.

Список пользовательских заданий

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

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

empty

Протокол пользовательского задания

Форма отображает историю взаимодействия с заданием. В бизнес-процессе может быть реализована различная логика в виде ветвлений, основанная на действиях обработки задания. Таким образом задание может быть отправлено на "повторный" круг. Например, уточнить детали или повторить вычисление операции.

empty

Обработка задания

Интерфейс обработки предоставляет развернутую информацию о пользовательском задании. Интерфейс в себя включает:

  • левая боковая панель - сводная информация о задании;
  • центральная часть интерфейса - кастомный спроектированный виджет для обработки различных типов заданий;
  • кнопки обработки пользовательского задания:
    • Отмена - закрывает форму обработки задания;
    • Выпадающий список доступных действий для обработки задания.

Кастомный виджет пользовательского задания должен быть спроектирован разработчиком. Ссылку на виджет необходимо указать в шаблоне пользовательского задания. Платформа предоставляет стандартный виджет для обработки, содержащий поле ввода "Комментарий".

empty

При обработке пользовательского задания с типом "Делегирование" родительское задание будет автоматически переведена в статус "Завершено" с таким же действием-обработкой как у задания-делегирования. При обработке пользовательского задания с типом "Эскалация" родительское задание не будет автоматически завершена. Родительское задание необходимо будет обработать.