尝试首先使用 AX 查询对象加入
Posted
技术标签:
【中文标题】尝试首先使用 AX 查询对象加入【英文标题】:Trying to join firstonly using AX query object 【发布时间】:2012-03-22 16:57:30 【问题描述】:我的请求是客户想要输入一个日期范围(通常是一个月)并提取在该日期范围内至少有一行发布的所有总帐日记帐。例如,他们将在 3 月份发布 1 月份的期刊,并想知道哪些期刊有这些数据。
基本思想是 LedgerJournalTable 到 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));
【问题讨论】:
【参考方案1】:你试过JoinMode::ExistsJoin
吗?
【讨论】:
这使它正常工作。我希望我可以做 qbd2.firstonly(true) 并且它会起作用。以上是关于尝试首先使用 AX 查询对象加入的主要内容,如果未能解决你的问题,请参考以下文章