Пример #1
0
        $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 {