AX 2012: SysOperation-Framework: Ein eigenes Formular als Dialog verwenden
07.12.2012Microsoft Dynamics AX (Axapta)
|
Dieser Beitrag bezieht sich auf die Version:
Dynamics AX 2012
Dynamics AX 2012
|
|
|
|
|
|
Dieser Beitrag bezieht sich auf die Version:
Dynamics AX 2012
|
Das SysOperation-Framework generiert den Dialog für den Benutzer üblicherweise auf Basis des verwendeten Data Contracts vollautomatisch, bietet aber auch die Möglichkeit ein eigenes Formular als Dialog einzubinden.
Dafür gibt es im Service Controller die Methode templateForm(), die auf einfache Art & Weise überschrieben werden kann:
{
FormName ret;
ret = formStr(TutorialSysOperationDialog);
return ret;
}
Ein über diese Methode eingebundenes Formular muss allerdings einigen Regeln folgen, damit es kompatibel mit dem SysOperation-Framework ist.
Die Form benötigt die folgenden Elemente:
Das Design sollte über die folgenden Properties angepasst werden:
Weiters sind folgende Methoden zu überschreiben/erstellen:
{
Object dialogObject;
}
{
if (dialogObject == null)
{
dialogObject = Dialog::getDialogFromCaller(this);
}
return dialogObject;
}
{
return this.dialog().controller();
}
{
// Validate
if (this.controller().checkCloseDialog())
{
super();
}
}
Die Methode closeOK() ist übrigens auch die ideale Stelle (vor dem Aufruf von checkCloseDialog()), um beispielsweise weitere Parameter an die Klassen zu übergeben.