$grcDataPrimaryPointers[$grc_primary_string][] = count($data) - 1; } $grcDataPrimaryValues = array_map('array_unique', $grcDataPrimaryValues); // </editor-fold> if (empty($settings['limit'])) { $arResult["NAV_STRING"] = $result->GetPageNavString('', is_set($arParams['NAV_TEMPLATE']) ? $arParams['NAV_TEMPLATE'] : 'arrows'); $arResult["NAV_PARAMS"] = $result->GetNavParams(); $arResult["NAV_NUM"] = $result->NavNum; } // <editor-fold defaultstate="collapsed" desc="retrieve total counts"> $totalSelect = $select; $totalColumns = array(); foreach ($viewColumns as $num => $view) { // total's fields are the same as percentable fields // they are also all numerics if (CReport::isColumnTotalCountable($view, $arParams['REPORT_HELPER_CLASS'])) { // exclude from select all except those $totalColumns[$view['resultName']] = true; } } // save only totalCountable visible fields foreach ($totalSelect as $k => $v) { if (!array_key_exists($k, $totalColumns)) { unset($totalSelect[$k]); } } // add SUM aggr $_totalSelect = $totalSelect; $totalSelect = array(); foreach ($_totalSelect as $k => $v) { $totalSelect[] = new Entity\ExpressionField('TOTAL_' . $k, 'SUM(%s)', $k);
$grcDataPrimaryPointers[$grc_primary_string][] = count($data) - 1; } $grcDataPrimaryValues = array_map('array_unique', $grcDataPrimaryValues); // </editor-fold> if (empty($settings['limit'])) { $arResult["NAV_STRING"] = $result->GetPageNavString('', is_set($arParams['NAV_TEMPLATE']) ? $arParams['NAV_TEMPLATE'] : 'arrows'); $arResult["NAV_PARAMS"] = $result->GetNavParams(); $arResult["NAV_NUM"] = $result->NavNum; } // <editor-fold defaultstate="collapsed" desc="retrieve total counts"> $totalSelect = $select; $totalColumns = array(); foreach ($viewColumns as $num => $view) { // total's fields are the same as percentable fields // they are also all numerics if (CReport::isColumnTotalCountable($view)) { // exclude from select all except those $totalColumns[$view['resultName']] = true; } } // save only totalCountable visible fields foreach ($totalSelect as $k => $v) { if (!array_key_exists($k, $totalColumns)) { unset($totalSelect[$k]); } } // add SUM aggr $_totalSelect = $totalSelect; $totalSelect = array(); foreach ($_totalSelect as $k => $v) { $totalSelect['TOTAL_' . $k] = array('data_type' => 'integer', 'expression' => array('SUM(%s)', $k));