microsoft / microsoft/BCApps

[Extensibility Request] Add public wrappers for "Report Layouts Impl." procedures

Open
#8,720 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Approved request-for-external Team: Integrations
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)

Image

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:

  • RunCustomReport
  • EditReportLayout
  • ExportReportLayout
  • GetFileExtension (with an OnBeforeGetFileExtension event with IsHandled parameter, to better support ISV layout types)
  • SetDefaultReportLayoutSelection
  • GetReportLayoutSelectionCorrespondingEnum
  • AddLayoutSelection

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.