У меня получилось так запустить:
| Код |
|---|
global $USER;
if (!is_object($USER)) {
$USER = new \CUser();
}
// Бизнес процесс
if (Loader::IncludeModule('bizproc')) {
$arWorkflowTemplates = \CBPDocument::GetWorkflowTemplatesForDocumentType([
'lists', 'Bitrix\Lists\BizprocDocumentLists', 'iblock_' . $listId
]);
foreach ($arWorkflowTemplates as $arTemplate) {
/**
* AUTO_EXECUTE = 1 - запускать при создании
* AUTO_EXECUTE = 2 - запускать при изменении
*/
if ($arTemplate['AUTO_EXECUTE'] == 1) {
$wfId = \CBPDocument::StartWorkflow(
$arTemplate['ID'],
[ 'lists', 'Bitrix\Lists\BizprocDocumentLists', $elementId ],
array_merge($arWorkflowParameters, [ 'TargetUser' => "user_{$USER->GetID()}" ]),
$arErrorsTmp
);
if (count($arErrorsTmp) > 0) {
foreach ($arErrorsTmp as $e) {
$errorMessage .= "[".$e["code"]."] ".$e["message"]."";
}
}
}
}
}
|