03.02.2003, 14:05 | #1 |
Member
|
Как наложить на запрос сложный фильтр?
Друзья мои,
У меня такое чувство, что данный вопрос уже обсуждался, но поиск мне не помогает. Может, подскажете ключевые слова? Суть проблемы (на простом отвлеченном примере). Предположим, в форме План счетов я хочу увидеть: 1. только активные счета, удовлетворяющие шаблону «20*» 2. балансовые счета, удовлетворяющие шаблону «10*» Можно ли в в форме План счетов получить набор счетов, удовлетворяющих обоим условиям одновременно с помощью стандартной функциональности фильтрации (кнопка [F3])? Возможно ли такое в Х++?
__________________
С уважением, glibs® |
|
03.02.2003, 14:33 | #2 |
Moderator
|
Цитата:
1. только активные счета, удовлетворяющие шаблону «20*»
2. балансовые счета, удовлетворяющие шаблону «10*» |
|
03.02.2003, 15:22 | #3 |
Member
|
Именно объединение. Как по очереди наложить — это понятно.
__________________
С уважением, glibs® |
|
03.02.2003, 17:02 | #4 |
Участник
|
range.value("20*,10*")
|
|
03.02.2003, 17:09 | #5 |
Administrator
|
А остальное?
Нужно: Номер LIKE '10*' AND Тип == "Балансовый" OR Номер LIKE '20*' AND Блокировано == "Нет"
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
03.02.2003, 17:28 | #6 |
Участник
|
вроде обсуждалось. и на technet'е, и здесь.
В range можно в скобках указывать названия полей. Сделать можно только при помощи программирования. В AOT'е накидыванием при помощи drag'n'drop'а этого сделать нельзя. |
|
03.02.2003, 17:31 | #7 |
Участник
|
Увы, но в общем случае такое нельзя, по крайней мере через query.
Через select - пожалуйста- нет проблем Хотя для некоторых конкретных случаев (возможно и данного) можно извернуться (или извратиться) с прилинковкой таблиц (в том числе самих себя). Но гарантировать ничего не могу После такого тупика я обычно пересматривал постановочные условия и в 99%(!) это действительно оказывалось излишним и требовалось нечто более простое. Что касается F3 то все что ты сможешь задать в этой форме - ты сможешь сделать и на програмном уровне |
|
03.02.2003, 17:51 | #8 |
Участник
|
Еще раз спасибо fed'у.
http://www.axforum.info/forums/showt...=1634#post1634 |
|
03.02.2003, 17:55 | #9 |
Участник
|
А разве нельзя так ?
Разве нельзя просто нажать правой кнопкой мышЫ и выбрать там найти.
И ввести в поле поиска 10*, 20* и все ??? Или обязательно необходимо программирование? |
|
03.02.2003, 18:15 | #10 |
Участник
|
Re: Как наложить на запрос сложный фильтр?
Цитата:
Изначально опубликовано glibs
1. только активные счета, удовлетворяющие шаблону «20*» 2. балансовые счета, удовлетворяющие шаблону «10*» В форме F3 можно выразить условие 1. только счета, удовлетворяющие шаблону «20*» 2. или счета, удовлетворяющие шаблону «10*» Выразить ИЛИ условие по разным полям в форме F3 сложно. На это есть причины. В общем случае, в форме F3 можно выразить коньюктивную форму логического выражения... хм, как бы это объяснить... (<условие_поля1> ИЛИ <условие_поля1> ИЛИ...) И (<условие_поля2> ИЛИ <условие_поля2> ИЛИ...) И... ИЛИ - это запись в одной строке запроса F3 И - это запись в нескольких строках. Если одно и то же поле присутствует в нескольких строках запроса, то аксапта подставляет ИЛИ условие. Если интересно, можно поискать в интернете по ключевым словам "query by example" или QBE и почитать про теорию и ограничения, непрограммистских запросов, а также почему и зачем сделано именно так. |
|
04.02.2003, 12:50 | #11 |
Member
|
Re: Re: Как наложить на запрос сложный фильтр?
Андре, Vladislav Yushakov, Maxim Gorbunov, mazzy, большое спасибо за исчерпывающий ответ.
Цитата:
Изначально опубликовано mazzy
Если интересно, можно поискать в интернете по ключевым словам "query by example" или QBE и почитать про теорию и ограничения, непрограммистских запросов, а также почему и зачем сделано именно так. Реального насущного примера необходимости такой фильтрации сейчас привести не могу. Меня насторожило то, что практически любой отчет, — а главное, — любое задание для пакетной обработки натравливаются на определенный диапазон данных. Более того, есть ряд интерфейсных форм, в которые данные попадают исключительно по запросу (на базе фильтра). Вот и хотелось узнать, какие возможности есть у системы в этом отношении. Честно говоря, я так и думал, но хотел подстраховаться. Заодно, думаю, все получили много полезной информации. Еще раз спасибо.
__________________
С уважением, glibs® |
|