Hauptmenü

Teile von Checklisten als erledigt setzen

Begonnen von Frank Niethardt, 06.09.2024 15:28:43

⏪ vorheriges - nächstes ⏩

Frank Niethardt

Hallo,

ich habe den Fall, dass ich in einer Checkliste quasi mehrere Zweige aufspanne. Wenn ich am Anfang eines Zweigs sage, der wird nicht benötigt, wie kann ich dann die restlichen Sub-Elemente dieses Zweigs als implizit erledigt markieren? Workflow Rules?

Viele Grüße
Frank

Benedikt Geißler

Hallo Frank,

hier ist ein Weg, wie ein bestimmter Wert innerhalb eines Checklisten DFs mit einem neuen Wert versehen werden kann – hier anhand des mitgelieferten DFs MobileProcessingChecklist020.

Zunächst muss der aktuelle Wert in einer Variable zwischengespeichert werden:
Variable setzen: dfChecklist →
<KIX_TICKET_DynamicField_MobileProcessingChecklist020_ObjectValue_0>

Das "_ObjectValue_0" ist hier wichtig, da DFs üblicherweise ein Array von Werten bilden – hier soll der Rohwert des ersten Elements verwendet werden.

Mit einer MacroAction "Dynamisches Feld setzen" und einem jq-Filter in der Variable kann jetzt eine Wertersetzung vorgenommen werden:
DF setzen: MobileProcessingChecklist020 →
${dfChecklist|jq([.[] :: select(.id != "100"), (select(.id == "100") :: .value = "OK")])}
Der jq-Filter parst das JSON und kann bestimmte Selektoren darüber legen. Genauere Doku dazu gibt es bei https://jqlang.github.io/jq/manual/
Zu beachten ist, dass "|" innerhalb des JQ-Filters durch "::" ersetzt werden muss, ansonsten kommt der Variablenfilter durcheinander. Außerdem rfen keine geschweiften Klammern vorkommen, denn das vermischt sich sonst auch mit der Variablenreferenzierung.

Eine kurze Erläuterung zu dem obigen jq-Filter noch:
  • Iteriere über das Array und wende zwei verschiedene Filter an, daher die Klammerung und das Komma:
    • die mit der ID ungleich 100 bleiben unverändert
    • bei denen mit der ID 100 wird der Unterwert value auf "OK" gesetzt
  • Die Ergebnisse der beiden Filter werden wieder kombiniert, sodass im Resultat nur der eine Unterwert value auf OK gesetzt wird.

Hier gibt es auch noch eine Spielwiese mit obigem Beispiel und Vorher-/Nachher-Vorschau: https://jqplay.org/s/6wS5zO4WQKEDbTA

Screenshot dazu:


Bildschirmfoto vom 2024-10-16 15-36-36.png

Viele Grüße
Benedikt