Для того, чтобы заработал фильтр в сущностях CRM для нестандартных пользовательских типов необходимо создать соответствующий шаблон для компонента crm.field.filter. Лучше всего его создать в каталоге /local/templates/.default/components/bitrix/crm.field.filter.

К сожалению, разработчики Битрикс24 пока не предусмотрели возможность вывода в фильтре нестандартных сущностей (/bitrix/components/bitrix/main.ui.filter/templates/.default/js/search.js)

Выводится только название пользовательского поля (current.LABEL). Доработаем это, добавив обработчик js-события BX.Filter.Search:beforeSquaresUpdate в шаблоне компонента:

К сожалению, этот костыль будет работать только при изменении фильтра. А при начальной загрузке нужно придумывать другой ))

Иногда шаблон компонента может отсутствовать. Эта ситуация может возникнуть, когда компонент используется для отрисовки пользовательских типов. Например, компоненты system.field.edit, system.field.view, crm.field.filter. Все возможные пользовательские типы предусмотреть невозможно. Поэтому можно сделать один шаблон по умолчанию (special), который подключать в случае отсутствия нужного.

Подключаем компонент с несуществующим шаблоном ‘unknown’:

А внутри компонента проверяем наличие шаблона, имя которого было передано в параметрах компонента(‘unknown’). Если такой шаблон не найден, то подключаем шаблон ‘special’: