11

Dynamics AX 2009では、情報メッセージのインデントのレベルを判断しようとしています。私が欲しいのはこれに似たものです:

Prefix
    Info1
    Info2
Prefix2
    Info3

私はこれを見つけました:

http://www.doens.be/2010/05/the-ax-infolog/

しかし、ループを使用したくないので、次のようなものが機能する可能性があると思いました。

setprefix("Prefix");    

{
    info("Info1");
    info("Info2");
}

setprefix("Prefix2");

{
    info("Info3");
}

しかし、そうではありません。x ++でこれを行う方法はありますか?また、現在アクティブなインデントレベルに関するルールは何ですか?

4

1 に答える 1

17

setPrefixAXでは、現在の実行スコープのプレフィックスを設定(追加)し、スコープを離れると、プレフィックスは自動的に前のレベルにリセットされます。を使用getPrefixして、現在の実行プレフィックスを確認できます。

2つのハックは、期待される結果を受け取るのに役立ちます。

#1

static void TestJob(Args _args)
{
    void sub1()
    {
        setprefix("Prefix");
        info("Info1");
        info("Info2");
    }

    void sub2()
    {
        setprefix("Prefix2");
        info("Info3");
    }
    ;

    setPrefix("Main");
    sub1();
    sub2();
}

#2

static void TestJob(Args _args)
{
    setPrefix("Main");
    info("Prefix\tInfo1");
    info("Prefix\tInfo2");
    info("Prefix2\tInfo3");
}
于 2011-07-12T15:41:06.980 に答える