Die beschriebene Funktionalität steht im WorkflowPortal und im Document Processor CORE ab der Version 4.6 zur Verfügung.


Anforderung

Sie möchten eine Aufgabe so konfigurieren, dass bestimmte Attribute nur unter bestimmten Bedingungen sichtbar und/oder bearbeitbar sind. Attributbereiche werden dabei automatisch ausgeblendet, sofern sie keine sichtbaren Attribute enthalten.


Beispiel: Das Attribut "Fälligkeit" soll nur eingeblendet werden, wenn die Zahlungsart den Wert "Überweisung" enthält.


Vorgehen

Grundlage für diese Funktionalität ist weiterhin das Modul "WFAddTaskAttribute" des Document Processor CORE, mit dessen Hilfe Attribute einer Aufgabe hinzugefügt werden. Bisher durften die Eigenschaften "Versteckt" und "ReadOnly" nur die Werte "0" (Nein) oder "1" (Ja) enthalten. Eine Zuweisung per Variable war und ist natürlich möglich.


Ab sofort ist es möglich, den Eigenschaften "Versteckt" und "ReadOnly" einfache JavaScript-Funktionen zuzuordnen. Diese müssen immer ein boolsches Ergebnis (true/false) zurück liefern.



In den Vergleichen können Attribute mit der Schreibweise #Attributname# aufgeführt werden. Dieser Platzhalter wird zur Laufzeit gegen den Attributwert ersetzt und automatisch in Hochkommata eingeschlossen (#Attributname# >> "WERT").


// Steuerung über eine Checkbox
#BoolAttribut# == "true" 
#BoolAttribut# == "false"

// UND-Bedingung mit Text- und Int-Attribut
#TextAttribut# == "text" && #IntAttribut# == "0"

// ODER-Bedingung
#TextAttribut1# == "Wert1" || #TextAttribut2# == "Wert2"

// Datumsvergleich
#DateAttribut# == "2020-04-27" 

// Werte sind ungleich
#TextAttribut# != "text"


Durch das automatische Einfügen der Werte inkl. Hochkommata sind numerische Vergleiche nur nach zusätzlicher Konvertierung der entsprechenden Attributwerte möglich.


// Umwandeln eines Zahlenwertes in den korrekten Datentyp
parseFloat(#ZahlAttribut#) + parseFloat(#KommazahlAttribut#) > #Summe#