Questions & Answers

SOLVED
flba
I'm new here

Dialog einblenden bei Auftrag

Jump to solution

Guten Tag zusammen,

gibt es eine Mรถglichkeit aus einem Auftrag heraus Dialoge, sei es den undokumentierten CMSDialog oder die JOptionPane, zu erzeugen?

Wenn ich das Ganze als Skript in den Vorlagen anlegen und ausfรผhre funktioniert es einwandfrei, aber im ScheduleContext scheint das Skript keine Rรผckschlรผsse auf die GUI ziehen zu kรถnne und es kommt zu Fehlern. Generell ist das Verhalten auch nachvollziehbar, da die Auftrรคge ja in erster Linie GUI-unabhรคngig ablaufen. Besteht aber dennoch die Mรถglichkeit solche einen Dialog, im Falle einer bestehenden GUI, anzuzeigen?

Schรถne GrรผรŸe,

Florian Bรคtz

0 Kudos
1 Solution

Accepted Solutions
Wenn der Auftrag รผber Projekt->Auftrag ausfรผhren gestartet wird habe ich aber nicht mehr die Mรถglichkeit 1 und 4 selbst zu steuern oder seh ich das falsch?

Korrekt, an dieser Stelle besteht keine Mรถglichkeit, sich einzuklinken.

Peter

View solution in original post

0 Kudos
9 Replies
andre
I'm new here

Hallo,

Welche FirstSpirit-Vesion wird genutzt und wie sieht der/die StackTrace(s) aus?

generell kann mit GraphicsEnvironment#isHeadless getestet werden ob eine MOuse,Keyboard, Grafikarte angesprochen werden kann.

gruss

andre

0 Kudos

Genutzt wird 4.2.432.

Und der StackTrace sieht im Falle des CMSDialogs folgendermaรŸen aus (der Import ist drin):

ERROR 05.04.2011 12:09:51.208 {seID=427417} (de.espirit.firstspirit.server.scheduler.ScriptTaskExecutor): error during script execution : de.espirit.firstspirit.access.script.ExecutionException: Attempt to resolve method: showInfoDialog() on undefined variable or class name: CMSDialog at line 21

de.espirit.firstspirit.access.script.ExecutionException: Attempt to resolve method: showInfoDialog() on undefined variable or class name: CMSDialog at line 21

    at de.espirit.firstspirit.server.script.BeanshellScriptEngine$BeanshellExecutable.execute(BeanshellScriptEngine.java:122)

    at de.espirit.firstspirit.common.ScriptUtil.execute(ScriptUtil.java:88)

    at de.espirit.firstspirit.server.scheduler.ScriptTaskExecutor.run(ScriptTaskExecutor.java:93)

    [...]

Im Falle der JOptionPane:

ERROR 05.04.2011 12:12:30.830 {seID=427417} (de.espirit.firstspirit.server.scheduler.ScriptTaskExecutor): error during script execution : de.espirit.firstspirit.access.script.ExecutionException: Method Invocation JOptionPane.showMessageDialog at line 21

de.espirit.firstspirit.access.script.ExecutionException: Method Invocation JOptionPane.showMessageDialog at line 21

    at de.espirit.firstspirit.server.script.BeanshellScriptEngine$BeanshellExecutable.execute(BeanshellScriptEngine.java:120)

    at de.espirit.firstspirit.common.ScriptUtil.execute(ScriptUtil.java:88)

    at de.espirit.firstspirit.server.scheduler.ScriptTaskExecutor.run(ScriptTaskExecutor.java:93)

    [...]

0 Kudos

Auftrรคge werden auf dem FirstSpirit-Server ausgefรผhrt. Daher macht es keinen Sinn, dort Dialoge anzuzeigen.

Wenn der Redakteur Parameter des Auftrages beeinflussen soll, mรผssen die Werte vor dem Start abgefragt werden.

Peter
0 Kudos

Generell mag das stimmen, aber in diesem Fall kann der Auftrag eben auch manuell ausgefรผhrt werden und es soll am Ende eine spezielle Rรผckmeldung an den Benutzer geliefert werden.

0 Kudos

prinzipiell sollte CMSDialog nicht verwendet werden und auf dem FsServer ist CMDDialog natuerlich nicht bekannt. Also mรผsste man wohl Headless testen und JOptionPane nutzen o.รค.

Nicht "generell" sondern immer Smiley Wink

Der Ablauf fรผr deinen Anwendungsfall ist dann:

  1. Parameter abfragen
  2. Auftrag starten
  3. (Auftrag lรคuft auf dem Server)
  4. Ergebnis des Auftrages dem Benutzer prรคsentieren

Schritt 1,2 und 4 kรถnnen auf dem Client laufen, Schritt 3 nicht.

Peter

Ja, stimmt - laufen wird der Auftrag immer auf dem Server Smiley Happy

Wenn der Auftrag รผber Projekt->Auftrag ausfรผhren gestartet wird habe ich aber nicht mehr die Mรถglichkeit 1 und 4 selbst zu steuern oder seh ich das falsch?

0 Kudos
Wenn der Auftrag รผber Projekt->Auftrag ausfรผhren gestartet wird habe ich aber nicht mehr die Mรถglichkeit 1 und 4 selbst zu steuern oder seh ich das falsch?

Korrekt, an dieser Stelle besteht keine Mรถglichkeit, sich einzuklinken.

Peter
0 Kudos

pjodeleit schrieb:

Wenn der Auftrag รผber Projekt->Auftrag ausfรผhren gestartet wird habe ich aber nicht mehr die Mรถglichkeit 1 und 4 selbst zu steuern oder seh ich das falsch?

Korrekt, an dieser Stelle besteht keine Mรถglichkeit, sich einzuklinken.

Kรถnnte nicht von einer Auftragsaktion ein Workflow gestartet werden, der wiederum in einer automatischen Aktion nach dem Start ein Skript aufruft, welches die gewรผnschten Ergebnisse einblendet? [Der Workflow mรผsste sich danach natรผrlich auch direkt wieder beenden.]

Oder bekomme ich die Informationen aus dem Auftrag nicht in den Client kommuniziert?

Anstatt diesen [hรครŸlichen und fragilen] Umweg zu nehmen, wรคre es aber besser direkt einen Workflow zu starten und in diesem den Auftrag per Skript auszufรผhren und dann dort die Rรผckmeldung des Auftrags auszuwerten.

Viele Grรผsse aus Dortmund,

  Holger

0 Kudos

Type a product name