• Модуль: bizproc
  • Путь к файлу: ~/bitrix/modules/bizproc/classes/general/trackingservice.php
  • Класс: CBPTrackingService
  • Вызов: CBPTrackingService::deleteByWorkflow
static function deleteByWorkflow($workflowId)
{
	$connection = BitrixMainApplication::getConnection();
	$helper = $connection->getSqlHelper();

	$workflowId = trim($workflowId);
	if (!$workflowId)
	{
		throw new Exception("workflowId");
	}

	$queryString = sprintf(
		"SELECT ID FROM b_bp_tracking t WHERE WORKFLOW_ID = '%s'",
		$helper->forSql($workflowId)
	);

	$ids = $connection->query($queryString)->fetchAll();

	while ($partIds = array_splice($ids, 0, static::CLEAR_LOG_DELETE_LIMIT))
	{
		$connection->query(
			sprintf(
				'DELETE from b_bp_tracking WHERE ID IN(%s)',
				implode(',', array_column($partIds, 'ID'))
			)
		);
	}
}