Предустановленный фильтр

Иногда может понадобиться показывать не все данные из сущности, а уже заранее отфильтрованные, для это существует функция  setCallbackApplyFilter
она принимает два параметра 
1. $arFilter

этот параметр будет передан в вызов метода getList сущности

2. $arFilterValues 

здесь хранятся данные полученные из формы фильтра

рассмотрим пример на основе сущности инфоблока \Bitrix\Iblock\ElementTable



здесь добавились новые параметры FILTER_HEADER

сюда можно передать как строку так и функцию обратного вызова, 
в функцию передается объект CAdminFilter сама функция при необходимости должна вывести в поток HTML данные для формы фильтра.



данная функция нужна для передачи дополнительных параметров при нажатие "Изменить" в контекстном меню или по двойному клику в списке, происходит переход на форму редактирования.



данная функция устанавливает какие поля будут выбраны из сущности, 



здесь устанавливается фильтр элементов по инфоблоку.

Примечание, если попробовать изменить в списке любой элемент мы получим ошибку.

8HgJkesM[1].jpg


сущность \Bitrix\Iblock\ElementTable не дает нам изменять или добавлять,
для этого в DevBx\Core\Admin\AdminList есть метод setUpdateFunction