• Модуль: workflow
  • Путь к файлу: ~/bitrix/modules/workflow/classes/general/workflow.php
  • Класс: CAllWorkflow
  • Вызов: CAllWorkflow::CleanUpHistoryCopies
static function CleanUpHistoryCopies($DOCUMENT_ID=false, $HISTORY_COPIES=false)
{
	$err_mess = (CAllWorkflow::err_mess())."
Function: CleanUpHistoryCopies
Line: "; global $DB; if($HISTORY_COPIES===false) { $HISTORY_COPIES = intval(COption::GetOptionString("workflow","HISTORY_COPIES","10")); } $DOCUMENT_ID = intval($DOCUMENT_ID); if ($DOCUMENT_ID > 0) { $strSqlSearch = " and ID = $DOCUMENT_ID "; } else { $strSqlSearch = ""; } $strSql = "SELECT ID FROM b_workflow_document WHERE 1=1 ".$strSqlSearch; $z = $DB->Query($strSql, false, $err_mess.__LINE__); while ($zr=$z->Fetch()) { $DID = $zr["ID"]; $strSql = " SELECT ID FROM b_workflow_log WHERE DOCUMENT_ID = $DID ORDER BY ID desc "; $t = $DB->Query($strSql, false, $err_mess.__LINE__); $i = 0; $str_id = "0"; while ($tr = $t->Fetch()) { $i++; if ($i > $HISTORY_COPIES) { $str_id .= ",".$tr["ID"]; } } $strSql = "DELETE FROM b_workflow_log WHERE ID in ($str_id)"; $DB->Query($strSql, false, $err_mess.__LINE__); } }