- Модуль: 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;
}