[GELĂ–ST] CurrPage immer out of scope in Page (BC19)

Bild Microsoft Dynamics 365 Business Central (On-Premises Version)
Forumsregeln
Impressum • Community-Knigge • Nutzungsbedingungen • Datenschutzrichtlinie

Bitte unbedingt im Titel angeben, auf welche Version (BC13, BC14, BC15, ...) sich eure Frage bezieht!

[GELĂ–ST] CurrPage immer out of scope in Page (BC19)

Beitragvon Iridium » 9. November 2021 13:18

Hallo,

ich entwickele eine Extension und nutze dazu eine Page mit eingebettetem ControlAddIn, welche als Modal geöffnet wird. Nun möchte ich im
Code: Alles auswählen
OnQueryClosePage
trigger eine Javascript-Funktion aufrufen, was ich folgendermaĂźen versuche:

Code: Alles auswählen
trigger OnQueryClosePage(CloseAction: Action): Boolean
    begin
        if (CloseAction = CloseAction::LookupOK) then begin
            CurrPage.ControlName.CallJavascript();
            exit(True);
        end;
    end;


wobei das Layout der Page so definiert ist:

Code: Alles auswählen
usercontrol(ControlName; MeinControlAddIn)
            {
...
}


Die Page wird von einer anderen Page folgendermaĂźen aufgerufen:

Code: Alles auswählen
action("Configure")
            {
                ApplicationArea = Manufacturing;

                trigger OnAction()
                var
                    MeinePage: Page "MeinePage";
                begin
                    Clear(MeinePage);
                    MeinePage.LookupMode(true);
                    MeinePage.SetRec(Rec);
                    MeinePage.RunModal();
                end;
            }


Leider wird die Javascript-Funktion nie aufgerufen, obwohl sie im ControlAddIn und in der js-Datei angelegt ist. Andersherum (von Javascript nach BC) läuft alles ohne Probleme. Wenn ich im trigger einen Breakpoint setze, wird mir angezeigt, dass CurrPage out of scope ist. Dies finde ich etwas merkwürdig.
Was mache ich hier falsch?
Zuletzt geändert von Iridium am 10. November 2021 14:00, insgesamt 1-mal geändert.
Iridium
 
Beiträge: 10
Registriert: 13. Juli 2021 21:41
Realer Name: Aaron L.
Microsoft Dynamics Produkt: Microsoft Dynamics 365
Microsoft Dynamics Version: 19

Re: CurrPage immer out of scope in Page (BC19)

Beitragvon Kowa » 9. November 2021 14:06

Ist die verwendete Page ID denn in der app.json abgedeckt, bei idRange bzw. idRanges?
https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-json-files
GruĂź, Kai

Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, Messenger oder Telefon! DafĂĽr ist dieses Forum da.

Download: Dynamics NAV Object Text Explorer (Alternativlink). MVP Alumni
Benutzeravatar
Kowa
Moderator
Moderator
 
Beiträge: 7847
Registriert: 17. Juni 2005 17:32
Wohnort: Bremen
Realer Name: Kai Kowalewski
Arbeitsort: Osterholz-Scharmbeck
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics 365
Microsoft Dynamics Version: BC, NAV 2018 bis Navision 2.01

Re: CurrPage immer out of scope in Page (BC19)

Beitragvon Iridium » 9. November 2021 14:19

Ja, die verwendeten IDs sind abgedeckt.
Iridium
 
Beiträge: 10
Registriert: 13. Juli 2021 21:41
Realer Name: Aaron L.
Microsoft Dynamics Produkt: Microsoft Dynamics 365
Microsoft Dynamics Version: 19

Re: CurrPage immer out of scope in Page (BC19)

Beitragvon Natalie » 9. November 2021 15:05

HeiĂźt das, dass du ĂĽberhaupt in die CurrPage-Zeile mit dem Debugger reinspringst?
Ich frage, weil ich manchmal statt des erwarteten LookupOK nur ein OK zurĂĽckbekommen habe.
GruĂź, Natalie

