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

	$limit = 100000;
	$partLimit = 1000;

	$strSql = "SELECT ID FROM b_bp_tracking t WHERE t.MODIFIED < DATE_SUB(NOW(), INTERVAL 90 DAY) LIMIT {$limit}";
	$ids = $connection->query($strSql)->fetchAll();

	if (!$ids)
	{
		return true;
	}

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

	return false;
}