Access page field's value through Runmodal (or Run?)

mysamzamysamza Posts: 43Member
I am trying to ask a user for a password if it tries to enter unit price below a threshold.

I do this through a StandardDialog page and trying to write the logic to tackle the Cancel and Ok Button.
pageextension 50144 MyExtension extends "Sales Order Subform"
{
    layout
    {
        
        modify("Unit Price")
        {
            trigger OnAfterValidate()
            var
                rec_Item: Record Item;
                rec_SalesSetup: Record "Sales & Receivables Setup";
                rec_Set: Record "Sales & Receivables Setup";
                recSO: Record "Sales Line";
            begin
                rec_SalesSetup.Get();
                rec_Item.Get(Rec."No.");
                IF (Rec."Unit Price" < rec_Item."Unit Cost") AND (rec_SalesSetup."Allow Negative Unit Price" = true) then begin
                    Clear(myPage);
                    IF myPage.RunModal() = Action::Cancel then begin
                        rec_Item.Reset();
                        rec_Item.Get(Rec."No.");
                        recSO.SetFilter("Document No.", Rec."Document No.");
                        recso.SetRange("Line No.", Rec."Line No.");
                        recSO.SetFilter("No.", Rec."No.");
                        IF recSO.FindFirst() then begin
                            Rec."Unit Price" := rec_Item."Unit Cost";
                            CurrPage.Update();
                        end;
                    end
                    else
                        IF myPage.RunModal() = Action::Ok then begin
                            rec_Item.Reset();
                            IF Password = rec_Set.Password then
                                CurrPage.Close()

                        end;

                END;
            end;
        }

    var

        myPage: Page Password;

}

Here is the StandardDialog page which has 1) page field that is just a variable. We don't need to store this value hence it is to just check for the password against the Password field I created extending the Sales & Receivable Setup page and table.
page 50140 Password
{
    PageType = StandardDialog;
    ApplicationArea = All;
    UsageCategory = Administration;
    // SourceTable = ;

    layout
    {
        area(Content)
        {

            field(Password; Password)
            {
                ApplicationArea = All;

            }

        }
    }

  

    var
        Password: Text[10];
 
}

The problem is in the

IF myPage.RunModal() = Action::Ok then begin
I can't access the Password page field. How do I access this field's value so my
IF myPage.RunModal() = Action::Ok then begin
                            rec_Item.Reset();
                            IF Password = rec_Set.Password then
                            
                                CurrPage.Close()

                        end;
code works. Right now it doesn't recognize Password
Sign In or Register to comment.