• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/internals/counter/processor/projectprocessor.php
  • Класс: BitrixTasksInternalsCounterProcessorProjectProcessor
  • Вызов: ProjectProcessor::recount
public function recount(string $counter, int $userId = 0, array $taskIds = [], array $groupIds = [])
{
	$this->checkCounter($counter);

	if (!Loader::includeModule('socialnetwork'))
	{
		return;
	}

	if ($userId)
	{
		$counters = $this->recountForUser($counter, $userId, $taskIds, $groupIds);
	}
	elseif (!empty($taskIds))
	{
		$counters = $this->recountForTasks($counter, $taskIds);
	}
	elseif (!empty($groupIds))
	{
		$counters = $this->recountForProjects($counter, $groupIds);
	}
	else
	{
		return;
	}

	self::reset($userId, [$counter], $taskIds, $groupIds);
	$this->batchInsert($counters);

	CounterState::getInstance($userId)->updateState($counters, [$counter], $taskIds);
}