Сборка BPM предназначена для работы с расширением «Управление бизнес-процессами». Программирование с использованием данной сборки заключается в последовательной настройке процессов, запуск их на выполнение, работа с шагами в запущенном экземпляре процесса, мониторинг и получение результатов выполнения процесса.
Перед началом работы с алгоритмом расчёта:
Убедитесь, что установлено расширение «Управление бизнес-процессами».
В среде разработки добавьте ссылки на системную сборку 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;
Для создания нового процесса:
Добавьте ссылку на пользовательский модуль «Модуль взаимодействия
с метабазой», который содержится в компоненте «Конструктор бизнес-приложений
> Общие компоненты»:

Из подключенного модуля с помощью функции 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