• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/internals/counter/event/garbagecollector.php
  • Класс: BitrixTasksInternalsCounterEventGarbageCollector
  • Вызов: GarbageCollector::readTasks
private function readTasks(int $userId, array $taskIds)
{
	$sqlHelper = Application::getConnection()->getSqlHelper();
	$viewedTime = $this->viewedTime;
	$viewedTime = $sqlHelper->convertToDbDateTime($viewedTime);

	$inserts = [];
	foreach ($taskIds as $taskId)
	{
		$inserts[] = '(' . (int) $taskId . ', ' . $userId . ', ' . $viewedTime . ')';
	}

	$sql = "
		INSERT INTO b_tasks_viewed (TASK_ID, USER_ID, VIEWED_DATE)
		VALUES " . implode(',', $inserts) . "
		ON DUPLICATE KEY UPDATE VIEWED_DATE = {$viewedTime}
	";

	Application::getConnection()->query($sql);
}