2009-04-29 76 views
1

編輯:目的是使被裝採購申請報價文件可到處理採購訂單直接在一個簡單的方法,而無需導航回到徵用文檔本身的工作人員。Dynamics AX:如何從採購訂單中打開附加到採購申請的單據文件?

我想在採購訂單屏幕中使用DocuRef::openDocHandling方法,而不復制鏈接到採購申請的文件。我想從我將添加到採購訂單屏幕的按鈕執行此操作;我知道鏈接到採購訂單的申請單號碼是什麼。

許多在此先感謝。

回答

3

在表格PurchTable中添加一個數據源VendPurchOrderJour,其中包含(有效)採購申請。您不必顯示數據源的任何字段,因此您可以使用OnlyFetchActive屬性。然後創建表單方法「docCursor」,以告訴DocuView表單哪個記錄是活動記錄。

public Common docCursor() 
{ 
    return reqDoc ? vendPurchOrderJour : purchTable; 
} 

與 「點擊」 方法創建按鈕:

void clicked() 
{ 
    reqDoc = true; 
    if (!infolog.docu().isDocuViewSet()) 
     infolog.docu().note(element); 
    else 
     infolog.docu().setActive(); 
} 

清除在PurchTable的 「主動」 方法 「reqDoc」。

該解決方案不允許對購買行的文件,你可能必須展開這樣的解決方案(行是一個表單組):

public Common docCursor() 
{ 
    return reqDoc ? vendPurchOrderJour : 
        line.contains(element.selectedControl()) ? purchLine : 
        purchTable; 
} 
+0

Hi Jan, 我收到以下問題: 1. reqDoc未聲明。 2.如果我在類聲明中聲明它爲common或boolean類型,就會發生衝突,因爲它與設置爲true的clicked方法衝突。 我還沒有那expierienced - 謝謝你的幫助。 – 2009-05-04 10:36:39

1

如果你想有一個按鈕,打開文檔視圖,如果不開放,如果開放激活,然後你點擊的方法應該是這樣的:

void clicked() 
{ 
    if (!infolog.docu().isDocuViewSet()) 
     infolog.docu().note(element); 
    else 
     infolog.docu().setActive(); 
} 

你的問題是你的目標不明確。 你想要什麼? 請擴大。

+0

感謝揚 - 我加了上面的註釋。 – 2009-05-01 05:31:11