Lehrplan: Bedingungen und berechnete Felder definieren
Curriculum unterstützt die Definition von berechneten Feldern und die Verwendung von Bedingungen. Bedingungen werden verwendet, um den Start von Prozessen, die Sichtbarkeit von Registerkarten und Workflow-Seiten, Feldern usw. auf der Grundlage einer Bedingung zu steuern. Berechnete Felder werden z.B. für die automatische Generierung von Codes, für den Inhalt von Feldern, die auf anderen Feldern basieren, und für Berechnungsregeln in der Auslastungsplanung verwendet. Dieser Leitfaden enthält Informationen darüber, wie berechnete Felder und bedingte Ausdrücke definiert werden.

Berechnete Felder mit Ausdrücken
Curriculum unterstützt die Verwendung von Ausdrücken in verschiedenen Funktionsbereichen des Systems. Zum Beispiel:
- der Code oder andere Identifizierungsfelder werden auf der Grundlage eines Ausdrucks berechnet, der auf anderen Feldern und spezifischen Funktionen basiert, um eine eindeutige Codeerstellung zu gewährleisten
- the value of custom-fields, where an expression is defined using other fields. For instance 'contact hours' is automatically calculated based on the number of credits * <norm hours per credit>
- die Berechnung der Stunden bei der Planung der Arbeitsbelastung, wobei die Stunden für einen Dozenten aus der Anzahl der Studenten, der Dauer der Tätigkeit, der Anzahl der Aktivitäten usw. berechnet werden.
Die Konfiguration eines Ausdrucks kann vom Administrator vorgenommen werden.
Die unterstützten logischen / mathematischen Ausdrücke sind:
- <field/value><operator><field/value>
- <function()>
Expression structure: <field/value><operator><field/value>
Berechnen Sie den Wert eines neuen Feldes auf der Grundlage eines anderen Feldes und/oder eines festen Wertes.
Die unterstützten Operatoren sind:
- + (hinzufügen)
- - (subtrahieren)
- * (multiplizieren)
- / (dividieren)
- % (Rest)
The field is identified by the Code. In case a <field> occurs in multiple objects, f.i. credits/optimum and capacity/optimum, the convention to specify the correct <field> is <colon>(<object>) <field>, f.i. :(credits) optimum.
Beispiele sind:
- (:KontaktStunden * 3) + 100
- :(Gutschriften)optimal) / 2
- :contactHours * :(Kapazität)optimal
- :contactHours + :selfStudyHours
Expression structure: <function()>
Berechnen Sie den Wert eines neuen Feldes mithilfe einer Funktion, die auf anderen Feldern und Werten basiert.
Die unterstützten Funktionen sind:
- join (Wert, Wert, ...) - Felder/Werte verketten
- coalesce (value, value, ...) - The first non-empty value will be taken, e.g. if <value A> = "" then <value B>
- take (value, length, filler) - Übernimmt die linken X Zeichen. Wenn weniger als X Zeichen vorhanden sind, kann ein Füllzeichen angegeben werden, damit am Ende X Zeichen stehen.
- floor (Wert) - Nimmt den ganzzahligen Wert eines Zahlenwerts, z. B. 2,5 -> 2
- round (value) - Rundet den ganzzahligen Wert einer Zahl, z. B. 2,5 -> 3
- min (Wert) - Nimmt den niedrigsten Wert der angegebenen Werte
- max (Wert) - Nimmt den höchsten Wert der angegebenen Werte
- generate (length, filler, first_value, increment) - Erzeugt eine eindeutige Zahl, um die Eindeutigkeit auf der Grundlage des anderen Teils des berechneten Feldes zu gewährleisten
join(:typeId,'-',:abbreviation,'-',take(floor(:(credits) optimum), 3, '0'),'-',generate(3, '0', 10, 1))
In case fields are used, they are identified by the Code. In case a <field> occurs in multiple objects, f.i. credits/optimum and capacity/optimum, the convention to specify the correct <field> is <colon>(<object>) <field>, f.i. :(credits) optimum.
Beispiele sind:
- join("Stadt = ", :Ort), was zu "Stadt = AMS" führt
- floor(:(Kredite) optimal)
- take(floor(:(credits) optimum), 3, '0'), Ergebnis: 003, wenn credits gleich 3 ist, oder 012, wenn credits gleich 12,5 ist (floor 12,5 = 12).
- round(:contactHours)
- round((:contactHours / 3) + (:students * 0.3))
- coalesce(:maxStudents, :students, 100), wählt den ersten "nicht leeren" Wert in der definierten Reihenfolge. Wenn also maxStudents leer ist, wird students genommen.
- min(:capacity, 50)), wird der niedrigste der beiden Werte genommen. Wenn :kapazität > 50 dann 50 sonst :kapazität
- max(:capacity-50, 0)), will take the highest of the two values. If :capacity-50<0 then 0 else :capacity
- generate(3, '0', 10, 1)), wird eine eindeutige Erweiterung erstellt010, 011, 012, ...., 999
Bedingte Regeln
Die Konfiguration unterstützt die Definition von bedingten Regeln. Diese Regeln können verwendet werden, um die Anzeige von Feldern zu verhindern, Workflow-Schritte zu überspringen oder Status zu bearbeiten.
Bei einer Felddefinition kann der Administrator die Sichtbarkeit des Feldes konfigurieren:
- Sie wird der Feldkonfiguration hinzugefügt, was bedeutet, dass die "Sichtbarkeit" global und nicht spezifisch für einen Bildschirm ist.
- Es wird davon ausgegangen, dass der Systemadministrator über die nötigen Kenntnisse verfügt, um die Definition festzulegen, und dass er dazu keine komplexen Konfigurationsoptionen benötigt.
- Unterstützte Felder sind "zusätzliche Felder" und "Beschreibungen".
Die Feldkonfiguration sollte es dem Systemadministrator ermöglichen, die Regel zum "Anzeigen" des Feldes auf der Grundlage eines Feldes (auf dem Objekt und/oder auf derselben Seite) zu definieren.
Die Darstellung für diese Fälle wird unterschiedlich sein. Befindet sich das Objekt auf der Seite, kann es sein, dass die Felder nach Auswahl eines bestimmten Wertes auf dem Bildschirm erscheinen. Beim Umschalten auf dem Bildschirm werden die vorhandenen Daten gelöscht, wenn ein Feld unsichtbar gemacht wird.
Die Konfiguration einer bedingten Regel kann vom Administrator vorgenommen werden.
Die unterstützten Regeln sind:
- <field> in (<value>, <value>) - is the value of the field in the list of values, e.g. typeId in ('BA', 'MA', 'PHD')
- !<field> in (<value>, <value>) - is the value of the field NOT in the list of values !typeId in ('BA', 'MA', 'PHD')
- <field><operator><field or value> - operator values || (or) and && (and), e.g. :typeId in ('PHD','MA') && :(credits)optimum < 120
- <logical operator> - operator values >, >= , <, <=, =, !=
Rule configuration: <field> in (<value>, <value>)
Bedingtes Ausführen/Einblenden von Informationen basierend auf dem Wert eines anderen Feldes und/oder einem festen Wert.
The field is identified by the Code. In case a <field> occurs in multiple objects, f.i. credits/optimum and capacity/optimum, the convention to specify the correct <field> is <colon>(<object>) <field>, f.i. :(credits) optimum.
Beispiele sind:
- :(Modul)typeId in (STANDARD, MOOC)
- :free_choice in (true)
- :Land in ('EN', 'NL', 'DE', 'SW')
- :Land nicht in ('UK', 'ES')
Ein Sonderfall ist die Verwendung der Rollenberechtigung, um den Zugang zu ermöglichen:
- :operations in ('VIEW_SCHEDULE')
Wenn die Benutzerrolle in einem Workflow die Zugriffsrechte hat, um den Zeitplan zu sehen, wird die Workflow-Seite oder das benutzerdefinierte Feld angezeigt.
Rule configuration: <field><operator><field or value>
Zeigt das Feld nur an, wenn der Ausdruck mit dem referenzierten Feld oder Wert erfüllt ist.
Die unterstützten Funktionen sind:
- >
- >=
- <
- <=
- !=
In case fields are used, they are identified by the Code. In case a <field> occurs in multiple objects, f.i. credits/optimum and capacity/optimum, the convention to specify the correct <field> is <colon>(<object>) <field>, f.i. :(credits) optimum.
Beispiele sind:
- :nr_of_students < 100
- :max_credits < 6
- :nr_of_students < :max_students
- :(credits) optimum <= :(credits) max
- :reviewDate < :academicYearId.startDate
Rule configuration: <logical operator>
Zeigt das Feld nur an, wenn der Ausdruck erfüllt ist.
Die unterstützten Funktionen sind:
- && oder AND
- || oder OR
In case fields are used, they are identified by the Code. In case a <field> occurs in multiple objects, f.i. credits/optimum and capacity/optimum, the convention to specify the correct <field> is <colon>(<object>) <field>, f.i. :(credits) optimum.
Beispiele sind:
- :type = 'Minor' and :location = 'AMS'
Es wird empfohlen, die Operanden in einfache Anführungszeichen zu setzen, um Werte wie 'AMS-A' zu ermöglichen. - :type = 'Minor' && :location = 'AMS'
- :Ort in ('AMS','RTD') oder :country='UK'
- :Standort in ('AMS','RTD') || :country='UK'
Testen konfigurierter Bedingungen und berechneter Felder
Konfigurierte Ausdrücke für berechnete Felder und Bedingungen können mit dem Testwerkzeug getestet werden.

Klicken Sie auf das v-Zeichen, um das Testwerkzeug für die Konfigurationsregel oder den Ausdruck zu öffnen.
Wählen Sie ein Bildungsobjekt aus (geben Sie einfach den Namen eines Studiums, einer Modulgruppe oder eines Moduls ein) und klicken Sie auf Auswerten, um das Ergebnis zu überprüfen.
