IBProcess.Stages

Синтаксис

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;

При выполнении примера в консоль среды разработки будет выведена информация об этапах процесса.

См. также:

IBProcess