-1

我有一个启用了跨公司属性(“是”)的查询。即使查询返回 Dynamics 365 (AX7) 中当前公司的值

我什至尝试过,changecompany()但除了当前公司之外,没有任何其他公司的数据。

_query.allowCrossCompany(true);
 qr=new QueryRun(_query);
while(qr.next()) 
{ 
companyInfo =qr.get(tableNum(CompanyInfo));
info(strfmt("%1",companyInfo .DataArea));
} 

这里的查询是跨公司查询,但它仍然只显示当前公司的值(即,如果我从美国数据区运行此代码只显示美国而不是其他公司)

4

1 回答 1

1

首先,CompanyInfoSaveDataPerCompany = No,所以跨公司毫无用处。

其次,您不能提供所有代码,因为我刚刚创建/尝试了这两个工作,并且它们在crossCompany. Job12 与您所做的类似,但它仍然有效。

static void Job11(Args _args)
{
    Query           query   = new Query();
    QueryRun        qr;
    SalesTable      salesTable;

    query.addDataSource(tableNum(SalesTable));
    query.allowCrossCompany(true);

    qr      = new QueryRun(query);

    while(qr.next()) 
    {
        salesTable = qr.get(tableNum(salesTable));
        info(strFmt("%1 %2", salesTable.SalesId, salesTable.dataAreaId));
    } 
}


static void Job12(Args _args)
{
    Query           query   = new Query();
    QueryRun        qr;
    CompanyInfo     companyInfo;

    query.addDataSource(tableNum(CompanyInfo));
    query.allowCrossCompany(true);

    qr      = new QueryRun(query);

    while(qr.next()) 
    {
        companyInfo = qr.get(tableNum(CompanyInfo));
        info(strfmt("%1", companyInfo.DataArea));
    } 
}
于 2017-08-30T17:39:47.060 回答