Stages: IBProcessStages;
Свойство Stages определяет этапы, содержащиеся в процессе.
Для выполнения примера в репозитории предполагается наличие процесса с идентификатором PROCESS.
Добавьте ссылки на системные сборки: BPM, Metabase. Также добавьте ссылку на сборку, которая необходима для работы с процессами.
Sub UserProc;
Var
Mb: IMetabase;
MDesc: IMetabaseObjectDescriptor;
Process: IBProcess;
Stages: IBProcessStages;
Stage: IBProcessStage;
i, c: Integer;
Deadline: DateTime;
Begin
Mb := MetabaseClass.Active;
MDesc := Mb.ItemById("PROCESS");
// Получение структуры процесса
Process := BProcessCollection.ByKey(MDesc.Key);
// Просмотр информации по этапам процесса
// Создание этапа
Stages := Process.Stages;
c := Stages.Count;
For i := 0 To c - 1 Do
Stage := Stages.Item(i);
Debug.WriteLine("Этап: " + Stage.Name + ". Guid: " + Stage.Guid);
Deadline := Stage.MinDeadline(DateTime.Now);
Debug.WriteLine(" Шлюз с условиями: " + Stage.AreConditionsActive.ToString
+ ". Количество групп шагов: " + Stage.StepGroups.Count.ToString
+ ". Срок завершения: " + (Deadline = DateTime.Now ? "Не определён." : Deadline.ToString));
End For;
End Sub UserProc;
При выполнении примера в консоль среды разработки будет выведена информация об этапах процесса.
См. также: