Example #1
0
     // 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']);
     $grc_field = $grcChain->getLastElement()->getValue();
     if (is_array($grc_field)) {
         $grc_field = end($grc_field);
     }