|
|
#1 |
|
Постигающий
|
Можно ли запретить пользовательский фильтр на форме?
поскольку все необходимые пользователю фильтры были "вынесены" на форму, нужда в кнопке с воронкой отпала (в том числе и фильтр по выделенному полю)
Точнее необходима защита от дурака , чтоб пользователь не мог фильтровать как ему захочется, кроме как используя вынесенный на форму функционал фильтрациииспользуется Ax 2009 спасибо |
|
|
|
|
#2 |
|
MCT
|
Что сразу приходит в голову, так это запретить редактирование
X++: actDate.status(RangeStatus::Locked); X++: actDate.status(RangeStatus::Hidden);
__________________
Axapta book for developer |
|
|
|
|
#3 |
|
MCT
|
если у вас RU5 или старше посмотрите как такая задача решена на стандартной форме
Банк / Импортированная выписка. Там и фильтры вынесены отдельно и филтр по сетке доуступен
__________________
Sometimes there is a moment as you are awakening - when you become aware of the real world around you, - but you are still dreaming. - You may think you can fly but you do better not try. |
|
|
|
|
#4 |
|
NavAx
|
Если надо закрыть только расширенный фильтр, а фильтрацию по полям оставить, то можно попробовать закомментировать вызов super() в методе prompt() нужного datasource.
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты...
|
|
|
|
| За это сообщение автора поблагодарили: Андрей К. (1). | |
|
|
#5 |
|
Axapta
|
Как вариант, если надо чтобы только конкретная кнопка не работала, можно перекрыть метод task:
X++: public int task(int _taskId) { int ret; if (_taskId != 2837 && _taskId != 2844) ret = super(_taskId); return ret; } |
|
|
|
|
#6 |
|
Постигающий
|
Цитата:
годится! но конечно хотелось бы залочить возможность фильтровать из контекстного меню полей Последний раз редактировалось Андрей К.; 28.04.2011 в 13:41. |
|
|
|
|
#7 |
|
Постигающий
|
|
|
|
|
|
#8 |
|
MCT
|
это и есть полный путь, начиная с главное меню
![]() название формы BankClientImportedStatement_RU она была добавлена в ru5
__________________
Sometimes there is a moment as you are awakening - when you become aware of the real world around you, - but you are still dreaming. - You may think you can fly but you do better not try. |
|
|
|
|
#9 |
|
Постигающий
|
|
|
|
|
|
#10 |
|
MCT
|
Цитата:
невозможно перекрыть те фильтры, которые заданы в "вынесенных" фильтрах. т.е. если я задал фильтры по дате в верхней части формы в вынесенных фильтрах, я уже не смогу перекрыть этот фильтр ни фильтром по полю, ни фильтром по выделению, ни расширенным фильтром. а вот добавить другой фильтр, в дополнение к "вынесенным" фильтрам,к примеру фильтр по контрагенту, я могу - это как раз и кажется мне правильным и удобным
__________________
Sometimes there is a moment as you are awakening - when you become aware of the real world around you, - but you are still dreaming. - You may think you can fly but you do better not try. |
|
|
|
|
#11 |
|
Участник
|
|
|
|
|
|
#12 |
|
Участник
|
Цитата:
Цитата:
Последний раз редактировалось gl00mie; 03.05.2011 в 19:32. Причина: пропустил одно слово |
|
|
|
| За это сообщение автора поблагодарили: mazzy (5). | |
|
|
#13 |
|
Участник
|
полностью согласен.
хочу только добавить: Цитата:
если пользователь изменит фильтр нормальными средствами (Ctrl+F3), то нужно корректно отобразить этот фильтр в контролах на форме (иначе будет очень досадное расхождение, которое приводит к очень досадным недоразумениям с пользователями). но программисты часто выставляют на форме не критерий (с запятыми, звездочками, восклицательными знаками и пр.), а одно контрол с одним значением. Даже если программист выставит на форму критерий, то часто не занимаются обновлением критериев из query. и т.д. кроме того, бывают стандартные формы (зачастую из локализации), которые страдают болезнью контролы-как-фильтры. в результате и возникает задача "запретить". хотя конечно лучше переделать так, чтобы пользователи могли использовать расширенные фильтры. |
|
|
|
|
#14 |
|
Участник
|
Цитата:
Сообщение от mazzy
если пользователь изменит фильтр нормальными средствами (Ctrl+F3), то нужно корректно отобразить этот фильтр в контролах на форме (иначе будет очень досадное расхождение, которое приводит к очень досадным недоразумениям с пользователями). но программисты часто выставляют на форме не критерий (с запятыми, звездочками, восклицательными знаками и пр.), а одно контрол с одним значением. Даже если программист выставит на форму критерий, то часто не занимаются обновлением критериев из query. и т.д.
|
|
|
|
|
#15 |
|
Участник
|
Цитата:
чтобы дать ему понять не обязательно делать обратный парсинг. достаточно задисейблить контролы. но ведь и этого не делается. |
|
|
|
|
#16 |
|
Участник
|
Отсюда напрашивается вывод: не надо вообще делать контролы-фильтры на форме, за исключением, разве что, простейших случаев (журналы открытые/разнесенные/все)
Потому что иначе получается неоправданно сложное и дорогое решение частной задачи, которая в системе уже решена в общем случае как минимум двумя способами: за счет расширенного фильтра и фильтра по grid'у.
|
|
|
|
| За это сообщение автора поблагодарили: mazzy (2). | |
|
|
#17 |
|
Участник
|
Не помню где читал такое мнение:
Цитата:
Сделай систему, в которой сможет работать даже дурак, и только дурак захочет в ней работать.
|
|
|
|
| За это сообщение автора поблагодарили: S.Kuskov (1). | |
| Теги |
| как правильно, фильтр, форма |
|
|
|