• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/kanban/entity/entityactivities.php
  • Класс: Bitrix\Crm\Kanban\Entity\EntityActivities
  • Вызов: EntityActivities::prepareItemsResult
public function prepareItemsResult(string $columnId, \CDBResult $rawResult, array $filter = []): \CDBResult
{
	$items = [];

	while ($item = $rawResult->Fetch())
	{
		$item[self::ACTIVITY_STAGE_ID] = (
			empty($columnId)
				? $this->getStatusIdByCategoryId(self::STAGE_IDLE, $this->categoryId)
				: $columnId
		);
		$items[$item['ID']] = $item;
	}

	// @todo temporary
	if ($columnId === '')
	{
		$itemIds = array_column($items, 'ID');

		if (!empty($itemIds))
		{
			$minDeadlines = $this->fetchMinDeadlinesData($itemIds, $filter);
			foreach ($minDeadlines as $minDeadlineItem)
			{
				$activityStageId = $this->getActivityStageIdByDeadlineAndIncoming($minDeadlineItem['MIN_DEADLINE'], $minDeadlineItem['HAS_ANY_INCOMING_CHANEL'] === 'Y');

				$items[$minDeadlineItem['ENTITY_ID']][self::ACTIVITY_STAGE_ID] = $activityStageId;
			}
		}
	}

	$result = new \CDBResult();
	$result->InitFromArray($items);

	return $result;
}