3

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

有谁知道它的语法?

4

3 回答 3

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();
        }
    }
}
于 2012-08-10T10:19:46.017 回答
3

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

于 2012-08-15T06:49:26.437 回答
2

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

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

主条目:http: //msdn.microsoft.com/en-us/library/cc634544.aspx

于 2012-08-10T15:57:20.990 回答