$arResult['CONTACT_UF'][$arContact['ID']] = array(); } $arFilter['@ID'] = array_keys($arResult['CONTACT']); $dbResult = CCrmContact::GetListEx($arSort, $arFilter, false, false, $arSelect, $arOptions); while ($arContact = $dbResult->GetNext()) { $arResult['CONTACT'][$arContact['ID']] = $arContact; } } else { $addressSort = array(); foreach ($arSort as $k => $v) { if (strncmp($k, 'address', 7) === 0) { $addressSort[strtoupper($k)] = $v; } } if (!empty($addressSort)) { $navDbResult = \Bitrix\Crm\ContactAddress::getEntityList(\Bitrix\Crm\EntityAddress::Primary, $addressSort, $arFilter, !$isInExportMode ? $arNavParams : false); $arResult['ROWS_COUNT'] = $navDbResult->SelectedRowsCount(); $arResult['DB_LIST'] = $navDbResult; $arResult['DB_FILTER'] = $arFilter; while ($arContact = $navDbResult->Fetch()) { $arResult['CONTACT'][$arContact['ID']] = $arContact; $arResult['CONTACT_ID'][$arContact['ID']] = $arContact['ID']; $arResult['CONTACT_UF'][$arContact['ID']] = array(); } $arFilter['@ID'] = array_keys($arResult['CONTACT']); $arSort['ID'] = array_shift(array_slice($addressSort, 0, 1)); $dbResult = CCrmContact::GetListEx($arSort, $arFilter, false, false, $arSelect, $arOptions); while ($arContact = $dbResult->GetNext()) { $arResult['CONTACT'][$arContact['ID']] = $arContact; } } else {