• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/internals/counter/counterstate.php
  • Класс: BitrixTasksInternalsCounterCounterState
  • Вызов: CounterState::loadCounters
private function loadCounters(): void
{
	$limit = Counter::getGlobalLimit();
	if ($limit === 0)
	{
		$rowsFlag = $this->loadFlags();
		if ($rowsFlag)
		{
			$this->updateState($rowsFlag);
		}
		return;
	}

	$query = CounterTable::query()
		->setSelect([
			'VALUE',
			'TASK_ID',
			'GROUP_ID',
			'TYPE'
		])
		->where('USER_ID', $this->userId);

	$rowsFlag = null;
	if (!is_null($limit))
	{
		$rowsFlag = $this->loadFlags();
		$query->setLimit($limit);
	}

	$rows = $query->exec()->fetchAll();
	if (!is_null($rowsFlag))
	{
		$rows = array_merge($rows, $rowsFlag);
	}

	$this->updateState($rows);
}