SysOperation: Formular mit bestimmten Datensatz nach dem Verarbeiten öffnen

Stellt euch folgende Aufgabenstellung vor: Es soll über eine vom SysOperation-Framework abgeleitete Klasse ein Datensatz erstellt oder aktualisiert werden. Danach soll sich ein bestimmtes Formular mit eben diesem Datensatz öffnen damit der Benutzer gleich mit evtl. weiteren manuellen Änderungen am Datensatz fortfahren kann.

Ich nutze für eine solche Aufgabenstellung gerne die afterOperation() der Kontroller-Klasse. In dieser kann ich den operationReturnValue meiner Service-Klasse auslesen und entsprechend verarbeiten.

Beispiel:

protected void afterOperation(SysOperationExecutionMode _executionMode, AifAsyncResult _asyncResult)
{
    CustTable createdCustTable;
    SysInfoAction_Formrun sysInfoAction;
    
    void openFormThroughCode(CustTable _ct)
    {
        FormRun formRun;
        args localArgs = new args();

        localArgs.name(formstr(CustTable));

        localArgs.formViewOption(FormViewOption::Grid);
    
        localArgs.record(_ct);
    
        formRun = classFactory.formRunClass(localArgs);
        formRun.run();

        formRun.wait();
    }

    super(_executionMode, _asyncResult);

    if(this.getServiceClass().id() == classNum(TutorialSysOperationService))
    {
        createdCustTable = this.operationReturnValue();    // TutorialSysOperationService.runService() returns CustTable record
    }

    if( !isRunningOnServer())
    {
        openFormThroughCode(createdCustTable);   
    }
    else
    {
        sysInfoAction = SysInfoAction_FormRun::newFormname(formStr(SalesTable));
        sysInfoAction.parmCallerBuffer(createdCustTable);

        info(strFmt("Click here to open customer form"), "", sysInfoAction);
    }
}
Dieser Beitrag bezieht sich auf die Version:
Dynamics AX 2012

Ramya Gaddam 07.11.2017 11:25 | #1


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