• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integration/report/handler/order/basegrid.php
  • Класс: Bitrix\Crm\Integration\Report\Handler\Order\BaseGrid
  • Вызов: BaseGrid::loadData
protected function loadData(): array
{
	if ($this->loadedData === null)
	{
		$this->loadedData = [];

		if (!Loader::includeModule('sale'))
		{
			return $this->loadedData;
		}

		$query = new Query(OrderTable::getEntity());

		$this->prepareQuery($query);
		$exec = $query->exec();
		$this->loadedData = $exec->fetchAll();
		$orderIds = [];
		while ($orderData = $exec->fetch())
		{
			if (isset($orderData['ID']))
			{
				$orderIds[] = $orderData['ID'];
				$orderData['BASKET'] = [];
				$this->loadedData[$orderData['ID']] = $orderData;
			}
			else
			{
				$this->loadedData[] = $orderData;
			}
		}

		if (!empty($orderIds))
		{
			$basketRows = \Bitrix\Crm\Order\Basket::getList([
				'filter' => ['=ORDER_ID' => $orderIds]
			]);
			while ($basketItem = $basketRows->fetch())
			{
				$this->loadedData[$basketItem['ORDER_ID']]['BASKET'][] = $basketItem;
			}
		}
	}
	return $this->loadedData;
}