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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.01.2009, 20:41   #1  
DTD is offline
DTD
Участник
 
183 / 18 (1) ++
Регистрация: 09.08.2005
Подскажите красивое решение задачи (поиск данных на форме)
Имеется главная форма (плана InventTable, CustTable, BusRelTable). Необходимо к ней приделать панель с поиском - около 10 полей работающих вместе (AND условие), каждое поле подразумевает не точное совпадение, а *что_ищем* (like условие).

При этом все это должно работать совместно с range поставленными при вызове формы, а также стандартными фильтрами формы (например опции сверху BusRelTable - "Показать все", "Тип" и т.д.)

Пример: показать всех клиентов у которых в имени есть "сель", из группы "ПостКлиенты", с номером телефона в котором есть "095" а в адресе "деревня". Остальные фильтры пустые.

Поиск не контекстный, по кнопке.

В прошлый раз когда такое требовалось сделал через sets, работало как надо, но как по мне получилось коряво и не очень быстро.

Думаю не у меня первого такая задача, интересно какие еще могут быть варианты ее решения.
__________________
_databaseTransDelete ... bl@$ !
Старый 21.01.2009, 21:44   #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®
Старый 22.01.2009, 00:28   #3  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Я вот тоже не понимаю, какая проблема пользователям "по кнопке" вызвать стандартный фильтр и "доналожить" в нём нужные дополнительные ограничения?
Научить их пользоваться wildcard-ами ("*") и, возможно, в некоторых сложных случаях, расширенным рэнджем не так сложно, мне кажется (в случае расширенного фильтра сохранить пользователям пару-тройку шаблонных фильтров, для примера)...

Но если уж очень хочется сделать это на отдельной кнопке, то надо, насколько я понимаю, взять у формы queryRun().query() и "доналожить" на него ваши условия.
Естественно по смыслу проверяя, что если рэндж уже есть на поле и задан, то не создавать ещё один (т.к. будет "OR"), а переписывать имеющийся, скорее всего с использованием "расширенного фильтра"...

По расширенным рэнджам, если есть вопросы, поиск по "расширенный фильтр" или "Advance query range" вам в руки - на форуме обсуждался уже множество раз..
__________________
Zhirenkov Vitaly
Старый 22.01.2009, 01:11   #4  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Самым красивым решением является стандартное.

С Уважением,
Георгий
Старый 22.01.2009, 08:54   #5  
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
Цитата:
Сообщение от ZVV
...
Но если уж очень хочется сделать это на отдельной кнопке, то надо, насколько я понимаю, взять у формы queryRun().query()
...
В качестве программного варианта ПОЛЬЗОВАТЕЛЬСКОГО фильтра (т.е. пользователь его может видеть в расширенном фильтре, менять, сбрасывать) в форме я для себя нашел наиболее простым и удобным такой:

TramPamPam_DS.filter(fieldnum(TramPamPam, Field_1), "*XXX*");

Можно делать из любого места в форме, само рефрешит все источники данных, меняет QueryRun.

Для наложения фильтров с блокированными или скрытыми диапазонами или сложных фильтров приходится в Query колупаться.

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

Впрочем, в 4.0 появился а-ля Экселькин автофильтр, и это стало менее актуально в GUI. На портале, IMHO, актуально.
Миниатюры
Нажмите на изображение для увеличения
Название: Pic-001.GIF
Просмотров: 267
Размер:	130.5 Кб
ID:	4204  
__________________
С уважением,
glibs®
За это сообщение автора поблагодарили: ZVV (1).
Теги
поиск, форма, sp2, ax4.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Аксапта как фронт-офисное решение в рознице. vc DAX: Функционал 15 11.02.2008 10:42
Распределенная база данных на основе View Владимир Максимов DAX: Программирование 27 04.09.2007 13:21
Подскажите вертикальное решение Axapta для аэропорта. Spider DAX: Прочие вопросы 12 04.07.2006 08:05
Разрешение на доступ к базе данных nicko DAX: Администрирование 3 18.05.2004 18:49
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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