2011-07-12 28 views
7

在Dynamics AX 2009中,我試圖確定信息消息的縮進級別。我想要的是類似這樣的東西:如何更改AX信息消息的級別

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 ++中做到這一點,什麼樣的縮進級別目前處於活動狀態?

回答

13

在AX setPrefix設置(相加)前綴爲當前執行的範圍,並在離開時範圍前綴自動復位到以前的水平。您可以使用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"); 
} 
+2

WOW招聘#2需要更多的關注。我沒有意識到標籤實際上會以某種方式強制下一個前綴級別。好帖子 –

+0

確實工作#2真棒。我只是用多個選項卡嘗試它,並根據需要創建多個子集。 – Kempeth