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


 
 

 

 
 
 
Beiträge des aktuellen Monats
Juni 2025
MoDiMiDoFrSaSo
 1
2345678
9101112131415
16171819202122
23242526272829
30 
 
© 2006-2025 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