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 ...

๐Ÿงพ Understanding Interfaces in Business Central (With Real-Life Example)

๐Ÿ’ก A Simple Guide for Beginners If you're learning Microsoft Dynamics 365 Business Central , one concept that often feels confusing at first is Interfaces . But don’t worry — let’s break it down in simple, real-world language so you can understand not just what interfaces are, but why they matter . ๐Ÿง  The Problem We Face in Real Projects Imagine you’re building a payment system in Business Central. Your company accepts: ๐Ÿ’ณ Credit Card ๐Ÿ“ฑ UPI ๐Ÿฆ Bank Transfer At first, a simple approach looks like this: if PaymentType = 'Card' then     ProcessCard() else if PaymentType = 'UPI' then     ProcessUPI() else if PaymentType = 'Bank' then     ProcessBank(); ✅ Works fine… for now. ๐Ÿšจ But Here’s What Happens Later As your system grows: New payment types get added (PayPal, Wallet, etc.) Code becomes longer and harder to read Every change requires modifying existing logic Risk of breaking existing functionality increases ๐Ÿ‘‰ This is where interfaces come to...

UPGRADE CUSTOMIZATIONS TO V2 EXTENSION (Application and Data)

From Navision 2018 Onwards, Navision only support v2 Extension. Dynamic Navision Extension will make upgrade easier. If customizations are converted into V2 extension that means v2 Extension consist upgraded Data as well as customizations, also it will be easy to upgrade into new version of Navision and apply CU updates. Below are the detailed steps to upgrade customizations into Navision 2018 v2 Extensions .  1) you have Customized database in Microsoft Dynamics Navision 2018. 2) Create the new table for each table that is customized or also for customized field in standard table but while creating table for standard table, add the primary key and customized field with same ID and Name in new table. For E.g.: I have created 1 table “Person” and 2 Customized Field (Test, Doc No) in “Sales Header”. Now create 2 New tables in 2018.  · Upg Sales Header -> Two base field (PK) and customized field -> Same ID and add primary key. Refer be...