- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/integration/report/dashboard/sales/salesfunnelboard.php
- Класс: Bitrix\Crm\Integration\Report\Dashboard\Sales\SalesFunnelBoard
- Вызов: SalesFunnelBoard::buildSalesFunnel
static function buildSalesFunnel()
{
$widget = new Widget();
$widget->setGId(Util::generateUserUniqueId());
$widget->setWidgetClass(BaseWidget::getClassName());
$widget->setViewKey(ColumnFunnel::VIEW_KEY);
$widget->setCategoryKey('crm');
$widget->setBoardId(static::BOARD_KEY);
$widget->getWidgetHandler(true)->updateFormElementValue(
'label',
Loc::getMessage(
'CRM_REPORT_SALES_FUNNEL_BOARD_SALES_FUNNEL_TITLE'
)
);
$widget->getWidgetHandler(true)->updateFormElementValue(
'calculateMode',
ColumnFunnel::CONVERSION_CALCULATE_MODE
);
$widget->addConfigurations($widget->getWidgetHandler(true)->getConfigurations());
$leadCount = new Report();
$leadCount->setGId(Util::generateUserUniqueId());
$leadCount->setReportClassName(Lead::getClassName());
$leadCount->setWidget($widget);
$leadCount->getReportHandler(true)->updateFormElementValue(
'label',
Loc::getMessage(
'CRM_REPORT_SALES_FUNNEL_BOARD_SALES_FUNNEL_GOOD_LEAD_COUNT_TITLE'
)
);
$leadCount->getReportHandler(true)->updateFormElementValue('groupingBy', Lead::GROUPING_BY_STATE);
$leadCount->getReportHandler(true)->updateFormElementValue('calculate', Lead::WHAT_WILL_CALCULATE_LEAD_DATA_FOR_FUNNEL);
$leadCount->addConfigurations($leadCount->getReportHandler(true)->getConfigurations());
$widget->addReports($leadCount);
$dealCount = new Report();
$dealCount->setGId(Util::generateUserUniqueId());
$dealCount->setReportClassName(Deal::getClassName());
$dealCount->setWidget($widget);
$dealCount->getReportHandler(true)->updateFormElementValue(
'label',
Loc::getMessage(
'CRM_REPORT_SALES_FUNNEL_BOARD_SALES_FUNNEL_GOOD_DEAL_METRIC_TITLE'
)
);
$dealCount->getReportHandler(true)->updateFormElementValue('groupingBy', Deal::GROUPING_BY_STAGE);
$dealCount->getReportHandler(true)->updateFormElementValue('disableSuccessStages', true);
$dealCount->getReportHandler(true)->updateFormElementValue(
'calculate',
Deal::WHAT_WILL_CALCULATE_DEAL_DATA_FOR_FUNNEL
);
$dealCount->addConfigurations($dealCount->getReportHandler(true)->getConfigurations());
$widget->addReports($dealCount);
$successDealCount = new Report();
$successDealCount->setGId(Util::generateUserUniqueId());
$successDealCount->setReportClassName(Deal::getClassName());
$successDealCount->setWidget($widget);
$successDealCount->getReportHandler(true)->updateFormElementValue(
'label',
Loc::getMessage(
'CRM_REPORT_SALES_FUNNEL_BOARD_SALES_FUNNEL_SUCCESS_DEAL_TITLE'
)
);
$successDealCount->getReportHandler(true)->updateFormElementValue('color', '#4fc3f7');
$successDealCount->getReportHandler(true)->updateFormElementValue('shortMode', true);
$successDealCount->getReportHandler(true)->updateFormElementValue('groupingBy', Deal::GROUPING_BY_STAGE);
$successDealCount->getReportHandler(true)->updateFormElementValue('calculate', Deal::WHAT_WILL_CALCULATE_SUCCESS_DEAL_DATA_FOR_FUNNEL);
$successDealCount->addConfigurations($successDealCount->getReportHandler(true)->getConfigurations());
$widget->addReports($successDealCount);
return $widget;
}