2017-03-02 22 views
1

我在AX2012中創建了一份報告(無SSRS),通過我正在運行此報告的菜單項,我想實現從我選擇的資產記錄中顯示AssetId。舉報爲空 - 舉報

我的對話方法:

public Object dialog(Object _dialog) 
{ 
    DialogRunbase dialog = _dialog; 
    ; 

    dialogAssetIds = dialog.addField(ExtendedTypeStr(AssetId)); 

    return dialog; 
} 

我getFromDialog方法:

public boolean getFromDialog() 
{ 
    ; 
    curAssetId = dialogAssetIds.value(); 

    return true; 
} 

我還創建了一個顯示方法返回值:

display AssetId assetId() 
{ 
    return curAssetId; 
} 

在我的報告字段,我選擇了上述方法來顯示AssetID號碼,顯然我錯過了關鍵鏈接,但我不是確定是什麼。

我收到的錯誤:

Report is empty - Report 

最後,我想打印由assetid數量,而不對話框場的基礎上,選擇的記錄,我已經建立的對話框中,所以我肯定沒有什麼是錯的直接打印值。

回答

2

猜測出了什麼問題與您的報告需要更多的數據,但是......

你不需要RunbaseReport類或任何代碼來實現此行爲。
只需在報告的AOT節點上將AutoJoin屬性設置爲Yes即可。
更改您的菜單項以引用報告。 將菜單項添加到資產表單中,記得將控件的DataSource屬性設置爲AssetTable數據源。

然後通過魔術它提供了dynalink在表格和報表上的表格被創建。如果從主菜單調用報告,則不會自動加入原因,它將選擇用戶查詢的任何內容。

適用於MorphX報告,不適用於SSRS報告。 SSRS很糟糕(再次......)。

+0

完美,這可以幫助我很多!我明白你在說什麼,這是一個好方法。資產ID現在正在打印,除了唯一的問題是它不斷打印列表中的第一個資產ID,無論選擇哪條記錄,我都會嘗試解決這個問題。 –

+1

在頭文件中,您可能必須使用'element.last()'來查找記錄。在報告中搜索(也許是AX 2009)的例子。 –