...Человеческий поиск в разработке...
- Модуль: bizproc
- Путь к файлу: ~/bitrix/modules/bizproc/classes/general/runtime.php
- Класс: CBPRuntime
- Вызов: CBPRuntime::createDebugWorkflow
public function createDebugWorkflow(int $templateId, array $documentId, $workflowParameters = []) { $complexDocumentId = CBPHelper::ParseDocumentId($documentId); $workflowId = $workflowParameters[CBPDocument::PARAM_PRE_GENERATED_WORKFLOW_ID] ?? static::generateWorkflowId(); $workflow = new DebugWorkflow($workflowId, $this); $loader = CBPWorkflowTemplateLoader::GetLoader(); [$rootActivity, $workflowVariablesTypes, $workflowParametersTypes] = $loader->LoadWorkflow($templateId); if (is_null($rootActivity)) { throw new Exception('Empty root activity'); } foreach(GetModuleEvents("bizproc", "OnCreateWorkflow", true) as $arEvent) { ExecuteModuleEventEx($arEvent, [$templateId, $documentId, &$workflowParameters, $workflowId]); } $workflow->Initialize( $rootActivity, $complexDocumentId, $workflowParameters, $workflowVariablesTypes, $workflowParametersTypes, $templateId ); $starterUserId = 0; if (isset($workflowParameters[CBPDocument::PARAM_TAGRET_USER])) { $starterUserId = intval(mb_substr($workflowParameters[CBPDocument::PARAM_TAGRET_USER], mb_strlen("user_"))); } $this ->GetService("StateService") ->AddWorkflow($workflowId, $templateId, $complexDocumentId, $starterUserId) ; $this->workflows[$workflowId] = $workflow; return $workflow; }