Zeige letzte Bearbeiter
1 {{content/}}
2
3 == Schnittstelle: IPluginFormPreProcess ==
4
5 === Verwendungsmöglichkeiten ===
6
7 Möglichkeit zum Einbau einer individuellen Prüfung, welche nach dem Abspeichern der Formulardaten in der Datenbank, aber vor Beginn der Statusverarbeitung durchgeführt werden kann.
8
9 Damit könnte zum Beispiel bewirkt werden, dass die Verarbeitung von Formulardaten innerhalb der Statusverarbeitung umgangen wird, aber die eingegeben Formulardaten trotzdem in der Datenbank abgespeichert werden.
10
11 {{warning}}
12 Bei Verwendung mehrerer Formular-PreProcess-Implementierungen ist die Reihenfolge nicht fest, in der diese ausgeführt werden. Die Reihenfolge kann daher jedesmal anders sein.
13 {{/warning}}
14
15 {{warning}}
16 Die Formular-PreProcess-Implementierungen werden grundsätzlich vor jedem Formularaufruf im jeweiligen Anwendungsbereich (System- oder Mandant-Plugin), in dem sie installiert wurden, ausgeführt. Es wird deshalb empfohlen, in der Implementierungslogik als erstes zu prüfen, ob die //PreProcess//-Implementierung für die jeweilige Formularverarbeitung ausgeführt werden soll. Dies lässt sich beispielsweise mittels Einsatz von //Plugin-Properties// konfigurierbar gestalten.
17 {{/warning}}
18
19 {{figure image="plugin_preprocess.png" width="400"}}
20 Einordnung des //PreProcess//-Plugins in die Prozesskette von {{formcycle case="dat"/}}
21 {{/figure}}
22
23 === Methodensignaturen ===
24
25 {{code language="java"}}
26 IPluginFormPreProcessRetVal execute(IPluginFormPreProcessParams params) throws FCPluginException
27 {{/code}}
28
29 == Übergabewert ==
30
31 Der Typ //IPluginFormPreProcessParams// stellt den Zugriff auf folgende Eigenschaften bereit:
32
33 * aktuelles Projekt
34 * aktueller Vorgang
35 * aktuelle Version des Formulars mit dem Zugriff auf alle enthaltenen Formularelemente
36 * Sessionparameter
37 * aktueller Nutzerkontext um beispielsweise Datenbankoperationen ausführen zu können
38
39 == Rückgabewerte ==
40
41 Der Rückgabewert muss vom Typ //IPluginFormPreProcessRetVal //sein. Eine Referenzimplementierung wird durch die Klasse //PluginGenericFormProcessingRetVal// bereitgestellt.
42
43 Bei der Instanziierung eines entsprechenden Objektes wird eine boolsche Flagge erwartet. Hat diese den Wert //true//, wird die weitere Verarbeitung in {{formcycle case="dat"/}} fortgesetzt. Bei //false// wird die Verarbeitung abgebrochen.