• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/scrum/service/taskservice.php
  • Класс: BitrixTasksScrumServiceTaskService
  • Вызов: TaskService::getTasksCounters
private function getTasksCounters(array $taskIds): array
{
	$taskCounters = [];

	foreach ($taskIds as $taskId)
	{
		$taskCounters[$taskId] = [
			'color' => 'ui-counter-gray',
			'value' => 0,
		];
	}

	if (!$this->hasAccessToCounters())
	{
		return $taskCounters;
	}

	try
	{
		$colorMap = [
			CounterStyle::STYLE_GRAY => 'ui-counter-gray',
			CounterStyle::STYLE_GREEN => 'ui-counter-success',
		];

		$taskCounter = new TaskCounter($this->executiveUserId);

		foreach ($taskIds as $taskId)
		{
			$rowCounter = $taskCounter->getRowCounter($taskId);

			$taskCounters[$taskId] = [
				'color' => $colorMap[$rowCounter['COLOR']] ?? 'ui-counter-gray',
				'value' => $rowCounter['VALUE'],
			];
		}

		return $taskCounters;
	}
	catch (Exception $exception)
	{
		$message = $exception->getMessage().$exception->getTraceAsString();

		$this->errorCollection->setError(new Error($message, self::ERROR_COULD_NOT_COUNT_COMMENTS_TASK));

		return [];
	}
}