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
Juni 2019
MoDiMiDoFrSaSo
 12
3456789
10111213141516
17181920212223
24252627282930
 
© 2006-2019 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