Prüfungen durchführen beim/vor dem Schliessen eines Formulares

Möchte/muß man beim bzw. vor dem Schliessen eines Formulares etwas tun, z.B. Prüfungen durchführen, so stellt Dynamics AX dafür einige Methoden zur Verfügung, die in einer bestimmten Reihenfolge abgearbeitet werden. Da ich selbst mir diese Reihenfolge nicht merke, habe ich sie hier kurz notiert.

Beim Schliessen eines Formulares über einen OK-Commandbutton:

  • closeOK
  • canClose
  • close

Beim Schliessen eines Formulares über einen CANCEL-Commandbutton:

  • closeCancel
  • canClose
  • close

Beim Schliessen eines Formulares über "das rote X" bzw. der ESC-Taste:

  • canClose
  • close

 

Bei einer Lookup-Form verhält es sich etwas anders:

Beim Schliessen eines Formulares über einen OK-Commandbutton:

  • closeSelect
  • closeOK
  • canClose
  • close

Beim Schliessen eines Formulares über einen CANCEL-Commandbutton:

  • closeSelect
  • closeOK
  • canClose
  • close

Beim Schliessen eines Formulares über "das rote X" bzw. der ESC-Taste:

  • canClose
  • close

Daraus ergibt sich, daß die optimale Methode für Prüfungen die canClose-Methode ist.

Hier nun noch ein kurzer Job, der ein Formular öffnet und nach dessen Schliessen ermittelt, wie das Formular geschlossen wurde:

static void OpenForm(Args _args)
{
    FormRun form = null;
    Args    formParams = new Args();
    ; 
    formParams.name(formStr(CustTable));
    form = classFactory.formRunClass(formParams);
    form.init();
    form.run();
    form.wait();

    if(form.closed())
    {
        setPrefix("Form was closed.");

        if(form.closedOk())
        {
            info("Form was closed by OK-Button.");
        }
        else if(form.closedCancel())
        {
            info("Form was closed by CANCEL-Button.");
        }
        else
        {
            info("Form was closed by CLOSE-Button.");
        }
    }
}

 

Dieser Beitrag bezieht sich auf die Versionen:
Dynamics AX 2009, Dynamics AX 2012

Kommentar hinzufügen
 
 

 

 
 
 
Beiträge des aktuellen Monats
April 2024
MoDiMiDoFrSaSo
1234567
891011121314
15161718192021
22232425262728
2930 
 
© 2006-2024 Heinz Schweda | Impressum | Kontakt | English version | Mobile Version
Diese Webseite verwendet Cookies, um Benutzern einen besseren Service anzubieten. Wenn Sie weiterhin auf der Seite bleiben, stimmen Sie der Verwendung von Cookies zu.  Mehr dazu