AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.09.2007, 17:10   #1  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Глюки Ctrl+F при уже наложенном фильтре?
Вот форма и табличка.
В табличке 6 записей.

По умолчанию (в методе init()) формы записи отфильтрованы следующим образом:
"Все значения, кроме Bye"

Если выполнить поиск (Поиск выполняем по полю FieldId) этого значения (Bye) в гриде, то значения отобразятся, как будто фильтр вначале и не накладывался.

Если удалить пользовательский фильтр, он вернется назад.

Глюк? Или все же я где-то что-то упустил?

Высказываемся!
Вложения
Тип файла: xpo TableWrongFind.xpo (17.0 Кб, 405 просмотров)
За это сообщение автора поблагодарили: alex55 (1).
Старый 20.09.2007, 17:34   #2  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
А как должно быть?

Нужно телепатическим образом прочитать ваши мысли, чтобы понять, чего вы хотели добиться? В этом суть задачи?
__________________
С уважением,
glibs®
Старый 20.09.2007, 17:37   #3  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA

Ну, я рассчитываю на то, что если я на Query наложил какой-то фильтр, то пользователь не сможет наплевать на этот фильтр и задать свои условия, увидев те данных, которые вроде как не должен. (про RLS молчим - не тот случай)

То есть при наложении фильтра "Bye" не должно отобразиться ни одной записи.

Вариант решения приведен в этом же проекте, в методе init():
Если наложить фильтр по fieldId2Ext(field, 1), с таким же значением, то будет работат корректно (с моей точки зрения)
Старый 20.09.2007, 17:39   #4  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Если отфильтровать по Field 1 да фильтр налаживается не правильно. Но самое интерестное то что если зайти в форму ну там где ставят фильтры, поля Field 1 даже и не видно, наверно по этому то и глючит
Старый 20.09.2007, 17:40   #5  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от konopello Посмотреть сообщение
Если отфильтровать по Field 1 да фильтр налаживается не правильно. Но самое интерестное то что если зайти в форму ну там где ставят фильтры, поля Field 1 даже и не видно, наверно по этому то и глючит
Поля не видно, потому что я ему статус такой установил (Hidden).
Это просто еще один способ ограничить резвых пользователей.
Старый 20.09.2007, 17:42   #6  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Цитата:
Поля не видно, потому что я ему статус такой установил (Hidden).
Это просто еще один способ ограничить резвых пользователей.
да да я уже код посмотрел
Старый 20.09.2007, 17:46   #7  
Alexis is offline
Alexis
Участник
 
30 / 11 (1) +
Регистрация: 08.12.2003
Адрес: РБ, Минск
ну, не видно фильтра, потому что скрыто... qbr.status(RangeStatus::Hidden);

а вообще глюк известный, в любой форме зная его можно посмотреть любый данные.
к сожалению, его исправления пока не нашел.

если вспомнить, как работает форма с запросами, то баг вполне объяснимый...
__________________
Дайте мне точку опоры, и я переверну земной шар (Архимед)
Старый 20.09.2007, 17:49   #8  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
да так и есть глючит

X++:
qbr.status(RangeStatus::Locked);
там было значение !buy

нажал найти buy

и там стало просто buy
Старый 20.09.2007, 17:51   #9  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от Alexis Посмотреть сообщение
к сожалению, его исправления пока не нашел.
Ну, решение можно посмотреть в этом же проекте, если раскомментировать код в init() источника.

Правда на SP3 при определенных действиях слетает.
и на SP5 тоже
Правда у меня не получилось добиться этого.
На 4.0 SP2 тоже самое...
Старый 20.09.2007, 17:54   #10  
Alexis is offline
Alexis
Участник
 
30 / 11 (1) +
Регистрация: 08.12.2003
Адрес: РБ, Минск
всё потому, что в init создается range для Query, который потом КОПИРУЕТСЯ в queryRun и сверху в QueryRun.Query (в копии нашего родимого Query) накладывается фильтр пользователя.
В результате исходный фильтр по полю слетает (это уже баг).
Настоящая головная проблема, когда это информация просачивается на территорию не чистого на руку заказчика....... который "открывает" для себя "запрещеные" данные и гадит в них!
Приходится делать кучу доп.проверок в каждой функции, надежды на фильтр - никакой.
__________________
Дайте мне точку опоры, и я переверну земной шар (Архимед)
Старый 20.09.2007, 17:56   #11  
Alexis is offline
Alexis
Участник
 
30 / 11 (1) +
Регистрация: 08.12.2003
Адрес: РБ, Минск
3.0 SP3 никаких особенный действий, абсолютно те же!
результат на экран!
__________________
Дайте мне точку опоры, и я переверну земной шар (Архимед)
Старый 20.09.2007, 17:57   #12  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Цитата:
Ну, решение можно посмотреть в этом же проекте, если раскомментировать код в init() источника.

Правда на SP3 при определенных действиях слетает.
у меня SP3 и эфекта раскоментаренный код не дал
Старый 20.09.2007, 17:58   #13  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от konopello Посмотреть сообщение
у меня SP3 и эфекта раскоментаренный код не дал
А в SP5 KR2 дает
Так что срочно все переходите
Старый 20.09.2007, 18:00   #14  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
А для SP3 шников есть тоже свое решение

Добавляем еще один источник - по notexists join
и на него накладываем фильтр "Bye"
И фиг его уже кто-то снимет
Старый 20.09.2007, 18:03   #15  
Alexis is offline
Alexis
Участник
 
30 / 11 (1) +
Регистрация: 08.12.2003
Адрес: РБ, Минск
но как известно, notexists join частенько убивает запросы... особенно толстые, где много "полезных" inner join.
__________________
Дайте мне точку опоры, и я переверну земной шар (Архимед)
Старый 19.10.2007, 18:00   #16  
Sergey_P is offline
Sergey_P
Участник
Сотрудники компании GMCS
 
10 / 11 (1) +
Регистрация: 30.08.2006
qbr = this.query().dataSourceNo(1).addRange(fieldNum(TableWrongFind, RecId));
qbr.status(RangeStatus::Hidden);
qbr.value(strFmt('((%1.Field1!=\"%2\"))',this.query().dataSourceNo(1).name(),'Bye'));
Старый 19.10.2007, 19:52   #17  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от kashperuk Посмотреть сообщение

Ну, я рассчитываю на то, что если я на Query наложил какой-то фильтр, то пользователь не сможет наплевать на этот фильтр и задать свои условия, увидев те данных, которые вроде как не должен
Ну да, просто фильтр не там устанавливаете
Хотите - перекройте filter() на секретном поле datasource-а, хотите - устанавливайте значение фильтра в executeQuery()
__________________
-ТСЯ или -ТЬСЯ ?
Теги
ax3.0, ax4.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Про галки Итоги в фильтре Бигудь DAX: База знаний и проекты 10 05.02.2009 15:56
ERP-BLOG: Axapta, фильтр по сетке Blog bot DAX Blogs 26 05.02.2009 15:56
staticsax: Restore(ctrl-F5) and access control (AllowEdit) problem Blog bot DAX Blogs 0 19.01.2009 20:05
Как автоматически открыть lookup после нажатия ctrl+n Dima_Dima DAX: Программирование 11 13.10.2008 14:41
Осторожнее с CTRL+S на таблицах mit DAX: Администрирование 7 25.07.2005 19:09

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:20.