Skip to main content

AL Development 03 - How to Develop New Report in AL?

Hi Readers,

Now its time to develop the most important part of Navision which client desire the most yes you are correct i am talking about Reports.

As we know to develop any solution in Business Central we must start working on AL Code Extension so from this blog you will get to know the detailed step how to create a Report through AL Code in business Central.

Note: As of now there is no provision to customise the base report.
Let’s try to create a simple report.
Add new file with .al extension in your project folder through visual studio code
My File Name is My_report.al


 Code Snippet for adding a new Report, use snippet treport as shown below:


Next Step to set these Report Properties -

Assign ID and Provide a name of the Report that you are adding.
Set UsageCategory to ReportsAndAnalysis.
Set ApplicationArea to All.



As you select the treport snippet then a default structure of the report is created as below:



Basically, there are 3 parts:

1. Dataset: where we select data items and corresponding fields
2. Request Page: The request page of the report where we can modify the request page.
2.1 Request page Action: we can say it is the sub part of request page.
2.2 Request Page fields
3. Global Variables
We can remove some part of the default report generated by the system which is not required.
My report is based upon the Data Item Customer Ledger Entry:



Now, add columns or fields Required for Report (as shown below)


As we all know NAV report development is combination of 2 parts:
1. Dataset Design
2. Layout Design
We have completed the Dataset development, Now to add layout in the report we need to set two properties of report:
1. DefaultLayout - RDLC & Word.
2. RDLCLayout and/or WordLayout - File Name with Extension .rdl and .docx (Remember file name is between '')


Now to build layout we must do Build the extension (Ctrl+Shift+B) to generate the Layout File as shown below.



Now create the layout by opening the .rdlc file externally with SQL Server Report Builder by right clicking on it as below:



It will show all the columns which you had selected in dataset design:



Here you can design your layout and after that save your layout and close the layout designer
After designing my layout is showing like below:



If you are ready to see how the report looks like from client, just click F5 and Publish the Extension to Apply changes to Business Central Tenant / Database.

After publishing the app now, you will be able to find the report in the search section of business central:



Below is the report request page:



Below is the output of the report:


Thanks,

Hope you find this article fruitful.

Let me know your thoughts in comment section.

Comments

Popular posts from this blog

Improved performance features of Business Central 17

  In the training I’ve done to some partners last week, when talking about performances I shared an example of an extension with 3 features that I think are not so well known but that have a significant impact on how your code performs, expecially on a SaaS environment. That extension used the following features: Partial record loading Temporary Tables QueryCategory The  Partial record  capability  is a new feature available starting from Dynamics 365 Business Central 2020 Wave 2 (v17) and I think it’s one of my top personal desiderata from years. This feature permits you to load only the needed fields of a recordset (when accessing a data source) instead of loading the entire set of fields. This is particularly useful on reports and OData pages because you can avoid to do a SELECT * (plus JOINS with all the extension’s tables) and instead doing a SELECT of only the fields you need. Now you can do something like: procedure TestPartialRecord(): Decimal ...

Custom sheet name in RDLC Reports

Hi Readers, In this article we are going to discuss how to change the excel sheet name while using base Navision SAVEASEXCEL functionality. Applicable for RDLC reports of Navision and SSRS reports. Let’s say we have the following report that shows total sales by product category by territory:   When we export this report to Excel, we’d like each territory to appear in its own worksheet and each worksheet named after its territory: How do we make this work? Easy! 1) Put every group on its own page. 2) name each page using the same field the group uses. Step 1: Put each group on its own page To put each group on its own page, open the group’s property window. Then, in the Page Breaks category, put a check mark in the Between each instance of a group check box. Click OK to complete this step. Step 2: Name the pages of the group With the group selected in the Row Group s panel, press F4 to open the Properties window. Next, expand the Group ...