• Модуль: bizproc
  • Путь к файлу: ~/bitrix/modules/bizproc/classes/general/workflowpersister.php
  • Класс: CBPWorkflowPersister
  • Вызов: CBPWorkflowPersister::unlockWorkflow
public function unlockWorkflow(CBPActivity $rootActivity)
{
	global $DB;

	if ($rootActivity == null)
		throw new Exception("rootActivity");

	$DB->Query(
		"UPDATE b_bp_workflow_instance SET ".
		"	OWNER_ID = NULL, ".
		"	OWNED_UNTIL = NULL ".
		"WHERE ID = '".$DB->ForSql($rootActivity->GetWorkflowInstanceId())."' ".
		"	AND ( ".
		"		(OWNER_ID = '".$DB->ForSql($this->serviceInstanceId)."' ".
		"			AND OWNED_UNTIL >= ".$DB->CurrentTimeFunction().") ".
		"		OR ".
		"		(OWNER_ID IS NULL) ".
		"		OR ".
		"		(OWNER_ID IS NOT NULL ".
		"			AND OWNED_UNTIL < ".$DB->CurrentTimeFunction().") ".
		"	)"
	);
}