00schmidt
I'm new here

Script im Java Client mit Parametern starten

Jump to solution

Hallo,

gibt es eine Möglichkeit ein Script aus der Vorlagen-Verwaltung im Java-Client so zu starten dass man über eine Eingabemaske Parameter erfassen und an das Skript übergeben kann?

Grüße aus Hamburg

M

0 Kudos
1 Solution

Accepted Solutions
tomator
I'm new here

An jedem Skript kann eine Eingabemaske über die übliche XML-Definition zusammengestellt werden (im Reiter "Formular" des Skripts). Über den Aufruf

context.showGui();

im Skript kann das Formular im JavaClient angezeigt werden, der Rückgabewert des Methodenaufrufs enthält ein Objekt vom Typ "Data", also die eingegebenen Formulardaten. Diese können wie andere FS-Formulareingaben über die API-Methoden ausgelesen und vom Skript weiter verwendet werden.

Das funktioniert mWn nur bei Kontextmenü- und Menü-Skripten, bei Vorlagenskripten macht's ja auch keinen Sinn. Zudem kann das Formular nur im JavaClient angezeigt werden, der WebClient kann das mWn nicht, so dass das Skript evtl. prüfen muss, welcher Client verwendet wird, um Fehlermeldungen zu vermeiden. Zu guter Letzt ist das Data-Objekt null, wenn der Redakteur auf "Abbrechen" statt auf "OK" klickt. Das muss das Skript entsprechend abfangen.

Hoffe, das hilft weiter. Smiley Happy

View solution in original post

0 Kudos
3 Replies
tomator
I'm new here

An jedem Skript kann eine Eingabemaske über die übliche XML-Definition zusammengestellt werden (im Reiter "Formular" des Skripts). Über den Aufruf

context.showGui();

im Skript kann das Formular im JavaClient angezeigt werden, der Rückgabewert des Methodenaufrufs enthält ein Objekt vom Typ "Data", also die eingegebenen Formulardaten. Diese können wie andere FS-Formulareingaben über die API-Methoden ausgelesen und vom Skript weiter verwendet werden.

Das funktioniert mWn nur bei Kontextmenü- und Menü-Skripten, bei Vorlagenskripten macht's ja auch keinen Sinn. Zudem kann das Formular nur im JavaClient angezeigt werden, der WebClient kann das mWn nicht, so dass das Skript evtl. prüfen muss, welcher Client verwendet wird, um Fehlermeldungen zu vermeiden. Zu guter Letzt ist das Data-Objekt null, wenn der Redakteur auf "Abbrechen" statt auf "OK" klickt. Das muss das Skript entsprechend abfangen.

Hoffe, das hilft weiter. Smiley Happy

0 Kudos

Danke, für den Hinweis. Ganz schönes Gefrickel mit dem Data-Objekt, aber es geht.

0 Kudos

Die auch an anderer Stelle schon vorgebrachte Kritik an der API hat zu dem neuen API-Objekt "de.espirit.firstspirit.forms.FormData" geführt, das mit den neuen 4.2R4-Versionen eingeführt wurde, und in FirstSpirit v5 das "Gefrickel mit dem Data-Objekt" vollständig ablösen soll.

Peter
0 Kudos