Ejemplo n.º 1
0
     $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);
Ejemplo n.º 2
0
     $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));