• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integration/report/handler/company.php
  • Класс: Bitrix\Crm\Integration\Report\Handler\Company
  • Вызов: Company::prepare
public function prepare()
{
	/** @var DropDown $grouping */
	$groupingField = $this->getFormElement('groupingBy');
	$groupingValue = $groupingField ? $groupingField->getValue() : null;

	$query = new Query(CompanyTable::getEntity());
	switch ($groupingValue)
	{
		case self::GROUPING_BY_DATE:
			$query->registerRuntimeField(new ExpressionField('DATE_CREATE_DAY', "DATE_FORMAT(%s, '%%Y-%%m-%%d 00:00')", 'DATE_CREATE'));
			$query->addSelect('DATE_CREATE_DAY');
			break;
	}

	$query->addSelect(new ExpressionField('COUNT', 'COUNT(*)'));
	$results = $query->exec()->fetchAll();

	$leadCountListByGroup = [];
	foreach ($results as $result)
	{
		switch ($groupingValue)
		{
			case self::GROUPING_BY_DATE:
				$leadCountListByGroup[$result['DATE_CREATE_DAY']]['value'] = $result['COUNT'];
				$leadCountListByGroup[$result['DATE_CREATE_DAY']]['label'] = $result['DATE_CREATE_DAY'];
				break;
		}
	}

	return $leadCountListByGroup;
}