В этой статье:

Начало работы с процессами

Создание нового процесса

Общие принципы программирования с использованием сборки BPM

Сборка BPM предназначена для работы с расширением «Управление бизнес-процессами». Программирование с использованием данной сборки заключается в последовательной настройке процессов, запуск их на выполнение, работа с шагами в запущенном экземпляре процесса, мониторинг и получение результатов выполнения процесса.

Перед началом работы с алгоритмом расчёта:

  1. Убедитесь, что установлено расширение «Управление бизнес-процессами».

  2. В среде разработки добавьте ссылки на системную сборку BPM и пользовательскую сборку «Бизнес-процссы. Ядро», которая содержится в компоненте «Бизнес-процессы»:

После выполнения указанных действий будут доступны интерфейсы/классы/перечисления, необходимые для работы с процессами из прикладного кода.

Начало работы с процессами

Работа с процессами репозитория осуществляется через прикладной класс BProcessCollectionClass, доступ к которому предоставляет функция BProcessCollection. Класс и функция реализованы в подключенной сборке «Бизнес-процссы. Ядро». Свойства и методы класса позволяют получить структуру процесса, описываемую интерфейсом IBProcess.

Пример получения структуры процесса и открытия процесса на редактирование:

Sub UserProc;
Var
    Mb: IMetabase;
    MObj: IMetabaseObjectDescriptor;
    Process: IBProcess;
Begin
    Mb := MetabaseClass.Active;
    MObj := Mb.ItemById("PROCESS");
    // Получение структуры процесса
    Process := BProcessCollection.ByKey(MObj.Key);
    // Открытие процесса на редактирование
    Process := BProcessCollection.EditByKey(MObj.Key);
    //...
End Sub UserProc;

Создание нового процесса

Для создания нового процесса:

  1. Добавьте ссылку на пользовательский модуль «Модуль взаимодействия с метабазой», который содержится в компоненте «Конструктор бизнес-приложений > Общие компоненты»:

  2. Из подключенного модуля с помощью функции GetCustomClassByEnum получите пользовательский класс для процессов, в качестве параметра передайте элемент перечисления BPClasses.Process. Идентификатор полученного класса будет использоваться для создания новых объектов:

    Sub CreateProcess;
    Var
        Mb: IMetabase;
        ProcClsId: integer;
        CrInfo: IMetabaseObjectCreateInfo;
    Begin
        Mb := Metabaseclass.Active;
        // Получение класса объектов - Процесс
        ProcClsId := GetMetabaseHelper.GetCustomClassByEnum(BPClasses.Process).ClassId;
        // Создание нового процесса
        CrInfo := Mb.CreateCreateInfo;
        CrInfo.ClassId := ProcClsId;
        CrInfo.Parent := Mb.ItemById("F_BPM");
        CrInfo.Permanent := True;
        Mb.CreateObject(CrInfo).Edit;
    End Sub CreateProcess;

См. также:

Введение в сборку BPM | Интерфейсы сборки BPM | Перечисления сборки BPM