CUser::GetList на d7 с фильтрацией и пагинацией

информация по операторам есть здесь ORM getList

[spoiler]

<?$filter = Array('Bitrix\Main\UserGroupTable:USER.GROUP_ID' => array(5));
if(!empty($_GET['FIO']))
    $filter['%=LAST_NAME'] = '%'.strval($_GET['FIO']).'%';

if(!empty($_GET['UF_CLASS']))
    $filter['UF_CLASS'] = $_GET['UF_CLASS'];

if(!empty($_GET['UF_SCHOOL']))
    $filter['UF_SCHOOL'] = $_GET['UF_SCHOOL'];

$nav = new \Bitrix\Main\UI\PageNavigation("nav-more-news");
// инициализация навигации
$nav->allowAllRecords(true)
    // количество
    ->setPageSize(10)
    // метод инициализирует навигацию от URI
    ->initFromUri();
$res = \Bitrix\Main\UserTable::getList(array(
    'order'=>array('LAST_NAME' => 'ASC'),
    'select'=>array('*','UF_*'),
    'filter' => $filter,
    "offset" => $nav->getOffset(),
    "limit" => $nav->getLimit(),
    "count_total" => true,
));
$nav->setRecordCount($res->getCount());
while( $ob = $res->fetch()){
    echo $ob['LAST_NAME']." ".$ob['NAME']." ".$ob['SECOND_NAME']." ".$items_post[$ob['UF_CLASS']]." ".$itemsSchool_post[$ob['UF_SCHOOL']]."<br>";
}
$APPLICATION->IncludeComponent(
    "bitrix:main.pagenavigation",
    "",
    array(
        // передаем объект
        "NAV_OBJECT" => $nav,
        // включение/отключение ЧПУ или GET
        "SEF_MODE" => "N",
    ),
    false
);?>