1
我的請求是,客戶想要放入日期範圍(通常爲一個月),並取出所有在該日期範圍內至少有一行發佈的總帳日記帳。例如,他們會在一月份的三月份發佈期刊,並想知道哪些期刊有這些數據。嘗試僅使用AX查詢對象加入
基本的想法是LedgerJournalTable to firstonly LedgerJournalTrans。我不是查詢對象的最佳選擇。爲什麼我的查詢不工作?它會返回多個期刊,而不僅僅是一個。我想我可以分組並且可以,但我認爲這會起作用。
static void Job38(Args _args)
{
Query q;
QueryRun queryRun;
QueryBuildDatasource qbd;
QueryBuildDatasource qbd2;
QueryBuildRange qbr;
LedgerJournalTable ledgerJournalTable;
;
info(strfmt("%1", date2strxpp(str2date('10/01/2011', 213))));
q = new Query();
qbd = q.addDataSource(tablenum(LedgerJournalTable));
qbd2 = qbd.addDataSource(tableNum(LedgerJournalTrans));
qbd2.relations(true);
qbd2.firstOnly(true);
qbd2.joinMode(JoinMode::InnerJoin);
qbr = qbd2.addRange(fieldNum(LedgerJournalTrans, TransDate));
qbr.value(strfmt('(TransDate > %1) && (TransDate < %2)', Date2StrXpp(str2date('10/01/2011', 213)), Date2StrXpp(str2date('10/31/2011', 213))));
queryRun = new QueryRun(q);
while (queryRun.next())
{
ledgerJournalTable = queryRun.get(tableNum(LedgerJournalTable));
info(strfmt("%1", ledgerJournalTable.JournalNum));
}
}
這使它正常工作。我希望我能做到qbd2.firstonly(true),它會工作。 – 2012-03-22 20:38:43