11.02.2005, 13:08 | #1 |
Участник
|
Разбираюсь с QueryBuildRange.value(). Задачка: отобрать все записи таблицы Tаблица, у которых стринговое поле X равно значению переменной value1, если поле Y пустое, и значению value2, если поле Y не пустое.
Посмотрел, что в value() можно писать выражения (например вот как здесь : http://www.axforum.ru/forums/showthread.ph...d=1634#post1634 ). Пишу так: <div class='XPPtop'>X++</div><div class='XPP'> qBDS = query.addDataSource([color=:blue]tableNum[/color](Таблица),[color=:red]"A"[/color]); qBR = qBDS.addRange([color=:blue]fieldNum[/color](Таблица, X)); qBR.value([color=:red]" ! A.Y ? value1 : value2"[/color]);</div> Такая конструкция компилируется, но проверка не срабатывает: выводятся ВООБЩЕ ВСЕ СУЩЕСТВУЮЩИЕ записи. Т.е. range полностью игнорируется. В чем дело? Что не так ? Нельзя использовать условие ? Или в Аксапте 3.0 вообще нельзя использовать подобные выражения в range.value() ? |
|