Example #1
0
 // 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);
 }
 $grc_primary = end($grc_field->getEntity()->getPrimaryArray());
 $grc_marker = substr($elem['name'], 0, strrpos($elem['name'], '.')) . '.' . $grc_primary;
 $grc_marker_alias = Entity\QueryChain::getAliasByDefinition($entity, $grc_marker);
 $grcSelect[$grc_marker_alias] = $grc_marker;
 // select
 $resultName = $viewColumns[$num]['resultName'];
 $grcData[$resultName] = array();
 $grc_query = new Entity\Query($entity);
 $grc_query->setSelect($grcSelect);