- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/integration/report/dashboard/sales/salesfunnelboard.php
- Класс: Bitrix\Crm\Integration\Report\Dashboard\Sales\SalesFunnelBoard
- Вызов: SalesFunnelBoard::buildManagerEfficiencyGrid
static function buildManagerEfficiencyGrid()
{
$widget = new Widget();
$widget->setGId(Util::generateUserUniqueId());
$widget->setWidgetClass(BaseWidget::getClassName());
$widget->setViewKey(FunnelGrid::VIEW_KEY);
$widget->setCategoryKey('crm');
$widget->setBoardId(static::BOARD_KEY);
$widget->getWidgetHandler(true)->updateFormElementValue(
'label',
Loc::getMessage(
'CRM_REPORT_SALES_FUNNEL_BOARD_MANAGER_EFFICIENCY_GRID_TITLE'
)
);
$widget->getWidgetHandler(true)->updateFormElementValue(
'calculateMode',
ColumnFunnel::CONVERSION_CALCULATE_MODE
);
$widget->getWidgetHandler(true)->updateFormElementValue(
'amountFieldTitle',
Loc::getMessage('CRM_REPORT_SALES_FUNNEL_BOARD_MANAGER_EFFICIENCY_GRID_AMOUNT_TITLE')
);
$widget->getWidgetHandler(true)->updateFormElementValue(
'groupingColumnTitle',
Loc::getMessage('CRM_REPORT_SALES_FUNNEL_BOARD_MANAGER_EFFICIENCY_GRID_GROUPING_COLUMN_TITLE')
);
$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_MANAGER_EFFICIENCY_GRID_LEAD_COUNT_TITLE'
)
);
$leadCount->getReportHandler(true)->updateFormElementValue('groupingBy', Lead::GROUPING_BY_RESPONSIBLE);
$leadCount->getReportHandler(true)->updateFormElementValue('calculate', Lead::WHAT_WILL_CALCULATE_LEAD_COUNT);
$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_MANAGER_EFFICIENCY_GRID_DEAL_COUNT_TITLE'
)
);
$dealCount->getReportHandler(true)->updateFormElementValue('groupingBy', Deal::GROUPING_BY_RESPONSIBLE);
$dealCount->getReportHandler(true)->updateFormElementValue('calculate', Deal::WHAT_WILL_CALCULATE_DEAL_COUNT);
$dealCount->addConfigurations($dealCount->getReportHandler(true)->getConfigurations());
$widget->addReports($dealCount);
$dealLoseCount = new Report();
$dealLoseCount->setGId(Util::generateUserUniqueId());
$dealLoseCount->setReportClassName(Deal::getClassName());
$dealLoseCount->setWidget($widget);
$dealLoseCount->getReportHandler(true)->updateFormElementValue(
'label',
Loc::getMessage(
'CRM_REPORT_SALES_FUNNEL_BOARD_MANAGER_EFFICIENCY_GRID_DEAL_LOSES_COUNT_TITLE'
)
);
$dealLoseCount->getReportHandler(true)->updateFormElementValue('groupingBy', Deal::GROUPING_BY_RESPONSIBLE);
$dealLoseCount->getReportHandler(true)->updateFormElementValue('calculate', Deal::WHAT_WILL_CALCULATE_DEAL_LOSES_COUNT);
$dealLoseCount->addConfigurations($dealLoseCount->getReportHandler(true)->getConfigurations());
$widget->addReports($dealLoseCount);
$dealSum = new Report();
$dealSum->setGId(Util::generateUserUniqueId());
$dealSum->setReportClassName(Deal::getClassName());
$dealSum->setWidget($widget);
$dealSum->getReportHandler(true)->updateFormElementValue(
'label',
Loc::getMessage(
'CRM_REPORT_SALES_FUNNEL_BOARD_MANAGER_EFFICIENCY_GRID_DEAL_SUM_TITLE'
)
);
$dealSum->getReportHandler(true)->updateFormElementValue('groupingBy', Deal::GROUPING_BY_RESPONSIBLE);
$dealSum->getReportHandler(true)->updateFormElementValue('calculate', Deal::WHAT_WILL_CALCULATE_DEAL_SUM);
$dealSum->addConfigurations($dealSum->getReportHandler(true)->getConfigurations());
$widget->addReports($dealSum);
$dealSum = new Report();
$dealSum->setGId(Util::generateUserUniqueId());
$dealSum->setReportClassName(Deal::getClassName());
$dealSum->setWidget($widget);
$dealSum->getReportHandler(true)->updateFormElementValue(
'label',
Loc::getMessage(
'CRM_REPORT_SALES_FUNNEL_BOARD_MANAGER_EFFICIENCY_GRID_WON_DEAL_COUNT_TITLE'
)
);
$dealSum->getReportHandler(true)->updateFormElementValue('groupingBy', Deal::GROUPING_BY_RESPONSIBLE);
$dealSum->getReportHandler(true)->updateFormElementValue('calculate', Deal::WHAT_WILL_CALCULATE_DEAL_WON_COUNT);
$dealSum->addConfigurations($dealSum->getReportHandler(true)->getConfigurations());
$widget->addReports($dealSum);
$dealSum = new Report();
$dealSum->setGId(Util::generateUserUniqueId());
$dealSum->setReportClassName(Deal::getClassName());
$dealSum->setWidget($widget);
$dealSum->getReportHandler(true)->updateFormElementValue(
'label',
Loc::getMessage(
'CRM_REPORT_SALES_FUNNEL_BOARD_MANAGER_EFFICIENCY_GRID_WON_DEAL_SUM_TITLE'
)
);
$dealSum->getReportHandler(true)->updateFormElementValue('groupingBy', Deal::GROUPING_BY_RESPONSIBLE);
$dealSum->getReportHandler(true)->updateFormElementValue('calculate', Deal::WHAT_WILL_CALCULATE_DEAL_WON_SUM);
$dealSum->addConfigurations($dealSum->getReportHandler(true)->getConfigurations());
$widget->addReports($dealSum);
$conversion = new Report();
$conversion->setGId(Util::generateUserUniqueId());
$conversion->setReportClassName(Deal::getClassName());
$conversion->setWidget($widget);
$conversion->getReportHandler(true)->updateFormElementValue(
'label',
Loc::getMessage(
'CRM_REPORT_SALES_FUNNEL_BOARD_MANAGER_EFFICIENCY_GRID_CONVERSION_TITLE'
)
);
$conversion->getReportHandler(true)->updateFormElementValue('color', '#4fc3f7');
$conversion->getReportHandler(true)->updateFormElementValue('groupingBy', Deal::GROUPING_BY_RESPONSIBLE);
$conversion->getReportHandler(true)->updateFormElementValue('calculate', Deal::WHAT_WILL_CALCULATE_DEAL_CONVERSION);
$conversion->addConfigurations($conversion->getReportHandler(true)->getConfigurations());
$widget->addReports($conversion);
return $widget;
}