Introduction

Completed

When working with reports, people will commonly want to customize them by adding more fields to the dataset and modifying the layout. Previously (before Business Central 2021 Wave 1), you would have taken full ownership of the report dataset, such as a copy, so that you could make small changes. This approach would have forced you to maintain a full report and would have prohibited multiple ISV contributions to the same report in an extensible way.

With report extensibility in Microsoft Dynamics 365 Business Central, you can create a new report extension object, which adds new fields to the dataset or a new layout.

With the report extension object, you can extend existing report objects, similar to how you extend tables and pages. You don't have to branch reports for additive changes, and you can complete the following actions:

  • Add columns

  • Add data items

  • Make modifications to the request page

  • Provide a new layout

You can complete these actions for an existing report as part of a report extension. Additionally, as an ISV, you can add to existing report objects and put a layout together with the report extension that you ship. Moreover, a partner can build on top of the different ISV report extensions, which helps make the process simpler for ISVs and partners. This support is also for processing only reports.

If you need to make any kind of disruptive changes, such as modifying existing data items and columns, or if you need to change the code that is running in triggers on the base report, then you will still need to branch and copy the report for these destructive changes. This process isn't supported as part of a report extension.

Two approaches that you can use to handle report customizations are:

  • Event phase substitution - Use this approach for destructive changes.

  • Report extension - Use this approach for additive contributions.