Документ
Тип документа и документ – абстрактные для бизнес-процесса объекты, физический смысл которых в рамках бизнес-процесса не определен. Тип документа есть некоторое объединение документов. Тип документа и документ могут не иметь физического представления, т.е. быть чисто виртуальными. Бизнес-процесс работает с документом при помощи класса документа, который реализует интерфейс IBPWorkflowDocument.
Тип документа и документ определяются своими идентификаторами, которые имеют вид кортежа из трех элементов: кода модуля, имени класса документа и некоторого кода (как правило, кода элемента). Например,
array("iblock", "CIBlockDocument", "458")где
- iblock - код модуля инфоблоков,
- CIBlockDocument - имя класса документа,
- 458 - ID элемента инфоблока.
Шаблон бизнес-процесса привязан к типу документа. При связывании устанавливается, будет ли бизнес-процесс запускаться автоматически на создание нового документа.
Бизнес-процесс всегда выполняется над определенным документом. На один и тот же документ может быть одновременно запущено произвольное число бизнес-процессов.
Класс документа должен реализовывать методы интерфейса IBPWorkflowDocument. Этот интерфейс содержит методы, которые необходимы БП для работы с документом.
Чтобы БП мог работать с каким-либо объектом, необходимо выбрать:
- что будет являться документом,
- что будет являться типом документа,
- какие будут идентификаторы у документа и типа документа.
Кроме того нужно реализовать класс документа в соответствии с интерфейсом IBPWorkflowDocument. Для полноценной работы с БП, необходимо так же при создании документа организовать создание и запуск бизнес-процессов, настроенных на автозапуск. Нужно подключить интерфейс для создания шаблонов бизнес процессов. А так же нужно предоставить пользователям интерфейс для управления запущенными бизнес-процессами. Для создания указанного функционала существует готовое АПИ.