Add(_eventGroup: IBProcessEventGroup);
_eventGroup. Группа событий, которую необходимо добавить в коллекцию.
Метод Add добавляет указанную группу событий в коллекцию.
Для выполнения примера в репозитории предполагается наличие процесса с идентификатором PROCESS. В рамках первого этапа процесса созданы два шага. У первого шага имеется группа настроенных событий, наступающих при срыве сроков.
Добавьте ссылки на системные сборки: BPM, Metabase. Также добавьте ссылку на сборку, которая необходима для работы с процессами.
Sub UserProc;
Var
Mb: IMetabase;
MObj: IMetabaseObjectDescriptor;
Process: IBProcess;
Steps: IBProcessSteps;
Step1, Step2: IBProcessStep;
EventCollection: IBProcessEventGroupCollection;
EventGroup: IBProcessEventGroup;
Begin
Mb := MetabaseClass.Active;
MObj := Mb.ItemById("PROCESS");
// Получение структуры процесса
Process := BProcessCollection.EditByKey(MObj.Key);
Steps := Process.Stages.First.StepGroups.Item(0).Steps;
Step1 := Steps.Item(0);
Step2 := Steps.Item(1);
// Получение коллекции групп событий у шага
EventCollection := Step1.Events;
// Получени группы событий у первого шага
EventGroup := EventCollection.ItemByType(BProcessEventType.FailDeadline);
// Добавление полученной группы событий для второго шага
Step2.Events.Add(EventGroup);
// Сохранение процесса
If Step2.Events.CheckEvents = Null Then
Process.Save;
Debug.WriteLine("--- Процесс сохранён ---");
End If;
End Sub UserProc;
При выполнении примера будет получена группа событий, наступающих при срыве сроков выполнения первого шага у этапа процесса. Данная группа будет добавлена для второго шага.
См. также: