0
votes

I have created a report in AX 2012 and Visual Studio properly but once I try to open it the following list of erors appears: Thank you

Error executing code: FormRun (data source) has no valid runable code in method 'new'.

Stack trace

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

2
Did you try to debug the error? Without access to your system, the stack trace is to generic to be of much help. A wild guess is that sometimes after a compilation with axbuild, some forms are shown with a fake compilation error that goes away if you compile the form in the development environment. These fake compile errors can cause similar stack traces. But the reason could be something else entirely. - FH-Inway
Yes,I tried to compile the forms and I did Incremental Cil because I am not allowed to do full CIL - AXING

2 Answers

1
votes

To me, this is mostly base code, so it's a compile or CIL-compile issue most likely.

Have you compiled your CIL or performed an incremental CIL compile?

Refresh your report caches (Tools>Caches>Refresh Report Server).

Are the WCF settings in the AXC used for the report server refreshed?

Is the report server using a specific AXC that may not be refreshed? (https://technet.microsoft.com/en-us/library/hh389774.aspx)

-1
votes

You can find that the issue is with form (as the infolog suggest). The name of the form can be found out if you debug the code in classes.

Try putting debugger on DialogForm.doInit(). In this method, you can find the name of the form in the object variable, "form", used inside this method in a call to args.object(form).

You have to compile this form; Restore it and report does get generated.

Remember, DialogForm.doInit() gets called 2 times, Once, launching input UI form and another when trying to launch report viewer. So if the input/contract form is getting opened and the error comes before showing the report output, its the second time when you are interested to find the name of the form.

In my case, culprit forms were, SysOperationTemplateForm and SRSReportViewer form.