Crosscompany Property无效

时间:2017-08-30 12:53:59

标签: axapta dynamics-ax-2012 dynamics-ax7 dynamics-365-operations

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

我甚至尝试使用changecompany(),但除了现有公司之外,没有任何其他公司的数据。

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

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

1 个答案:

答案 0 :(得分: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));
    } 
}