На странице Список пользователей в админке 1С Битрикс содержится ограниченное количество полей для фильтрации: list_users.png

Добавить пользовательские поля в фильтр можно через настройки поля: user_field.png

Чтобы добавить стандартные поля пользователя в фильтр нужно изменить страницу в админке. Копируем файл /bitrix/modules/main/admin/user_admin.php в удобное место, например, /bitrix/php_interface/include/user_admin.php.

Заменяем в новом файле строки (закомментированы исходные строки):

/* require_once(dirname(__FILE__)."/../include/prolog_admin_before.php"); */
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
//...
/* IncludeModuleLangFile(__FILE__); */
IncludeModuleLangFile($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/admin/user_admin.php");

Открываем файл /bitrix/admin/user_admin.php и заменяем путь на наш:

<?
/* require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/admin/user_admin.php"); */
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/php_interface/include/user_admin.php");
?>

Проверяем. Страница в админке должна выглядеть также, как и до изменений. Для примера, добавим возможность фильтрации по дате регистрации и компании.

Добавляем новые поля в фильтр пользоваталей. Находим массив $arFilterFields (~61 строка), добавляем в него новые строки:

...
"find_register_1",
"find_register_2",
"find_work_company",
...

Примерно на 130 строке добавляем новые строки в массив $arFilter:

if(CheckFilter($arFilterFields))
{
    $arFilter = Array(
        "ID" => $find_id,
        ...
        "DATE_REGISTER_1" => $find_register_1,
        "DATE_REGISTER_2" => $find_register_2,
        "WORK_COMPANY" => $find_work_company,
        ...
        );
    ...
}

Добавляем новые поля на форму фильтрации. Примерно на 508 строке пополняем список возможных полей фильтрации:

$arFindFields = array(
    GetMessage('MAIN_FLT_USER_ID'),
    ...
    GetMessage('MAIN_FLT_REGISTER_DATE'),
    ...
    GetMessage('MAIN_FLT_WORK_COMPANY'),
    ...
);

Порядок здесь очень важен и должен соответствовать порядку вывода полей на форму фильтрации, на которую мы добавляем свои поля:

...
<tr>
    <td><?echo GetMessage("MAIN_F_REGISTER").":"?></td>
    <td><?echo CalendarPeriod("find_register_1", htmlspecialcharsbx($find_register_1), "find_register_2", htmlspecialcharsbx($find_register_2), "find_form","Y")?></td>
</tr>
...
<tr>
    <td><?echo GetMessage("MAIN_F_WORK_COMPANY")?></td>
    <td><input type="text" name="find_work_company" value="<?echo htmlspecialcharsbx($find_work_company)?>" size="47"><?=ShowFilterLogicHelp()?></td>
</tr>
...

Как видим, здесь используется функция вывода сообщений, поэтому в начале файла, после подключения языкового файла добавляем недостающие сообщения:

IncludeModuleLangFile($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/admin/user_admin.php");

$MESS["MAIN_F_REGISTER"] = "Дата регистрации";
$MESS["MAIN_FLT_REGISTER_DATE"] = "Дата регистрации";
$MESS["MAIN_F_WORK_COMPANY"] = "Компания";
$MESS["MAIN_FLT_WORK_COMPANY"] = "Компания";

Готово, нужные фильтры можно включить кнопкой "+" в форме фильтрации.