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.
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
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); } }