Event Request in Page 490 - "Acc. Schedule Overview"
Nobody has claimed this yet.
- 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
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
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