Frage beantwortet oder Problem von allein gelöst? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.

Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
Benutzeravatar
Natalie
Moderator
Moderator
 
Beiträge: 9257
Registriert: 31. Oktober 2006 19:51
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: CurrPage immer out of scope in Page (BC19)

Beitragvon fiddi » 9. November 2021 15:13

Hallo,
Ich frage, weil ich manchmal statt des erwarteten LookupOK nur ein OK zurĂĽckbekommen habe.


Das liegt aber daran, ob die aufgerufene Page im Lookup- Mode aufgerufen wurde oder nicht.

GruĂź fiddi
Wer aufhört besser zu werden, hat aufgehört gut zu sein. (frei nach Philip Rosenthal)
Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
fiddi
Moderator
Moderator
 
Beiträge: 7092
Registriert: 9. Juni 2008 10:13
Realer Name: Hans Heinrich Fiddelke
Arbeitsort: Bremen
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV2.6-aktuell

Re: CurrPage immer out of scope in Page (BC19)

Beitragvon Iridium » 9. November 2021 15:22

Ich habe beides probiert:
Die Page im Lookup-Modus aufrufen und auf LookupOK warten (funktioniert, er geht rein, aber ruft JS nicht auf).
Die Page normal aufrufen und auf OK warten (funktioniert, er geht rein, aber ruft JS nicht auf).
Von daher ist das wahrscheinlich irrelevant fĂĽr das Problem.
Iridium
 
Beiträge: 10
Registriert: 13. Juli 2021 21:41
Realer Name: Aaron L.
Microsoft Dynamics Produkt: Microsoft Dynamics 365
Microsoft Dynamics Version: 19

Re: CurrPage immer out of scope in Page (BC19)

Beitragvon SilverX » 9. November 2021 20:19

Die Aufrufe eines AddIns sind asynchron. Ich denke die Page schlieĂźt sich, bevor das passiert. Ruf die Funktion mal nicht in dem trigger auf, sondern woanders. Damit das so klappt, musst du False zurĂĽckgeben und die Page dann ĂĽber ein Event schlieĂźen.
Cheers
Carsten


This post is my own opinion and does not necessarily reflect the opinion or view of my employer.
SilverX
Microsoft Partner
Microsoft Partner
 
Beiträge: 1252
Registriert: 16. September 2006 14:07
Realer Name: Carsten Scholling
Arbeitsort: GĂĽtersloh
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2013+

Re: CurrPage immer out of scope in Page (BC19)

Beitragvon Iridium » 9. November 2021 22:01

Wenn ich also eine Javascript-Funktion beim Schließen der Page ausführen will, so kann ich dir schon die Funktion dort schon aufrufen, muss dann aber False zurückgeben und die Page später irgendwie schließen?
Iridium
 
Beiträge: 10
Registriert: 13. Juli 2021 21:41
Realer Name: Aaron L.
Microsoft Dynamics Produkt: Microsoft Dynamics 365
Microsoft Dynamics Version: 19

Re: CurrPage immer out of scope in Page (BC19)

Beitragvon SilverX » 10. November 2021 08:00

Korrekt. Idealerweise trigger die Javascript-Funktion ein Event in BC, dieses schließt die Seite. Achtung, läuft dann wieder in den Trigger...
Cheers
Carsten


This post is my own opinion and does not necessarily reflect the opinion or view of my employer.
SilverX
Microsoft Partner
Microsoft Partner
 
Beiträge: 1252
Registriert: 16. September 2006 14:07
Realer Name: Carsten Scholling
Arbeitsort: GĂĽtersloh
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2013+

Re: CurrPage immer out of scope in Page (BC19)

Beitragvon Iridium » 10. November 2021 14:00

Vielen Dank, das hat es gelöst!
Iridium
 
Beiträge: 10
Registriert: 13. Juli 2021 21:41
Realer Name: Aaron L.
Microsoft Dynamics Produkt: Microsoft Dynamics 365
Microsoft Dynamics Version: 19


ZurĂĽck zu 365 Business Central (On-Premises)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast