- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/integration/report/view/compareperiodsgrid.php
- Класс: Bitrix\Crm\Integration\Report\View\ComparePeriodsGrid
- Вызов: ComparePeriodsGrid::handlerFinallyBeforePassToView
public function handlerFinallyBeforePassToView($dataFromReport)
{
$result = [];
$currentPeriod = $dataFromReport[0];
$previousPeriod = $dataFromReport[1];
$maxPoints = max(count($currentPeriod['items']), count($previousPeriod['items']));
$dateGrouping = $currentPeriod['config']['dateGrouping'];
$dateFormat = $dateGrouping === BaseGraph::GROUP_MONTH ? "f Y": Context::getCurrent()->getCulture()->getLongDateFormat();
if ($maxPoints == 0)
{
return $result;
}
for ($i = 0; $i < $maxPoints; $i++)
{
$dateCurrent = $currentPeriod['items'][$i]['groupBy'] ? new Date($currentPeriod['items'][$i]['groupBy'], BaseGraph::DATE_INDEX_FORMAT) : null;
$datePrev = $previousPeriod['items'][$i]['groupBy'] ? new Date($previousPeriod['items'][$i]['groupBy'], BaseGraph::DATE_INDEX_FORMAT) : null;
$formattedDateCurrent = $dateCurrent ? FormatDate($dateFormat, $dateCurrent) : "—";
$formattedDatePrev = $datePrev ? FormatDate($dateFormat, $datePrev) : "—";
$result[$i]['value'] = [
'dateCurrent' => $dateCurrent,
'dateCurrentFormatted' => $formattedDateCurrent,
'datePrev' => $datePrev,
'datePrevFormatted' => $formattedDatePrev,
'amountCurrent' => $currentPeriod['items'][$i]['value'],
'amountPrev' => $previousPeriod['items'][$i]['value']
];
$result[$i]['targetUrl'] = [
'amountCurrent' => $currentPeriod['items'][$i]['targetUrl'],
'amountPrev' => $previousPeriod['items'][$i]['targetUrl']
];
}
return $result;
}