Add(Step_: IBProcessStep);
Step_. Шаг, который необходимо добавить в коллекцию.
Метод Add добавляет указанный шаг в конец коллекции.
Для выполнения примера в репозитории предполагается наличие процесса с идентификатором PROCESS. В процессе создан минимум один этап.
Добавьте ссылки на системные сборки: BPM, Metabase. Также добавьте ссылку на сборку, которая необходима для работы с процессами.
Sub UserProc;
Var
Mb: IMetabase;
MDesc: IMetabaseObjectDescriptor;
Process: IBProcess;
Steps: IBProcessSteps;
Step_: IBProcessStep;
Duration: IBPDuration;
Begin
Mb := MetabaseClass.Active;
MDesc := Mb.ItemById("PROCESS");
// Получение структуры процесса
Process := BProcessCollection.EditByKey(MDesc.Key);
// Получение коллекции шагов первого этапа
Steps := Process.Stages.Item(0).StepGroups.Item(0).Steps;
// Создание нового шага
Step_ := Steps.CreateNewStep(BProcessStepType.ManualTask, "Ручное действие", Process);
Step_.Description := "Оповещение всех участников о начале работы";
Step_.RoleId := Mb.Security.ResolveName("TESTUSER").Sid.AsString;
// Срок выполнения шага
Duration := Step_.MaxDuration;
Duration.Type := DurationType.Day;
Duration.Amount := 2;
Duration.IsAbsoluteLag := True;
Duration.AbsoluteLag := TimeSpan.FromHours(21).ToDouble;
// Добавление шага в коллекцию
Steps.Add(Step_);
// Сохранение изменений
Process.Save;
End Sub UserProc;
При выполнении примера для этапа процесса будет создан новый шаг. Для шага будут определены описание, ответственный, а также срок выполнения.
См. также: