• Модуль: bizproc
  • Путь к файлу: ~/bitrix/modules/bizproc/classes/general/trackingservice.php
  • Класс: CBPTrackingService
  • Вызов: CBPTrackingService::write
public function write(
	$workflowId,
	$type,
	$actionName,
	$executionStatus,
	$executionResult,
	$actionTitle = "",
	$actionNote = "",
	$modifiedBy = 0
): ?int
{
	global $DB;

	if (!$this->canWrite($type, $workflowId))
	{
		return null;
	}

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

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

	$type = intval($type);
	$executionStatus = intval($executionStatus);
	$executionResult = intval($executionResult);
	$actionNote = trim($actionNote);

	$modifiedBy = intval($modifiedBy);

	$actionTitle = is_string($actionTitle) ? $actionTitle : '';

	$DB->Query(
		"INSERT INTO b_bp_tracking(WORKFLOW_ID, TYPE, MODIFIED, ACTION_NAME, ACTION_TITLE, EXECUTION_STATUS, EXECUTION_RESULT, ACTION_NOTE, MODIFIED_BY) ".
		"VALUES('".$DB->ForSql($workflowId, 32)."', ".intval($type).", ".$DB->CurrentTimeFunction().", '".$DB->ForSql($actionName, 128)."', '".$DB->ForSql($actionTitle, 255)."', ".intval($executionStatus).", ".intval($executionResult).", ".($actionNote <> '' ? "'".$DB->ForSql($actionNote)."'" : "NULL").", ".($modifiedBy > 0 ? $modifiedBy : "NULL").")"
	);
	$id = $DB->LastID();

	if (self::getLogSizeLimit() && !$this->isForcedMode($workflowId))
	{
		$this->cutLogSizeDeferred($workflowId);
	}

	return $id;
}