<?php
// CBPWorkflowTemplateLoader :: LoadWorkflow()
// /dist/bitrix/modules/bizproc/classes/general/workflowtemplateloader.php:294
public function LoadWorkflow($workflowTemplateId)
{
$workflowTemplateId = intval($workflowTemplateId);
if ($workflowTemplateId <= 0)
throw new CBPArgumentOutOfRangeException("workflowTemplateId", $workflowTemplateId);
$dbTemplatesList = $this->GetTemplatesList(array(), array("ID" => $workflowTemplateId), false, false, array("TEMPLATE", "VARIABLES", "PARAMETERS"));
$arTemplatesListItem = $dbTemplatesList->Fetch();
if (!$arTemplatesListItem)
throw new Exception(str_replace("#ID#", $workflowTemplateId, GetMessage("BPCGWTL_INVALID_WF_ID")));
$arWorkflowTemplate = $arTemplatesListItem["TEMPLATE"];
$workflowVariablesTypes = $arTemplatesListItem["VARIABLES"];
$workflowParametersTypes = $arTemplatesListItem["PARAMETERS"];
if (!is_array($arWorkflowTemplate) || count($arWorkflowTemplate) <= 0)
throw new Exception(str_replace("#ID#", $workflowTemplateId, GetMessage("BPCGWTL_EMPTY_TEMPLATE")));
$arActivityNames = array();
$rootActivity = $this->ParceWorkflowTemplate($arWorkflowTemplate, $arActivityNames, null);
return array($rootActivity, $workflowVariablesTypes, $workflowParametersTypes);
}