Report Design Overview
A report in Dynamics 365 Business Central is composed of the following items:
- A report object
- A report dataset
- A report layout
- A request page
- Properties, triggers, and code
You design a report by first defining the dataset, then designing the visual layout, and finally a request page.
You create a report object in the AL Language development environment to define the data model, or dataset of a report. You can structure and summarize information in a report and print documents, such as sales quotes and invoices. For more information, see Report Object.
In order to define the underlying data model, you use the report dataset. A report dataset determines the data that is extracted or calculated from the Business Central database tables that can be used in a report. You build the report dataset by adding data items and columns. For more information, see Report Dataset. You can also extend a dataset from an existing report, to add more columns for example. For more information, see Report Extension Object.
It is possible to use a query object as the data source for a report. This can in many cases improve the performance of data retrieval when running the report.
The visual layout determines the content and format of a report when it is viewed and printed. You build the layout of a report by arranging data items and columns and specifying the general format, such as text font and size. A report that is viewed, printed, or saved from a Business Central client must have a report layout.
There are three types of report layouts: Excel report layouts, Word report layouts, and layouts using report definition language (RDL). You can also extend an existing report, for example, to add a new layout. For more information, see Report Extension Object.
The layout in a report extension will not automatically be used when the report extension is deployed. To use the report extension layout, in Business Central, go to the Report Layout Selection page to choose to use the new layout for the report in question by choosing it from the Custom Layout Description drop-down box.
Excel report layout
You create and edit Excel layouts by using Microsoft Excel. An Excel report layout is based on an Excel (.xlsx) document and provides end users to take advantage of the capabilities in Excel such as sliders, diagrams, charts, pivot tables, and PowerQuery to design the report. For more information, see Creating an Excel Layout Report.
Word report layout
You create and edit Word layouts by using Microsoft Word. A Word layout is based on a Word document that includes a custom XML parts that represents the report dataset. For more information, see Creating a Word Layout Report.
To create an RDL layout report, you use Visual Studio Report Designer or Microsoft SQL Server Reporting Services Report Builder. For more information, see Creating an RDL Layout Report.
RDL layouts can result in slower performance with document reports, regarding actions that are related to the user interface (for example. like sending emails) compared to Word layouts. When developing layouts for document reports, we recommend that you design Word layouts instead of RDL. With Word layouts, reports are not impacted by the security constraints on sandbox app domains like they are with RDL layouts. From a service perspective, RDL layouts are not trusted, so they will run in a sandbox app domain that only lives for the current report invocation.
Report request page
A request page is a page that is run before the report starts to execute. Request pages enable end users to specify options and filters for the report. The request page is where you specify teaching tips for your reports, helping the user understand what the report is about and how they can use it. The request page also unlocks context specific help for the report, which will be in the Help pane of Business Central.
For more information, see Using request pages with reports.
Report properties, triggers, and code
You can control the way the AL runtime and client work on the report by setting properties on the report object. For a list of all properties that you can set on the report object, see the AL language reference article Report, Report Fields, and Report Extension Properties.
With report triggers, you can control how the reporting feature works in Business Central, for example to control post-processing or printing of report documents. For more information, see Report Triggers and Runtime Operations.
Report extension object
Using request pages with reports
Creating an Excel layout report
Creating an RDL layout report
Creating a Word layout report
Report, report fields, and report extension properties
Report triggers and runtime operations