aVogt
Returning Creator

FS5: Arbeitsablauf, Aktivität im zugehörigen Script ausgeben

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

  • Freigabe durchführen
  • Eingabeprüfung

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

0 Kudos
3 Replies
tklein
I'm new here

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

0 Kudos
aVogt
Returning Creator

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

0 Kudos
aVogt
Returning Creator

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

0 Kudos