尝试首先使用 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 查询对象加入的主要内容,如果未能解决你的问题,请参考以下文章

使用FQL查询每个喜欢的对象

MS Access SQL 查询 - 加入错误

使用join语句加入子查询

SparkSql - 加入查询执行抛出“对象不是声明类的实例”

无法加入查询

在 Laravel get() 查询构建器中附加两个数组