Count: Integer;
Свойство Count возвращает количество групп событий в коллекции.
Для выполнения примера в репозитории предполагается наличие процесса с идентификатором PROCESS. Для процесса настроены обработчики каких-либо событий.
Добавьте ссылки на системные сборки: BPM, Metabase. Также добавьте ссылку на сборку, которая необходима для работы с процессами.
Sub UserProc;
Var
Mb: IMetabase;
MObj: IMetabaseObjectDescriptor;
Process: IBProcess;
EventCollection: IBProcessEventGroupCollection;
EventGroup: IBProcessEventGroup;
Event_: IBProcessEvent;
i1, c1, i2, c2: Integer;
Begin
Mb := MetabaseClass.Active;
MObj := Mb.ItemById("PROCESS");
// Получение структуры процесса
Process := BProcessCollection.ByKey(MObj.Key);
// Получение коллекции групп событий у процесса
EventCollection := Process.Events;
c1 := EventCollection.Count;
For i1 := 0 To c1 - 1 Do
// Получение группы событий
EventGroup := EventCollection.Item(i1);
c2 := EventGroup.Count;
Debug.WriteLine("Группа событий: " + EventGroup.Name + ". Количество событий: " + c2.ToString);
Debug.Indent;
For i2 := 0 To c2 - 1 Do
Event_ := EventGroup.Item(i2);
Debug.WriteLine("Событие: " + Event_.Name + ". Тип: " + Event_.EventType.ToString);
End For;
Debug.Unindent;
End For;
End Sub UserProc;
При выполнении примера в консоль среды разработки для процесса будет выведены наименования доступных групп событий и созданных в них событий.
См. также: