• Модуль: biconnector
  • Путь к файлу: ~/bitrix/modules/biconnector/lib/integration/report/eventhandler.php
  • Класс: BitrixBIConnectorIntegrationReportEventHandler
  • Вызов: EventHandler::getBoards
static function getBoards()
{
	$pageList = [];

	$manager = BitrixBIConnectorManager::getInstance();
	foreach ($manager->getMenuItems() as $menuItem)
	{
		if (isset($menuItem['title']))
		{
			$title = $menuItem['title'];
		}
		else
		{
			switch ($menuItem['id'])
			{
			case 'crm_bi_templates':
				$title = Loc::getMessage('BIC_CRM_MENU_REPORT_TEMPLATES');
				break;
			case 'crm_microsoft_power_bi':
				$title = Loc::getMessage('BIC_CRM_MENU_MICROSOFT');
				break;
			case 'crm_yandex_datalens':
				$title = Loc::getMessage('BIC_CRM_MENU_YANDEX');
				break;
			case 'crm_google_datastudio':
				$title = Loc::getMessage('BIC_CRM_MENU_GOOGLE');
				break;
			default:
				$title = '';
				break;
			}
		}

		$page = new AnalyticBoard();
		$page->setBatchKey(self::BATCH_BI);
		$page->setBoardKey($menuItem['id']);
		if (!empty($menuItem['component_name']))
		{
			$page->setLimit(
				[
					'NAME' => $menuItem['component_name'],
					'PARAMS' => $menuItem['component_parameters'] ?? []
				],
				true
			);
			$page->addButton(self::getImplementationOrderButton());
		}
		$page->setExternal($menuItem['external'] ?? true);
		$page->setExternalUrl($menuItem['url'] ?? '');
		$page->setSliderSupport(true);
		$page->setTitle($title);
		$page->setGroup(self::BATCH_GROUP_BI_GENERAL);
		$pageList[] = $page;
	}

	return $pageList;
}