Search the FirstSpirit Knowledge Base
Hallo bei einem 4-Augen-WF macht es Sinn, im nachfolgenden (automatischen öffnenden) Dialog etas einzugeben:
Nun sind manchmal die Redakteure im Stress und klicken auf Anfordern ohne etwas einzugeben. Kann man irgendwo einstellen, dass der Kommentar z.B. eine Pflichteingabe erfordert?
andere Möglichkeit:
Im nächten Schritt (zusätzlichen Schritt), könnte ich in einem Script die Felder abfragen. Wenn die nicht eingegeben sind, könnte ich den Dialog wieder anzeigen lassen?
Ich würde eine Aktivität machen, an der ein Skript hängt, das dann den normalen ActionDialog öffnet und prüft ob der Kommentar eingegeben würde.
Auf die Schnelle.
transition = context#showActionDialog()
// check comment
comment = context#getTransitionParameters()#getComment()
if (comment != null && comment.length > 0) {
context.doTransition(transition);
} else {
// once again sam
}
Die andere Möglichkeit würde ich als Weg der Wahl sehen.
Einfach eine zusätzliche (automatische) Aktivität erzeugen und in dieser prüfen, ob die entsprechenden Pflichtfelder gefüllt sind oder nicht.
Dann in dem Skript ein entsprechendes Popup erscheinen lassen (z.B. über die Skript GUI), in das der Redakteur die entsprechenden Felder "nachpflegen" kann. (oder nur den Hinweis aufpoppen lassen, dass die Pflichtfelder nicht gefüllt sind und deshalb nicht weitergeschaltet wurde)
So wollte ich es auch machen. Meine zusätzliche Frage lautete, ob man den oben abgebildeten "Arbeitsablauf Aktion (Freigabe anfordern)" irgendwie automatisch einblenden kann, oder ob der Redakteur den Arbeitsablauf erneut starten muss.
Und da gleich noch eine Frage hinterher:
Ist es möglich die Felder zu füllen?
Bsp.
Der Nutzer hat einen Kommentar eingegeben. und die Prio "sehr hoch" ausgewählt und kein Fälligkeitsdatum angegeben. Nun würde ich die Eingaben überprüfen und nicht weiterschalten, da bei Prio="sehr hoch" das Fälligkeitsdatum mit eingegeben werden muss. Beim erneuten Aufruf des Dialogs (egal ob manuell oder automatisch) sollte auf jeden Fall der Kommentar schon im Dialog stehen. Ist das möglich?
(etwas konstruiert das Bsp. aber ich glaub es verdeutlicht mein Anliegen)
Ich würde eine Aktivität machen, an der ein Skript hängt, das dann den normalen ActionDialog öffnet und prüft ob der Kommentar eingegeben würde.
Auf die Schnelle.
transition = context#showActionDialog()
// check comment
comment = context#getTransitionParameters()#getComment()
if (comment != null && comment.length > 0) {
context.doTransition(transition);
} else {
// once again sam
}
vielen Dank!!
nachfolgend meine Umsetzung (falls es jemand braucht) ...
..
transition = context.showActionDialog();
if(transition == null) {
return;
}
comment = context.getTransitionParameters().getComment();
while (comment == null || comment.length() == 0) {
CMSDialog.showInfoDialog("Bitte geben Sie einen Kommentar an!.");
transition = context.showActionDialog();
comment = context.getTransitionParameters().getComment();
if(transition == null) {
return;
}
}
context.doTransition(transition);
...
Hinweis: transition==null ist der "Abbrechen-Button" sonst kommt man nicht raus wenn man nichts eingeben will..
nur ein kurzer Hinweis:
das ist keine API und damit auch nicht stabil. Benutzung auf eigene Gefahr.
CMSDialog.showInfoDialog("Bitte geben Sie einen Kommentar an!.");
Gibts eine "stabile", also über API?
Ich muss mich doch noch mal melden.
Das
if(transition == null) {
return;
}
(also wenn ich auf abbrechen klicke) innerhalb der while-schleife, führt zum abbruch, aber der Arbeitsablauf wird trotzdem weitergeleitet. Vor der While-Schleife führt die Anweisung zum "stoppen" des Arbeitsablaufes.
Gibt es eine Möglichkeit, ohne einen zusätzlichen Statusübergang (da dieser dann wieder im Dialog angezeigt wird), in der Aktivität zu verbleiben (also in der, wo der Dialog aufgeht und ich einen Kommentar eingeben soll)?
Habs was durch Zufall in der Doku gefunden, mit
JOptionPane.showMessageDialog (...)
gehts.
Sollte dann nicht in der Doku auf CMSDialog verzichtet werden? Steht ja nicht überall dabei, dass es nicht verwendet werden soll!
Können Sie das Problem bitte noch ein wenig näher beschreiben.
Mir ist an dieser Stelle nicht klar, was Sie mit "wird trotzdem weitergeleitet" meinen und schon gar nicht über welche Transitionskante. Ein kleiner Screenshot des Workflow-Modells mit Beschreibungen wo sie sich in dem Modell befinden und was sie erreichen wollen, würde vielleicht helfen.