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


Введение

При проектировании бизнес-процессов можно назначить исполнителями пользовательской задачи аккаунты и (или) роли:

Однако на этапе проектирования бизнес-процесса нет возможности назначить исполнителем задачи конкретную группу без использования формул или языка N3.

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

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

Прикладная задача

  • Имеется бизнес-процесс «Оформление заявок», связанный с шаблоном записи «Заявка».
  • Менеджер должен назначить группу исполнителей заявки на форме.
  • Участники группы исполнителей получат задачу «Обработать заявку».

Настройка выбора группы исполнителей с помощью селектора на форме

Алгоритм выбора группы исполнителей для задачи с помощью формы

Так как в Comindware Platform не предусмотрен атрибут типа «Группа», по значению которого можно было бы назначить исполнителей пользовательской задачи, мы настроим приложение следующим образом:

  • Создадим вспомогательный шаблон «Справочник групп» и скопируем в него названия имеющихся групп.
  • Создадим атрибут «Группа исполнителей»_типа «Запись», ссылающийся на _Справочник групп.
  • Создадим вычисляемый атрибут «Исполнители задачи» и укажем его в качестве исполнителей в свойствах задачи.
  • Когда пользователь выберет на форме Группу исполнителей_из _Справочника групп, значение атрибута «Исполнители задачи» будет заполнено ID аккаунтов исполнителей, входящих в группу с таким же названием, как у выбранной Группы исполнителей**.
  1. Создайте группы на странице «Администрирование» — «Администрирование аккаунтов» — «Группы»и добавьте в них аккаунты.
  2. Создайте шаблон записи «Справочник групп».
  3. Создайте атрибут «Название группы» типа «Текст» и установите у него флажок «Использовать как заголовок записей».
  4. Создайте несколько записей и в поле «Название группы» введите названия групп, указанные на странице «Группы», с точностью до прописных и строчных букв.
  5. В шаблоне записи «Заявка» создайте следующие атрибуты:
Название Тип данных Свойства
Группа исполнителей Запись Связанный шаблон: Справочник групп
Исполнители задачи Аккаунт Хранить несколько значений: флажок установлен Вычислять автоматически: флажок установлен Вычисляемое выражение: N3
6. В поле «Вычисляемое выражение» атрибута «Исполнители задачи» вставьте следующее выражение на N3:
# Импортируем функции для работы с записями, аккаунтами и базой данных 
@prefix object: <http://comindware.com/ontology/object#>.
@prefix account: <http://comindware.com/ontology/account#>.
@prefix cmw: <http://comindware.com/logics#>.
{
# Находим атрибут Nazvaniegruppy (Название группы) в шаблоне Spravochnikgrupp (Справочник групп)
# и помещаем его в переменную nazvaniegruppyAttribute
("Spravochnikgrupp" "Nazvaniegruppy") object:findProperty ?nazvaniegruppyAttribute.

# Находим атрибут Zayavka (Заявка) в шаблоне Gruppaispolniteley (Группа исполнителей)
# и помещаем его в переменную gruppaispolniteleyAttribute
("Gruppaispolniteley" "Zayavka") object:findProperty ?gruppaispolniteleyAttribute.

# Помещаем значение атрибута Gruppaispolniteley, то есть группу,
# выбранную в текущей заявке item,
# в переменную gruppaispolniteleyValue,
?item ?gruppaispolniteleyAttribute ?gruppaispolniteleyValue.

# Находим название выбранной группы шаблоне Spravochnikgrupp,
# то есть значение атрибута Nazvaniegruppy,
# и помещаем его в переменную nazvaniegruppy
?gruppaispolniteleyValue ?nazvaniegruppyAttribute ?nazvaniegruppy.

# Находим группу по названию из переменной nazvaniegruppy
# и помещаем группу в переменную gruppaispolniteley
?gruppaispolniteley account:groupName ?nazvaniegruppy.

# Находим все аккаунты в группе из переменной gruppaispolniteley
# и помещаем их в переменную value,
# то есть заполняем значение атрибута «Исполнители задачи»
?gruppaispolniteley account:groupUsers ?value.
}
  1. Создайте процесс «Оформление заявок» и добавьте на диаграмму пользовательскую задачу «Обработать заявку».
  2. На стартовую форму процесса добавьте атрибуты «Группа исполнителей» и «Исполнители задачи» шаблона записи «Заявка».
  3. В свойствах пользовательской задачи «Обработать заявку» выберите в поле «Исполнители» атрибут «Исполнители задачи».
  4. Опубликуйте диаграмму процесса «Оформление заявок».
![Диаграмма процесса «Оформление заявок»](https://kb.comindware.ru/assets/img_66867a9324c0c.png)<figcaption>Диаграмма процесса «Оформление заявок»</figcaption>

Тестирование

  1. Создайте экземпляр процесса «Оформление заявок».
  2. На стартовой форме выберите группу из раскрывающегося списка  «Группа исполнителей».
  3. В поле «Исполнители задачи» отобразятся аккаунты, которые входят в выбранную группу.
  4. Нажмите кнопку «Создать».
  5. Задача «Обработать заявку» отобразится только у аккаунтов, которые входят в выбранную группу. У других аккаунтов задача отображаться не будет.

Связанные статьи

К началу


Номер Статьи: 5335
Размещено: Thu, Jul 4, 2024
Последнее обновление: Sat, Jun 20, 2026

Online URL: https://kb.comindware.ru/article/naznachenie-zadachi-na-gruppu-ispolnitelej-vybrannuyu-na-forme-primer-nastrojki-5335.html