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

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

	$dbResult = $DB->Query(
		"SELECT STATE_PARAMETERS ".
		"FROM b_bp_workflow_state ".
		"WHERE ID = '".$DB->ForSql($workflowId)."' "
	);

	if ($arResult = $dbResult->Fetch())
	{
		$stateParameters = array();
		if ($arResult["STATE_PARAMETERS"] <> '')
			$stateParameters = unserialize($arResult["STATE_PARAMETERS"], ['allowed_classes' => false]);

		$stateParameters[] = $arStateParameter;

		$stateParameters = serialize($stateParameters);

		$DB->Query(
			"UPDATE b_bp_workflow_state SET ".
			"	STATE_PARAMETERS = ".($stateParameters <> '' ? "'".$DB->ForSql($stateParameters)."'" : "NULL").", ".
			"	MODIFIED = ".$DB->CurrentTimeFunction()." ".
			"WHERE ID = '".$DB->ForSql($workflowId)."' "
		);
	}
}