Получить список пользователей с логикой ИЛИ
$GLOBALS["FILTER_logic"] = "or";
$arFilter= array(
"NAME" => '%'.$search_text.'%',
'LOGIN' => '%'.$search_text.'%',
'LAST_NAME' => '%'.$search_text.'%'
);
$rsUsers = CUser::GetList(($by = "NAME"), ($order = "desc"), $arFilter, array(array("SELECT" => array("ID"))));
$userIds = [];
while ($arUser = $rsUsers->Fetch())
$userIds[] = $arUser['ID'];
$GLOBALS["FILTER_logic"] = "and";
$rsUsers = CUser::GetList(($by = "NAME"), ($order = "desc"), array_merge($filter,['ID' => implode(' | ',$userIds)]), array(array("SELECT" => array("UF_*"))));
while ($arUser = $rsUsers->Fetch()) {
// Что-то делаем с ними
}