SysOperation-Framework: Stapelverarbeitung erzwingen

Wenn man sicherstellen möchte, daß eine Funktion die über das SysOperation-Framework umgesetzt wurde, immer über die Stapelverarbeitung ausgeführt wird, kann man den SysOperationExecutionMode auf ScheduledBatch setzen (beispielsweise über das MenuItem des Controllers - siehe hier).

Handelt es sich dabei um eine Funktion, die einen Benutzerdialog erfordert, hat man allerdings das Problem, daß standardmässig der Register "Stapel" eingeblendet wird und dort aber beispielsweise das Kontrollkästchen Stapel nicht aktiviert ist. 

Natürlich kann man dieses Kontrollkästchen nun aktivieren, in dem man einen Aufruf von parmBatchExecute() im UIBuilder integriert:

public void build()
{
    super();

    this.controller().batchInfo().parmBatchExecute(this.controller().parmExecutionMode() == SysOperationExecutionMode::ScheduledBatch);
}

Allerdings hat man immer noch das Problem, daß der Benutzer das Kontrollkästchen deaktivieren könnte in der festen Überzeugung, die Funktion dadurch nicht in die Stapelverarbeitung zu schicken. 

Will man dies auch verhindern, kann das Überschreiben der Methode postRun() des UIBuilders wie folgt helfen:

public void postRun()
{
    super();
    
    this.controller().batchInfo().fieldBatchExecuteAllowEdit(false);
}

Das sieht im Dialog wie folgt aus. Nun ist für den Benutzer auch ersichtlich, daß die Funktion im Stapel ausgeführt wird.

Screenshot Dialog

Alternativ könnte man übrigens in der postRun() auch den ganzen Register Batch deaktivieren, aber dann kann man beispielsweise auch keine Stapelverarbeitungsgruppe mehr angeben:

public void postRun()
{
    SysOperationDialog sysOperationDialog;
    DialogTabPage dialogTabPage;
    FormRun formRun;

    super();

    sysOperationDialog = this.dialog() as SysOperationDialog;

    formRun = sysOperationDialog.formRun();
    dialogTabPage = sysOperationDialog.batchDialogTabPage();

    formRun.control(formRun.controlId(dialogTabPage.name())).enabled(false);
}

Das würde so aussehen:

Screenshot Dialog

Dieser Beitrag bezieht sich auf die Version:
Dynamics AX 2012

Kommentar hinzufügen
 
 

 

 
 
 
Beiträge des aktuellen Monats
März 2024
MoDiMiDoFrSaSo
 123
45678910
11121314151617
18192021222324
25262728293031
 
© 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