![]() |
#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 |
Участник
|
Отсюда напрашивается вывод: не надо вообще делать контролы-фильтры на форме, за исключением, разве что, простейших случаев (журналы открытые/разнесенные/все)
![]() |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
![]() |
#17 |
Участник
|
Не помню где читал такое мнение:
Цитата:
Сделай систему, в которой сможет работать даже дурак, и только дурак захочет в ней работать.
|
|
|
За это сообщение автора поблагодарили: S.Kuskov (1). |
Теги |
как правильно, фильтр, форма |
|
|