Последняя версия DataExpress 3 beta от 9 августа 2020 года.
Изображение Скачать | Изображение Что нового?
См. также: Энциклопедия DX | Форум на develop-soft | Расширения
ИзображениеИзображениеИзображение

Передать значение фильтра в SQL запрос

Вопросы по составлению выражений SQL
Vofka18
Знаток
Сообщения: 444
Зарегистрирован: Вс мар 04, 2018 4:54 pm
Благодарил (а): 44 раза
Поблагодарили: 43 раза

Передать значение фильтра в SQL запрос

Сообщение Vofka18 » Вс июл 12, 2020 12:25 pm

Добрый день, подскажите, пожалуйста, есть ли возможность передать "сложный" фильтр, из расширения в SQL запрос?
Например есть расширение в котором пользователь выбирает форму и таблицу, и настраивает фильтр для таблицы (т.е. из таблицы нужно выбрать не все данные)

Код: Выделить всё

  <form name="form" caption="Форма" />
  <childform name="table" caption="Таблица" source="form"/>
  <filter name="filter" caption="Фильтр таблицы" source="table" form="table"/>

далее в расширении я планировал создать sql запрос на основании введенных данных, но уперся в то, что не получается передать фильтр.
И если с простым фильтром еще можно побороться

Код: Выделить всё

[поле таблицы]="йцукуен" // распарсить текст фильтра найти поле до знака "=" и значение после

то со сложными вычисляемыми фильтрами у меня даже идей нет... Например

Код: Выделить всё

[поле таблицы]="йцукуен" &
[Номер]=DBMAX('форма', '[Номер]', '')

Вытянул текст sql запроса из компонента dxQueryGrid, там каким то образом выражения вычисляются отдельно, и подставляется результат

Код: Выделить всё

t11.f45="йцукуен" AND
t11.f433=1190 // Не могу понять на каком этапе его расчитать.

И вообще реально ли это?
Заранее всем благодарен!!!

Аватара пользователя
admin
Разработчик
Сообщения: 5045
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская
Благодарил (а): 39 раз
Поблагодарили: 308 раз

Передать значение фильтра в SQL запрос

Сообщение admin » Вс июл 12, 2020 2:02 pm

Такой возможности нет. Попробуйте сделать что-то попроще. Можно например сделать такую настройку:

Код: Выделить всё

<grid ...>
   <field name="field" source="table" .../>
   <expr name="expr" source="table" .../>
</grid>

Vofka18
Знаток
Сообщения: 444
Зарегистрирован: Вс мар 04, 2018 4:54 pm
Благодарил (а): 44 раза
Поблагодарили: 43 раза

Передать значение фильтра в SQL запрос

Сообщение Vofka18 » Вс июл 12, 2020 2:06 pm

admin писал(а):Такой возможности нет. Попробуйте сделать что-то попроще. Можно например сделать такую настройку:

Код: Выделить всё

<grid ...>
   <field name="field" source="table" .../>
   <expr name="expr" source="table" .../>
</grid>

Понял. Спасибо!