Currently I’m upgrading a customer from NAV2015 to NAV2017.
During the implementation of NAV2015 the customer has asked me, I they could design there reports themselfs.
And my reflection was, why not.
So as said the customer changed there report layout within NAV with the feature “Custom Layouts”.
A new feature back in NAV2015 but still available in NAV2017.
Now during the upgrade of this customer I ran into some issues when testing the upgraded version.
Every time I try to print a report with a custom layout NAV crashes with no more information.
In my previous post I explained how easy it is to do modifications without changing the Menusuite or default code. When implementing this idea in a previous NAV version I experience a strange behavior. Every time I try to print a report I got stuck in an endless loop. The report is printed or print previewed but the request page comes back. Very annoying.
So I investigate this behavior and found that the CAL syntax CurrReport.QUIT doesn’t work as expected in the InitReport Session. As I supposed the report must QUIT executing after this line of code, but for some strange reason it won’t.
To make my idea work I came up with the following alternative.
Sometimes you need to make some customizations to default reports. A natural behavior would be saving the report in the 50000 range. For documents like Sales Invoice you can simply change the Report Selections, but what if you need to change for example “Detail Trial Balance” (Report 4) or “Whse. – Posted Receipt” (Report 7308).
The “Detailed Trail Balance” is called from several places like the MenuSuite and the “G/L Account List” page. When it comes to printing the “Whse. – Posted Receipt” you need to make multiple modifications like Codeunit “Warehouse Document-Print” and “Whse.-Post Receipt + Pr. Pos.”.
Modifying all these places is not that interesting to do. You can simply comment the default code and call the new 50000 report instead. Or you can also do it the PRS way by disabling the default code by calling “IF CodeunitxyzHook.OnBeforePrintReport THEN”. And then run the custom report in your hook with an EXIT(FALSE) as last code.
But still you need to make a lot of identical modification.
To avoided all of this I came up with the following idea.
I just came back from a very nice vacation in the Ardeche (France) where the temperature was between 35°C and 39°C.
Most of my time I was in the pool or the river to cool down. It was great to have some family time with my girlfriend and our 3 boys. And as always time flies and the vacation was too short. J
During this vacation Plataan and Microsoft has published my very first “How Do I” video.
The experience was nice and I hope you like the outcome.
Designing reports in NAV is a time consuming task. Microsoft has made several changes since the introduction of RDLC. But still partners must budget enough time to create custom layouts.
In NAV2015 Microsoft introduced the possibility to create custom designs from the Windows client instead of the development environment.
This feature lets end users design their own layouts. So that partners can reduce budget. I think end users love this feature but now partners can have helpdesk questions with the following error.
Ok, this error doesn’t say much for the end user and they have no clue how to fix.