Processing-Only Reports in Business Central: What They Are and Why They Matter
Have you ever needed to process data in Business Central without printing anything? That’s where Processing-Only Reports come in! They're powerful, easy to maintain, and great for handling background tasks like bulk updates, calculations, and data clean-ups — all while giving users a familiar interface for filters and scheduling.
In this post, we’ll dive into what they are, why they’re useful, and how to create one.
๐น What is a Processing-Only Report?
A Processing-Only Report in Microsoft Dynamics 365 Business Central is a report that doesn’t generate output like PDF or Excel. Instead, it’s built to process data behind the scenes — ideal for tasks like:
-
Updating records in bulk
-
Running business logic on filtered data
-
Showing progress and results with messages or dialogs
By setting the ProcessingOnly
property to true
, the report becomes purely functional — no printout involved.
๐น Why Use a Report Instead of a Codeunit?
At first glance, this might sound like a job for a codeunit. But here’s why reports are better in some cases:
Feature | Processing-Only Report | Codeunit |
---|---|---|
Filter UI | ✅ Built-in | ❌ Manual setup |
Data flow visualization | ✅ Report Dataset Designer | ❌ Fully code-driven |
Scheduling | ✅ Out-of-the-box | ❌ Needs job queue |
Simpler for end-users | ✅ Uses Request Page | ❌ Developer-heavy |
๐น Request Page Experience
When the ProcessingOnly = true
is set:
-
The Print and Preview buttons are removed
-
The page still allows:
-
Filters
-
OK, Schedule, and Help buttons
-
This makes it ideal for processing tasks that may run on a schedule or user request — without needing output formatting.
๐น When to Use Processing-Only Reports?
Choose this approach when:
-
You don’t need a printed document.
-
You want to use filters and scheduling.
-
Your task needs user input or interactivity.
-
You prefer a low-code way to access records via data items.
๐ Bonus Tip
๐ Don’t forget to use Dialog.UpdateProgress()
or Report.ShowProgress()
if your report takes time — it gives a better user experience.
Thanks For Reading...!!
Regards,
Khushbu Rajvi
Comments
Post a Comment