Page 775 Analysis Report Chart Setup

App
Base Application
Namespace
Microsoft.Inventory.Analysis
Versions
17-28
Source table
770

Versions171819202122232425262728

Source29

Source in 29

src/Layers/W1/BaseApp/Inventory/Analysis/AnalysisReportChartSetup.Page.al140 lines, Copyright (c) Microsoft Corporation. MIT

// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------
namespace Microsoft.Inventory.Analysis;

page 775 "Analysis Report Chart Setup"
{
    Caption = 'Analysis Report Chart Setup';
    SourceTable = "Analysis Report Chart Setup";

    layout
    {
        area(content)
        {
            group(DataSource)
            {
                Caption = 'Data Source';
                field(Name; Rec.Name)
                {
                    ApplicationArea = Basic, Suite;

                    trigger OnValidate()
                    begin
                        SetEnabled();
                    end;
                }
                field("Analysis Report Name"; Rec."Analysis Report Name")
                {
                    ApplicationArea = Basic, Suite;

                    trigger OnValidate()
                    begin
                        SetEnabled();
                        Rec.SetAnalysisReportName(Rec."Analysis Report Name");
                        CurrPage.Update(false);
                    end;
                }
                field("Base X-Axis on"; Rec."Base X-Axis on")
                {
                    ApplicationArea = Basic, Suite;

                    trigger OnValidate()
                    begin
                        SetEnabled();
                        Rec.SetShowPer(Rec."Base X-Axis on");
                        CurrPage.Update(false);
                    end;
                }
                field("Analysis Line Template Name"; Rec."Analysis Line Template Name")
                {
                    ApplicationArea = Basic, Suite;
                }
                field("Analysis Column Template Name"; Rec."Analysis Column Template Name")
                {
                    ApplicationArea = Basic, Suite;
                }
                group(Control8)
                {
                    ShowCaption = false;
                    field("Start Date"; Rec."Start Date")
                    {
                        ApplicationArea = Basic, Suite;
                    }
                    field("End Date"; Rec."End Date")
                    {
                        ApplicationArea = Basic, Suite;
                        Editable = IsEndDateEnabled;
                    }
                    field("Period Length"; Rec."Period Length")
                    {
                        ApplicationArea = Basic, Suite;
                    }
                    field("No. of Periods"; Rec."No. of Periods")
                    {
                        ApplicationArea = Basic, Suite;
                        Enabled = IsNoOfPeriodsEnabled;
                    }
                }
            }
            group("Measures (Y-Axis)")
            {
                Caption = 'Measures (Y-Axis)';
                part(SetupYAxis; "Analysis Report Chart SubPage")
                {
                    ApplicationArea = Suite;
                    Caption = ' ';
                }
            }
            group("Dimensions (X-Axis)")
            {
                Caption = 'Dimensions (X-Axis)';
                Visible = IsXAxisVisible;
                part(SetupXAxis; "Analysis Report Chart SubPage")
                {
                    ApplicationArea = Suite;
                    Caption = ' ';
                    Visible = IsXAxisVisible;
                }
            }
        }
    }

    actions
    {
    }

    trigger OnAfterGetRecord()
    begin
        SetEnabled();
    end;

    trigger OnNewRecord(BelowxRec: Boolean)
    begin
        Rec."Start Date" := WorkDate();
    end;

    trigger OnOpenPage()
    begin
        SetEnabled();
    end;

    var
        IsEndDateEnabled: Boolean;
        IsNoOfPeriodsEnabled: Boolean;
        IsXAxisVisible: Boolean;

    local procedure SetEnabled()
    begin
        IsNoOfPeriodsEnabled := Rec."Base X-Axis on" = Rec."Base X-Axis on"::Period;
        IsXAxisVisible := Rec."Base X-Axis on" <> Rec."Base X-Axis on"::Period;
        IsEndDateEnabled := Rec."Base X-Axis on" <> Rec."Base X-Axis on"::Period;
        CurrPage.SetupYAxis.PAGE.SetViewAsMeasure(true);
        CurrPage.SetupYAxis.PAGE.SetSetupRec(Rec);
        CurrPage.SetupXAxis.PAGE.SetViewAsMeasure(false);
        CurrPage.SetupXAxis.PAGE.SetSetupRec(Rec);
    end;
}