• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/kanban/entityactcounter/preparecounters.php
  • Класс: Bitrix\Crm\Kanban\EntityActCounter\PrepareCounters
  • Вызов: PrepareCounters::prepareCounter
private function prepareCounter(int $ownerId, string $isCompleted, int $responsibleId, bool $isDeadlineActivity): void
{
	if (!isset($this->builder->counters[$ownerId]))
	{
		$this->builder->counters[$ownerId] = [];
	}

	if ($isDeadlineActivity)
	{
		if (!isset($this->builder->counters[$ownerId]['D']))
		{
			$this->builder->counters[$ownerId]['D'] = 0;
		}
		$this->builder->counters[$ownerId]['D']++;
	}

	if (!isset($this->builder->counters[$ownerId][$isCompleted]))
	{
		$this->builder->counters[$ownerId][$isCompleted] = 0;
	}

	$this->builder->counters[$ownerId][$isCompleted]++;
	if (!isset($this->builder->counters[$ownerId]['byUser']))
	{
		$this->builder->counters[$ownerId]['byUser'] = [$responsibleId => []];
	}

	$byUserValue = $this->builder->counters[$ownerId]['byUser'][$responsibleId][$isCompleted] ?? 0;
	$this->builder->counters[$ownerId]['byUser'][$responsibleId][$isCompleted] = $byUserValue + 1;

	if ($isDeadlineActivity)
	{
		$byUserError = $this->builder->counters[$ownerId]['byUser'][$responsibleId]['D'] ?? 0;
		$this->builder->counters[$ownerId]['byUser'][$responsibleId]['D'] = $byUserError + 1;
	}
}