microsoft / microsoft/BCApps

Event Request in Page 490 - "Acc. Schedule Overview"

Open Beginner friendly
#11,133 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Approved event-request ext-ready-to-implement Team: Finance
Dominant language
AL
Stars
683
Forks
459
Avg merge
3d 26m
Merged PRs (30d)
633

Description

Why do you need this change?

In Page 490 - "Acc. Schedule Overview", within the LoadPageState() procedure, we require an event that allows assigning the Dimension Codes from G/L Setup to the Analysis Views.

Our modification extends the existing dimension assignment logic to include Shortcut Dimension 3 Code and Shortcut Dimension 4 Code from General Ledger Setup. As a result, users can utilize Dimensions 3 and 4 in Account Schedule Overview calculations, filtering, and analysis when an Analysis View is not selected.

please add an event at this point so the dimension code assignment can be handled through customization

Describe the request

In Page 490 - "Acc. Schedule Overview", within the LoadPageState() procedure, we require an event that allows assigning the Dimension Codes from G/L Setup to the Analysis Views.

After line 1705, we require a new event. Please provide an integration event at this location with the necessary parameters to enable customization of the logic.

protected procedure LoadPageState()

var

    ColumnLayoutName: Record "Column Layout Name";

    IsHandled: Boolean;

begin

    GLSetup.Get();

    UseAmtsInAddCurrVisible := GLSetup."Additional Reporting Currency" <> '';

    if FinancialReportCode = '' then

        FinancialReportCode := TempFinancialReport.Name;

    // `FinancialReportTemp` contains the state of the filters the user interacts with

    // `LoadFinancialReportFiltersOrDefault` loads this temporary record considering user overriden filters (if any).

    LoadFinancialReportFiltersOrDefault(TempFinancialReport);

    // Afterwards, we update all page state variables

    SetFinancialReportTxt();

    IsHandled := false;

    Rec.SetLoadFields("Row No.", "Description", "Totaling", "Totaling Type", "Dimension 1 Totaling", "Dimension 2 Totaling", "Dimension 3 Totaling", "Dimension 4 Totaling", Bold, "Show Opposite Sign", "Row Type", "Amount Type");

    OnLoadPageStateOnBeforeCopyColumnsToTemp(CurrentColumnName, TempColumnLayout, TempFinancialReport."Financial Report Row Group", Rec, IsHandled);

    if not IsHandled then begin

        AccSchedManagement.CopyColumnsToTemp(TempFinancialReport."Financial Report Column Group", TempColumnLayout);

        AccSchedManagement.OpenSchedule(TempFinancialReport."Financial Report Row Group", Rec);

    end;

    AccSchedManagement.OpenColumns(TempFinancialReport."Financial Report Column Group", TempColumnLayout);

    AccSchedManagement.CheckAnalysisView(TempFinancialReport."Financial Report Row Group", TempFinancialReport."Financial Report Column Group", true);

    SetLoadedDimFilters();

    SetLoadedOtherFilters();

    AccSchedName.SetAutoCalcFields("Status Blocked");

    if AccSchedName.Get(TempFinancialReport."Financial Report Row Group") then begin

        if AccSchedName."Analysis View Name" <> '' then

            AnalysisView.Get(AccSchedName."Analysis View Name")

        else begin

            Clear(AnalysisView);

            AnalysisView."Dimension 1 Code" := GLSetup."Global Dimension 1 Code";

            AnalysisView."Dimension 2 Code" := GLSetup."Global Dimension 2 Code";

           ###  **//We Need an event here to add dimension codes for Global Dimension 3 Code, Global Dimension 4 Code.** ###

        end;

        RowDefinitionBlocked := AccSchedName."Status Blocked";

    end;

    ColumnLayoutName.SetAutoCalcFields("Status Blocked");

    if ColumnLayoutName.Get(TempFinancialReport."Financial Report Column Group") then

        ColDefinitionBlocked := ColumnLayoutName."Status Blocked";

    FinReportMgt.CalcAccScheduleLineDateFilter(TempFinancialReport, Rec);

    ApplyShowFilter();

    UpdateDimFilterControls();

    DateFilter := Rec.GetFilter("Date Filter");

    UpdateColumnCaptions();

    FinReportMgt.CheckStatus(TempFinancialReport.TableCaption(), TempFinancialReport.Status);

    OnBeforeCurrentColumnNameOnAfterValidate(TempFinancialReport."Financial Report Column Group");

    OnAfterOnOpenPage(Rec, TempFinancialReport."Financial Report Column Group");

end;
Provide an implementation (optional)
  • I will provide the implementation for this extensibility request

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

Open Page 490 and inspect the LoadPageState() procedure around the existing Global Dimension 1 and 2 assignments. Review nearby integration-event patterns to determine suitable parameters, then verify that the new event lets extensions assign the additional dimension codes before the page state continues loading.

Written by the indexing model from the issue text.

Assessment

Domain
backend
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.