Один из вариантов решения исходной задачи по добавлению значения "Все" в енум для целей фильтрации
Интерфейс правда из 2012 (просто под рукой), однако эта же идея применима и к D365FO (с поправкой на паттерны конечно - если они дают так сделать).
Каждый фильтр помещается в свою группу (Group), у которой FrameOptionButton = Check
Ну и в коде производится анализ - если флажок стоит на группе - значит фильтр применим. Если нет - значит неприменим. Является весьма неплохой альтернативой енумам.
Из минусов:
- Необходимо использовать как минимум 2 переменные (на группу и на сам фильтр)
- Много места "отъедает" на форме, если сравнивать с обычным полем.
- Для установки фильтра надо сделать 2 клика - на группу и уже на поле
Плюсы:
- Универсальность для любого типа критерия, в т.ч. для енумов со значащими нулевыми значениями
- Эффектная визуализация (сразу очевидно - что если поле недоступно - значит фильтр в нем не задан), причем за счет ядра