Перейти к содержанию

Назначение задачи на группу, выбранную на форме

Назначение пользователей на задачу в Comindware Business Application Platform может осуществляться по-разному: выбранным значением, атрибутом с типом данных «Пользователь», и т.д. Исполнителя можно назначать как на схеме процесса, так и выбором на форме предыдущих задач. Также можно реализовать выбор целой группы пользователей, которые будут видеть назначенную задачу и смогут взять её в работу (только первый, взявший в работу).

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

Описание:

  • Имеется основной шаблон записи «Заявки», связанный с текущим процессом.
  • Созданы нужные группы в глобальных настройках.

Настройка:

1. Создайте новый шаблон записи «Группы» с текстовыми атрибутами «Имя» и «Системное имя». Атрибут «Имя» сделайте отображаемым.

2. Создайте записи в шаблоне записи «Группы», где в имени укажите то, которое хотите, чтобы отображалось. Системное же имя скопировать с названия групп в глобальных настройках.

3. В шаблоне записи «Заявки» создайте атрибут с типом данных «Ссылка» на шаблон записи «Группы». Этот атрибут вынесите на форму диспетчера для выбора группы для назначения на неё определенных задач в процессе.

4. В шаблоне записи «Заявки» создайте вычисляемый атрибут с типом данных «Пользователь» — «Исполнители». Вставьте следующее выражение выражение вида N3 :

 

@prefix object: <http://comindware.com/ontology/object#>.

@prefix account: <http://comindware.com/ontology/account#>.

@prefix cmw: <http://comindware.com/logics#>.

{

    ("Groups" "SystemName") object:findProperty ?systemNameProperty.

    ("F_Zayavka" "Gruppa") object:findProperty ?gruppaProperty.

   

            ?item ?gruppaProperty ?gruppa.

            ?gruppa ?systemNameProperty ?systemName.

            ?gruppa1 account:groupName ?systemName.

            ?gruppa1 account:groupUsers ?value.

}

где:

Groups — системное имя шаблона записи «Группы»;

SystemName — системное имя атрибута «Системное имя» в шаблоне записи «Группы»;

F_Zayavka — системное имя шаблона записи «Заявки»;

Gruppa — системное имя атрибута с типом данных «Ссылка» на шаблон записи «Группы».

5. Вставьте этот атрибут в поле «Исполнители» в настройках нужных задач в процессе.

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