• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/widget/data/activity/statistics.php
  • Класс: Bitrix\Crm\Widget\Data\Activity\Statistics
  • Вызов: Statistics::prepareCategories
static function prepareCategories(array &$categories)
{
	static::includeModuleFile();
	$providers = \CCrmActivity::GetProviders();
	foreach ($providers as $provider)
	{
		$categoryId = 'ACTIVITY_'.$provider::getId();

		if(isset($categories[$categoryId]))
		{
			continue;
		}

		$types = CommunicationWidgetPanel::getProviderTypes($provider);

		if ($types && $provider::getSupportedCommunicationStatistics())
		{
			$categories[$categoryId] = array(
				'entity' => \CCrmOwnerType::ActivityName,
				'title' => Main\Localization\Loc::getMessage('CRM_ACTIVITY_ACTIVITY_STAT_PROVIDER_CATEGORY',
					array('#PROVIDER_NAME#' => $provider::getName())
				),
				'name' => $categoryId,
				'enableSemantics' => false
			);

			foreach ($types as $type)
			{
				$categoryId .= '_'.$type['PROVIDER_TYPE_ID'];
				$categories[$categoryId] = array(
					'entity' => \CCrmOwnerType::ActivityName,
					'title' => $type['NAME'],
					'name' => $categoryId,
					'enableSemantics' => false
				);
			}
		}
	}
}