|
|
#1 |
|
Участник
|
Ручной запрос: как указать Like?
Составляю запрос в методе. Пишу addRange. Добавляю в него значение. А как указать, что оно Like, а не =? Чего-то не могу найти такой пример в коде.
|
|
|
|
|
#2 |
|
Участник
|
Используйте для поиска символы "*" и "?". Если Ax встретит их в строке запроса, то сама преобразует в like.
X++: AddRange(fieldId).Value("поиск*");X++: field like "поиск%"
__________________
Axapta v.3.0 sp5 kr2 |
|
|
|
|
#3 |
|
Участник
|
Т.е. так он работать не бдет
X++: qbrFromAccount.value(_base.FromAccount); |
|
|
|
|
#4 |
|
Участник
|
Цитата:
Если у вас в поле FromAccount хранится строка со спец-символами для поиска, то они будут применены к запросу. AndyD уточнил просто, что X++: qbrFromAccount.value(queryValue(_base.FromAccount)); X++: qbrFromAccount.value(SysQuery::value(_base.FromAccount));
|
|
|
|
| За это сообщение автора поблагодарили: aidsua (1). | |
|
|
#5 |
|
Участник
|
X++: qry = new Query(); qbds=qry.addDataSource(tablenum(LedgerBalancesDimTrans),'lbdt2'); qbrFromAccount=qbds.addRange(fieldnum(LedgerBalancesDimTrans,AccountNum)); qbrFromAccount.value(_base.FromAccount); |
|
|
|
|
#6 |
|
Участник
|
Думаю, смотреть стоит в сторону того, где инициализируется значением поле _base.FromAccount
Или же значение фильтра изменяется где-то до вывода запроса. X++: static void Job71(Args _args) { Query qry; QueryBuildDataSource qbds; QueryBuildRange qbrFromAccount; LedgerBalancesDimTrans _base; ; _base.AccountNum = '69????'; qry = new Query(); qbds=qry.addDataSource(tablenum(LedgerBalancesDimTrans),'lbdt2'); qbrFromAccount=qbds.addRange(fieldnum(LedgerBalancesDimTrans,AccountNum)); qbrFromAccount.value(_base.AccountNum); info(qbds.toString()); } |
|
|