- Модуль: bizproc
- Путь к файлу: ~/bitrix/modules/bizproc/classes/general/document.php
- Класс: CBPDocument
- Вызов: CBPDocument::autoStartWorkflows
static function autoStartWorkflows($documentType, $autoExecute, $documentId, $arParameters, &$arErrors)
{
$arErrors = array();
$runtime = CBPRuntime::GetRuntime();
if (!is_array($arParameters))
$arParameters = array($arParameters);
if (!isset($arParameters[static::PARAM_TAGRET_USER]))
$arParameters[static::PARAM_TAGRET_USER] = is_object($GLOBALS["USER"]) ? "user_".intval($GLOBALS["USER"]->GetID()) : null;
if (!isset($arParameters[static::PARAM_MODIFIED_DOCUMENT_FIELDS]))
$arParameters[static::PARAM_MODIFIED_DOCUMENT_FIELDS] = false;
$arParameters[static::PARAM_DOCUMENT_EVENT_TYPE] = $autoExecute;
$arWT = CBPWorkflowTemplateLoader::SearchTemplatesByDocumentType($documentType, $autoExecute);
foreach ($arWT as $wt)
{
try
{
$wi = $runtime->CreateWorkflow($wt["ID"], $documentId, $arParameters);
$wi->Start();
}
catch (Exception $e)
{
$arErrors[] = array(
"code" => $e->getCode(),
"message" => $e->getMessage(),
"file" => $e->getFile()." [".$e->getLine()."]"
);
}
}
}