• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/location/import/import.php
  • Класс: BitrixSaleLocationImportis
  • Вызов: is::getStatistics
public function getStatistics($type = 'TOTAL')
{
	if(empty($this->stat))
	{
		$types = $this->getTypes();

		$res = LocationLocationTable::getList(array(
			'runtime' => array(
				'CNT' => array(
					'data_type' => 'integer',
					'expression' => array(
						'COUNT(*)'
					)
				)
			),
			'select' => array(
				'CNT',
				'TCODE' => 'TYPE.CODE',
				'TNAME' => 'TYPE.NAME'
			),
			'filter' => array(
				'TYPE.NAME.LANGUAGE_ID' => LANGUAGE_ID
			),
			'group' => array(
				'TYPE_ID'
			)
		));
		$total = 0;
		$stat = array();
		while($item = $res->fetch())
		{
			$total += intval($item['CNT']);
			$stat[$item['TCODE']] = $item['CNT'];
		}

		foreach($types as $code => $name)
		{
			$this->stat[$code] = array(
				'NAME' => $name,
				'CODE' => $code,
				'CNT' => isset($stat[$code]) ? intval($stat[$code]) : 0,
			);
		}

		$this->stat['TOTAL'] = array('CNT' => $total, 'CODE' => 'TOTAL');

		$res = LocationGroupTable::getList(array(
			'runtime' => array(
				'CNT' => array(
					'data_type' => 'integer',
					'expression' => array(
						'COUNT(*)'
					)
				)
			),
			'select' => array(
				'CNT'
			)
		))->fetch();

		$this->stat['GROUPS'] = array('CNT' => intval($res['CNT']), 'CODE' => 'GROUPS');
	}

	return intval($this->stat[$type]['CNT']);
}