对于所有可用公司的循环?

时间:2012-08-09 19:11:04

标签: axapta dynamics-ax-2012

我需要创建一个带有for循环(我认为)的作业,该作业遍历所有可用的公司并检查特定值。我只是不熟悉如何选择每个公司。

是否有人知道该语法?

3 个答案:

答案 0 :(得分:6)

我在工作中使用以下技术:

static void CountIt(Args _args)
{
    DataArea  DataArea;

    void doIt()
    {;
        info(int2str((select Count(RecId) from CustTable).RecId));
    }

    setPrefix("Counting");
    while select DataArea where !DataArea.isVirtual
    {
        print(DataArea.Id);
        setPrefix(DataArea.Id);
        changecompany (DataArea.Id)
        {
            doIt();
        }
    }
}

答案 1 :(得分:3)

请记住在changecompany范围内重置表变量,否则会产生奇怪或根本没有结果。 一位同事要像你一样完成一项任务,他对changecompany范围内的代码完全没有任何结果。我用Google搜索并找到了这篇博文:http://dynamics-ax-live.blogspot.se/2011/10/what-not-to-forget-when-using.html

答案 2 :(得分:2)

您正在寻找的功能称为“跨公司”数据访问。 MSDN在这里有很多代码示例:

X ++代码: http://msdn.microsoft.com/en-us/library/cc518738.aspx

主要文章: http://msdn.microsoft.com/en-us/library/cc634544.aspx