• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/integration/report/eventhandler.php
  • Класс: BitrixSaleIntegrationReportEventHandler
  • Вызов: EventHandler::onAnalyticPageCollect
static function onAnalyticPageCollect()
{
	$analyticPageList = [];
	if(!CBXFeatures::IsFeatureEnabled('SaleReports'))
	{
		return $analyticPageList;
	}

	CBaseSaleReportHelper::initOwners();

	$cursor = ReportTable::getList([
		'select' => ['ID', 'TITLE'],
		'filter' => [
			'=CREATED_BY' => static::getCurrentUserId(),
			'=OWNER_ID' => CBaseSaleReportHelper::getOwners()
		]
	]);

	while ($row = $cursor->fetch())
	{
		$reportPage = new AnalyticBoard();
		$reportPage->setTitle($row['TITLE']);
		$reportPage->setBoardKey(static::REPORT_KEY . $row['ID']);
		$reportPage->setBatchKey(static::BATCH_INTERNET_SHOP);

		if (method_exists($reportPage, 'setGroup'))
		{
			$reportPage->setGroup(self::BATCH_GROUP_SALES_GENERAL);
		}

		$reportPage->setExternal(true);

		$reportViewUrl = static::REPORT_VIEW_URL;
		$reportViewUrl = CHTTP::urlAddParams($reportViewUrl, [
			'ID' => $row['ID'],
			'publicSidePanel' => 'Y'
		]);
		$reportPage->setExternalUrl($reportViewUrl);

		$analyticPageList[] = $reportPage;
	}

	return $analyticPageList;
}