Search the FirstSpirit Knowledge Base
Hallo,
ich habe einen Arbeitabflauf => Anhang.
Dieser hat drei Aktivitäten, zwei automatische mit Script und eine manuelle.
Wenn eine Aktivität (mit Script) abgearbeitet wird, soll das im Log vermerkt werden.
Ich hatte gehofft dies per:
context.getTask().getTaskState().getModelActivity()
zu schaffen. Die Zeile habe ich in jedem Script, das von deiner Aktivität aufgerufen wird, eingefügt.
Der Arbeitsablauf wird auf einer Entity ausführt. Es wird der Dialog angezeigt -> Klick auf Freigeben
Danach läuft der Arbeitaablauf durch. Folgende Logausgaben (über die Aktivität) werden geschrieben
Die Logausgaben hinken aber m.M. immer eine Aktivität hinterher.
Die erste Logausgabe stammt aus dem Script "sc_wf_sfo_checkincref" Warum gibt es aber den Namen der vorhergehenden Aktivität aus?
Die zweite Logausgabe stammt aus dem Script "sc_wf_sfo_changedata". Diese gibt ebenfalls den Namen der vorhergehenden Aktivität aus.
Die dritte Aktivität (die ja ein Script hat), wird gar nicht "vermerkt"
Habe ich einen Denkfehler?
Wie komme ich in einem Script, das gerade ausgeführt wird an den Namen der zugehörigen Aktivität?
Grüße
Andreas
FS 5.0.424.59809
Hallo Andreas,
die Erklärung ist das der TaskState ja der vorhergehende Status ist und der Aufruf ModelActivity die Aktivität zurück gibt die den WF in diesen Status gebracht hat.
Was spricht denn gegen ein ein direktes Logen im Script. also context.logInfo("Eingabeprüfung"); in den Script "sc_wf_sfo_checkincref"
Viele Grüße
Tobias
Hallo Tobias,
eigentlich nur, dass ich in jedem Arbeitsablaufscript mir über eine eigene Methode Informationen ausgeben lasse (was für ein Arbeitsablauf wurde ausgefürt, wer hat ihn ausgeführt, auf welchem Element wurde der AL ausgeführt).
In diesem Zug wollte ich noch die aktuelle Aktivität (da ein AL mehrere Aktivitäten hat und somit schneller zu sehen ist, wo der AL event. einen Fehler produziert hat) mit ausgeben.
Somit muss ich die Ausgabe der Informationen nicht in jedes Script einfügen.
Habe ich keine Chance irgengendwie an die wirklich aktuelle Aktivität zu kommen?
Grüße
Andreas
Hallo,
ich glaube etwas gefunden zu haben (zumindestens funktioniert es):
task.getTaskState().getModelState().getTargetTransitions().get(0).getTarget().getUid()
Das funktioniert nur (get(0)) , wenn es nur eine ausgehende Transition pro Status gibt (das ist bei mir der Fall).
Was wäre denn ein Beispiel, wenn ein Status mehrere ausgehende Transition hat (finde aktuell keine Verwendung dafür)?
Grüße
Andreas