Dynamics NAV / 365 Business Central Extensions are a way for NAV developers and ISVs to extend the functionality of NAV without modifying Microsoft’s original source code.
Simplanova Report Converter automates conversion from Classic NAV report version to RDLC, but how about Extensions? This question is relevant to most of our customers and Dynamics Community. In this blog post, I will provide simple steps on how to convert Classic NAV report (I will use 206 Sales – Invoice report) to Extension in a couple of minutes.
- Working Classic report with related tables;
- Simplanova Classic Converter installed in NAV2018/Dynamics 365 Business Central with couple of license points;
- Visual Studio Code with AL language extension.
Export Classic NAV report and related tables to .txt file (for example I used 206 Sales – Invoice report);
Convert Classic NAV report to RDLC format with Simplanova Report Converter:
Before converting, make sure that report works in C/Side
Open CMD and go to your NAV/Dynamics 365 Business Central directory example: cd C:\Program Files (x86)\Microsoft Dynamics NAV\130.CU2\RoleTailored Client.
Export converted report to new syntax (Delta file) : finsql.exe Command=ExportToNewSyntax, File=”<Directory>/<OutputFileName>.txt”, Database=”<DatabaseName> “, ServerName=<ServerName>, Filter=Type=report;ID=72206
Create your own txt2AL conversion line from template:
txt2al –source=”<Directory with your report> ” –target=”<Output Directory>” –rename –extensionStartId=50000
Grab your converted report from output directory and put it in AL solution.
For test purposes I created a new AL project with my converted report:
And first, build:
Ups.. something went wrong, from short investigation looks like ‘0’ now works like character, but in the layout we expect text. In dataset columns I replaced ‘0’ to Format(‘0’):
Fingers crossed and…
Don’t forget to set ApplicationArea property for request page fields:
Find the steps mentioned above in a video
Hope this blog post was useful. If you have any questions, contact our team by email – email@example.com.