// 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); }