26.01.2015, 15:15 | #1 |
Участник
|
Проблема с Query
Добрый день!
Подскажите как правильно сделать? Через select конечно же все работает но надо через query Запрос через select Код: select CustTrans where custTrans.TransDate <= systemGetData() && custTrans.Closed == dateNull() || custTrans.Closed > systemGetData() Код: void InitQuery() { Query query = new Query(); QueryBuildDataSource qbds; ; qbds = query.addDataSource(tablenum(CustTrans),"_custTrans"); qbds.addRange(fieldnum(CustTrans, TransDate)).value(strfmt('((%1 <= %2))', fieldstr(CustTrans, TransDate), systemDateGet())); qbds.addRange(fieldnum(CustTrans, Closed)).value(strfmt('((%1 == %2) || (%1 > %3))', fieldstr(CustTrans, Closed), DateNULL(), systemDateGet())); queryRun = new QueryRun(Query); } |
|
26.01.2015, 15:40 | #2 |
Дмитрий Ерин
|
Для вашего случая можно обойтись обычными (не "расширенными" Range). Посмотрите в качестве примера метод \Classes\RLedgerSheetEngine_TurnoverCustVend\initRunQuery() (там не точно ваш запрос, но очень похожий).
__________________
|
|
26.01.2015, 17:16 | #3 |
Участник
|
а если вот так?
X++: qbds.addRange(fieldnum(CustTrans, Closed)).value(SysQuery::range(systemdateget(), datemax())); qbds.addRange(fieldnum(CustTrans, Closed)).value(queryvalue(datenull())); |
|
26.01.2015, 17:55 | #4 |
Участник
|
Цитата:
X++: qbds.addRange(fieldnum(CustTrans, Closed)).value(strfmt('((%1 == %2) || (%1 > %3))', fieldstr(CustTrans, Closed), date2StrXpp(dateNull()), date2StrXpp(systemDateGet()))); |
|
|
За это сообщение автора поблагодарили: IvanS (1). |
26.01.2015, 18:37 | #5 |
Участник
|
Супер! Большое спасибо. Помогло.
|
|
|
Похожие темы | ||||
Тема | Ответов | |||
emeadaxsupport: Microsoft Dynamics AX general performance analysis scripts page 5 | 0 | |||
Проблема с Query в AOT | 7 | |||
Проблема с составлением Query | 10 | |||
проблема с query | 7 |
|