• Модуль: bizproc
  • Путь к файлу: ~/bitrix/modules/bizproc/classes/general/stateservice.php
  • Класс: CBPStateService
  • Вызов: CBPStateService::getWorkflowStateInfo
static function getWorkflowStateInfo($workflowId)
{
	global $DB;

	$workflowId = trim($workflowId);
	if ($workflowId == '')
		throw new Exception("workflowId");

	$dbResult = $DB->Query(
		"SELECT 
			WS.ID, WS.STATE_TITLE, WS.MODULE_ID, WS.ENTITY, WS.DOCUMENT_ID, WI.STATUS, WS.STARTED_BY,
			WS.WORKFLOW_TEMPLATE_ID, WT.NAME WORKFLOW_TEMPLATE_NAME ".
		"FROM b_bp_workflow_state WS ".
		"LEFT JOIN b_bp_workflow_instance WI ON (WS.ID = WI.ID) ".
		"LEFT JOIN b_bp_workflow_template WT ON (WS.WORKFLOW_TEMPLATE_ID = WT.ID) ".
		"WHERE WS.ID = '".$DB->ForSql($workflowId)."' "
	);

	$state = false;
	$result = $dbResult->Fetch();
	if ($result)
	{
		$state = array(
			'ID' => $result["ID"],
			'WORKFLOW_TEMPLATE_ID' => $result['WORKFLOW_TEMPLATE_ID'],
			'WORKFLOW_TEMPLATE_NAME' => $result['WORKFLOW_TEMPLATE_NAME'],
			"STATE_TITLE" => $result["STATE_TITLE"],
			"WORKFLOW_STATUS" => $result["STATUS"],
			"DOCUMENT_ID" => array($result["MODULE_ID"], $result["ENTITY"], $result["DOCUMENT_ID"]),
			"STARTED_BY" => $result["STARTED_BY"],
		);
	}

	return $state;
}