|
|
#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);
} |
|
|
|
|
#2 |
|
Дмитрий Ерин
|
Для вашего случая можно обойтись обычными (не "расширенными" Range). Посмотрите в качестве примера метод \Classes\RLedgerSheetEngine_TurnoverCustVend\initRunQuery() (там не точно ваш запрос, но очень похожий).
__________________
|
|
|
|
|
#3 |
|
Участник
|
а если вот так?
X++: qbds.addRange(fieldnum(CustTrans, Closed)).value(SysQuery::range(systemdateget(), datemax())); qbds.addRange(fieldnum(CustTrans, Closed)).value(queryvalue(datenull())); |
|
|
|
|
#4 |
|
Участник
|
Цитата:
X++: qbds.addRange(fieldnum(CustTrans, Closed)).value(strfmt('((%1 == %2) || (%1 > %3))', fieldstr(CustTrans, Closed), date2StrXpp(dateNull()), date2StrXpp(systemDateGet()))); |
|
|
|
| За это сообщение автора поблагодарили: IvanS (1). | |
|
|
#5 |
|
Участник
|
Супер! Большое спасибо. Помогло.
|
|
|
|
|
Похожие темы
|
||||
| Тема | Ответов | |||
| emeadaxsupport: Microsoft Dynamics AX general performance analysis scripts page 5 | 0 | |||
| Проблема с Query в AOT | 7 | |||
| Проблема с составлением Query | 10 | |||
| проблема с query | 7 | |||
|