• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/internals/task/viewed.php
  • Класс: BitrixTasksInternalsTaskViewedTable
  • Вызов: ViewedTable::onAfterView
static function onAfterView(int $taskId, int $userId, DateTime $viewedDate, array $parameters): void
{
	if ($parameters['SEND_PUSH'])
	{
		static::sendPushTaskView($userId, $taskId);
	}
	if ($parameters['UPDATE_TOPIC_LAST_VISIT'])
	{
		ForumTaskUserTopic::updateLastVisit($taskId, $userId, $viewedDate);
	}

	$eventParameters = [
		'taskId' => $taskId,
		'userId' => $userId,
		'isRealView' => $parameters['IS_REAL_VIEW'],
	];
	$event = new Event('tasks', 'onTaskUpdateViewed', $eventParameters);
	$event->send();
	CounterCounterService::addEvent(
		CounterEventEventDictionary::EVENT_AFTER_TASK_VIEW,
		[
			'TASK_ID' => $taskId,
			'USER_ID' => $userId,
		]
	);

	(new TimeLineManager($taskId, $userId))->onTaskAllCommentViewed()->save();
}