<< Click to Display Table of Contents >> Объектная модель > Workflow – управление бизнес-процессами ProcessKinds – варианты процессов |
Вариант процесса включает схему бизнес-процесса и критерии ее выбора. Для программной работы с вариантами процессов используется репозиторий Sungero.Workflow.ProcessKinds. Наследник от Sungero.CoreEntities.NoCodeEntity.
У репозитория есть общие методы и свойства, как у всех репозиториев, например Copy(), Get(), Delete(). Если создать вариант процесса Sungero.Workflow.ProcessKinds.Create(), то для него станут доступны свои методы и свойства.
Методы
Имя |
Описание |
---|---|
Получить все подходящие по критериям варианты процессов |
|
Проверить, соответствует ли задача критериям данного варианта процесса |
Свойства
Имя |
Тип |
Описание |
---|---|---|
AccessRights |
Права доступа |
|
Criteria |
string |
Критерии выбора варианта процесса. Задаются в формате JSON, который сериализован в строку |
Description |
string |
Текстовое описание, комментарий |
DisplayValue |
string |
Отображаемое имя сущности |
History |
История работы с сущностью |
|
Id |
long |
Идентификатор |
Info |
Информация о типе сущности |
|
ModuleNameGuid |
Nullable<Guid> |
Идентификатор модуля, к которому относится настройка |
Name |
string |
Имя варианта процесса |
Priority |
Nullable<int> |
Приоритет варианта процесса. Минимальное значение – 0. Чем выше значение, тем выше приоритет |
IProcessKindParameters |
Список параметров процессов. Является свойством-коллекцией |
|
Scheme |
Object |
Схема варианта процесса |
State |
Состояние |
|
Status |
Nullable<Enumeration> |
Состояние жизненного цикла. Возможные значения: •Active – действующая; •Closed – закрытая; •Draft – черновик |
TaskType |
string |
Тип задачи, к которому относится вариант процесса |
Uuid |
Guid |
Идентификатор варианта процесса |
Пример 1. Получение подходящего по критериям варианта процесса
var task = Tasks.Create();
var processKind = Sungero.Workflow.ProcessKinds.GetAllMatches(task).Where(p => p.Priority < 10).First();
task.ProcessKind = processKind;
Пример 2. Проверка соответствия задачи критериям данного варианта процесса
var task = Tasks.Get(someTaskId);
var matched = task.ProcessKind.Match(task);
if (!matched)
throw new ValidationError("Выбранный вариант процесса не подходит по критериям.");
© Компания Directum, 2024 |