2015-10-23 101 views
0

我在AX 2012和Visual Studio正確創建一份報告,但有一次我嘗試打開它出現以下erors列表錯誤列表: 謝謝報告AX 2012不開;

錯誤執行代碼:FormRun(數據源)在方法'new'中沒有有效的可運行代碼。

堆棧跟蹤

(C)\類\ FormRun \新 (C)\類\ SysSetupFormRun \新 - 線4 (C)\類\的ClassFactory \ formRunClassOnClient - 線10 (C)\ (C)\ Classes \ DialogForm \ doInit - 行12 (C)\ Classes \ Dialog \ doInit - line 12 (C)\ Classes \ Dialog \ doRun - line 24 (C)\ Class ClassFactory \ formRunClass - line 24 )\ Classes \ SysOperationDialog \ run - line 12 (C)\ Classes \ SysOperationController \ dialogShow - line 6 (C)\ Classes \ SysOperationController \ dialogRun - line 40(C)\ Classes \ SrsReportRunController \ runReport - 第68行 (C)\ Classes \ SrsReportRunController \ run -(C)\ Classes \ SysOperationController \ prompt - line 9 (C)\ Classes \ SrsReportRunController \ runToScreen - line 26 線27 (C)\類\ SysOperationController \ startOperation - 線10 (C)\類\ SrsReportRunController \ startOperation - 線12

+0

您是否嘗試調試錯誤?如果不能訪問你的系統,堆棧跟蹤是非常有用的。瘋狂的猜測是,有時在使用axbuild進行編譯之後,如果您在開發環境中編譯表單,某些表單會顯示一個虛假的編譯錯誤,該編譯錯誤將消失。這些假編譯錯誤可能導致類似的堆棧跟蹤。但其原因可能完全是另一回事。 –

+0

是的,我試圖編譯窗體,我做了Incremental Cil,因爲我不允許做全CIL – AXING

回答

1

對我來說,這主要是基礎代碼,所以這是一個編譯或CIL編譯問題最有可能的。

你編譯過你的CIL還是執行了增量CIL編譯?

刷新您的報告緩存(工具>緩存>刷新報告服務器)。

用於刷新報表服務器的AXC中的WCF設置是否已刷新?

報表服務器是否使用可能無法刷新的特定AXC? (https://technet.microsoft.com/en-us/library/hh389774.aspx

+0

我嘗試了兩個,增量Cil和刷新緩存,錯誤仍然顯示 – AXING

+0

我想嘗試一個完整的系統編譯和填充CIL構建。 –

+0

[您的應用程序是否完全編譯?](http://dynamicsuser.net/forums/p/74843/408433.aspx#408433)是一個很好的建議。 –

-1

你可以發現問題是與形式(如信息提示)。如果您在類中調試代碼,可以找到表單的名稱。請使用DialogForm.doInit()。在此方法中,您可以在調用args.object(form)時在此方法內使用的對象變量「form」中找到表單的名稱。

您必須編譯此表單;恢復它並生成報告。

記住,DialogForm.doInit()被調用2次,一次啓動輸入UI表單和另一個嘗試啓動報表查看器時。因此,如果輸入/合同表單被打開,並且在顯示報表輸出之前出現錯誤,那麼當您有興趣查找表單的名稱時,這是第二次。

在我的情況下,罪魁禍首的形式是,SysOperationTemplateFormSRSReportViewer的形式。