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

お探しの機能は、"Cross Company" データ アクセスと呼ばれます。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 に答える