我有一个跨公司的属性("是")启用查询。,即使查询返回Dynamics 365(AX7)中当前公司的值
我甚至尝试使用changecompany()
,但除了现有公司之外,没有任何其他公司的数据。
_query.allowCrossCompany(true);
qr=new QueryRun(_query);
while(qr.next())
{
companyInfo =qr.get(tableNum(CompanyInfo));
info(strfmt("%1",companyInfo .DataArea));
}
这里的查询是跨公司查询但仍显示当前公司的值(即,如果我从美国数据区运行此代码仅显示美国而非其他公司)
答案 0 :(得分:1)
首先,CompanyInfo
是SaveDataPerCompany = 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));
}
}