Willkommen auf schweda.net | EN | DE
 
 
 
 
 

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

 

 
Kategorien / Themen
Feeds
RSS RSS-Feed
RSS RSS-Feed (Kommentare)
RSS RSS-Feed (Kategorie)
 
 
Beiträge des aktuellen Monats
April 2018
MoDiMiDoFrSaSo
 1
2345678
9101112131415
16171819202122
23242526272829
30 
 
 
© 2006-2018 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