[Extensibility Request] Add public wrappers for "Report Layouts Impl." procedures
Nobody has claimed this yet.
- Dominant language
- AL
- Stars
- 683
- Forks
- 459
- Avg merge
- 3d 26m
- Merged PRs (30d)
- 633
Description
Describe the issue
Dear BCApps team,
At request of Jesper Schulz-Wedde, this issue has been recreated from the microsoft/BusinessCentralApps repository (see original issue: https://github.com/microsoft/BusinessCentralApps/issues/1818#issuecomment-4768494442)
A pull request was opened earlier by Kilian Seizinger in the microsoft/BCApps repository: https://github.com/microsoft/BusinessCentralApps/pull/1806
Jesper Schulz-Wedde has requested for the PR to be recreated in the microsoft/BusinessCentralApps repository (see original PR: https://github.com/microsoft/BusinessCentralApps/pull/1806#issuecomment-4658707946)
Extensibility Request
Through this issue we would like to request a public codeunit that exposes procedures of the "Report Layouts Impl." codeunit, to avoid code duplication.
Examples of procedures we would like to see exposed:
RunCustomReportEditReportLayoutExportReportLayoutGetFileExtension(with anOnBeforeGetFileExtensionevent withIsHandledparameter, to better support ISV layout types)SetDefaultReportLayoutSelectionGetReportLayoutSelectionCorrespondingEnumAddLayoutSelection
Internal work item: AB#445850
Expected behavior
Enable extensions to use the Base Application's implementation for working with report layouts instead of duplicating code
Steps to reproduce
It is not possible to reuse the implementation of the Report Layouts Impl codeunit, leading to duplication and additional maintenance in other apps/extensions.
Additional context
No response
I will provide a fix for a bug
- I will provide a fix for a bug
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the "Report Layouts Impl." codeunit and reviewing the listed procedures: RunCustomReport, EditReportLayout, ExportReportLayout, GetFileExtension, SetDefaultReportLayoutSelection, GetReportLayoutSelectionCorrespondingEnum, and AddLayoutSelection. Review the earlier pull request and determine the public wrapper and event surface needed so extensions can reuse the implementation without duplication.
Written by the indexing model from the issue text.
Assessment
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100