Example #1
0
 // check necessity of concat rows
 if ($need_concat_rows && $grcDataPrimaryValues) {
     // filter - add primaries from data
     if ($grcInitPrimary) {
         // init primary enough
         $grcFilter = $grcDataPrimaryValues;
     } else {
         // merge with primaries
         $grcFilter = array_merge($filter, $grcDataPrimaryValues);
     }
     // select data for each grc field
     foreach ($grcSettingsNum as $num) {
         $elem = $settings['select'][$num];
         // prepare
         $grcSelect = $grcSelectPrimaries;
         CReport::appendHrefSelectElements($elem, $fList, $entity, $arParams['REPORT_HELPER_CLASS'], $grcSelect, $runtime);
         if (!empty($elem['href'])) {
             $viewColumns[$num]['href'] = $elem['href'];
         }
         list($alias, $selElem) = CReport::prepareSelectViewElement($elem, $settings['select'], $is_init_entity_aggregated, $fList, $fChainList, $arParams['REPORT_HELPER_CLASS'], $entity);
         if (is_array($selElem) && !empty($selElem['expression'])) {
             $runtime[$alias] = $selElem;
             $grcSelect[] = $alias;
         } else {
             // normal field
             $alias = Entity\QueryChain::getAliasByDefinition($entity, $elem['name']);
             $grcSelect[$alias] = $selElem;
         }
         CReport::rewriteUserShortName($grcSelect, $runtime, $arParams['USER_NAME_FORMAT'], $entity, true);
         // add primary of grc entity field
         $grcChain = Entity\QueryChain::getChainByDefinition($entity, $elem['name']);