CBPWorkflowTemplateLoader::LoadWorkflow: Bitrix method

      
<?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), falsefalse, array("TEMPLATE""VARIABLES""PARAMETERS"));
        
$arTemplatesListItem $dbTemplatesList->Fetch();

        if (!
$arTemplatesListItem)
            throw new 
Exception(str_replace("#ID#"$workflowTemplateIdGetMessage("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#"$workflowTemplateIdGetMessage("BPCGWTL_EMPTY_TEMPLATE")));

        
$arActivityNames = array();
        
$rootActivity $this->ParceWorkflowTemplate($arWorkflowTemplate$arActivityNamesnull);

        return array(
$rootActivity$workflowVariablesTypes$workflowParametersTypes);
    }