• Модуль: bizproc
  • Путь к файлу: ~/bitrix/modules/bizproc/classes/general/trackingservice.php
  • Класс: CBPTrackingService
  • Вызов: CBPTrackingService::cutLogSize
private function cutLogSize(string $workflowId, int $size): bool
{
	global $DB;

	$queryResult = $DB->Query(
		sprintf(
			"SELECT ID FROM b_bp_tracking"
			. " WHERE WORKFLOW_ID = '%s' AND `TYPE` IN (0,1,2,3,4,5,7,8,9) ORDER BY ID DESC LIMIT %d,100",
			$DB->ForSql($workflowId),
			$size
		)
	);

	$ids = [];
	while ($row = $queryResult->fetch())
	{
		$ids[] = $row['ID'];
	}

	if ($ids)
	{
		$DB->Query(
			sprintf(
				'DELETE FROM b_bp_tracking WHERE ID IN (%s)',
				implode(',', $ids)
			),
			true
		);
	}

	return true;
}