Показать сообщение отдельно
Старый 13.02.2024, 18:54   #6  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,286 / 3494 (123) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Один из вариантов решения исходной задачи по добавлению значения "Все" в енум для целей фильтрации

Интерфейс правда из 2012 (просто под рукой), однако эта же идея применима и к D365FO (с поправкой на паттерны конечно - если они дают так сделать).
Название: SNAG_Program-0166.png
Просмотров: 64

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