StartWorkflow
Описание и параметры
string public static function CBPDocument::StartWorkflow( integer workflowTemplateId, array documentId, array arParameters, array &arErrors );
Метод запускает рабочий поток по коду его шаблона. Это рекомендуемый метод для запуска бизнес-процессов.
Примечание: Метод принимает массив конфигурационных параметров и генерирует скрипты, необходимые для показа файлового диалога. Метод статический.
Параметры метода
Параметр | Описание |
---|---|
workflowTemplateId | Код шаблона рабочего потока. |
documentId | Массив из 3 элементов. id модуля, сущность (класс) и непосредственно ID документа, например:
['crm', 'CCrmDocumentLead', 'LEAD_1'] ['lists', 'BizprocDocument', '22'] ['disk', 'Bitrix\Disk\BizProcDocument', '490'] ['tasks', 'Bitrix\Tasks\Integration\Bizproc\Document\Task', '13'] Для бизнес-процессов: $documentId => array('lists', 'BizprocDocument', $id_element) Для шаблона списка: $documentId => array('lists', 'Bitrix\Lists\BizprocDocumentLists', $id_element) |
arParameters | Массив параметров запуска рабочего потока.
Примечание: если процесс запускается из другого процесса через API, и при этом передается значение множественного параметра, то оно должно передаваться в виде массива. |
arErrors | Массив ошибок, которые произошли при запуске рабочего потока в виде
array( array( "code" => код_ошибки, "message" => сообщение, "file" => путь_к_файлу ), ... ) |
Возвращаемое значение
Возвращается идентификатор запущенного бизнес-процесса. В случае ошибки заполняется массив ошибок.
Смотрите также
Примеры использования
<? // Запустим бизнес-процесс по шаблону $workflowTemplateId с входящими параметрами $arWorkflowParameters // для документа array("bizproc", "CBPVirtualDocument", $documentId) $arErrorsTmp = array(); $wfId = CBPDocument::StartWorkflow( $workflowTemplateId, array("bizproc", "CBPVirtualDocument", $documentId), array_merge($arWorkflowParameters, array("TargetUser" => "user_".intval($GLOBALS["USER"]->GetID()))), $arErrorsTmp ); if (count($arErrorsTmp) > 0) { foreach ($arErrorsTmp as $e) $errorMessage .= "[".$e["code"]."] ".$e["message"]." "; } ?>
Сообщение не промодерировано, возможны ошибки и неточности.
|
Чтобы бизнес процесс корректно привязался к элементу инфоблока и отображался корректно во вкладке Бизнес Процессы,
$documentId должен быть такой array('iblock', 'CIBlockDocument', $ELEMENT_ID) Если вы укажите ENTITY неверное, БП запустится, но у элемента не будет привязки к заданию бизнес процесса, хотя оно создаться. |
Сообщение не промодерировано, возможны ошибки и неточности.
|
||
| ||
Сообщение не промодерировано, возможны ошибки и неточности.
|
Для запуска в смарт-процессах:
$documentId => array("crm", "Bitrix\Crm\Integration\BizProc\Document\Dynamic", "DYNAMIC_157_263"), где 157 - это ID смарт-процесса, 263 - это ID элемента смарт-процесса. |
Юрий Кривопустов
|
||
Данные для $documentId смотрим в таблице b_bp_workflow_template.
Для шаблона списка это:
| ||
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.