Einführung
Skripte im iCL Designer bieten eine Vielzahl von Möglichkeiten, Inhalte voneinander abhängig zu machen und miteinander zu verknüpfen.
Sie sind in der Lage, die Sichtbarkeit zu ändern, Berechnungen durchzuführen oder Fragen und Antworten zu erweitern.
Gleichzeitig sind Skripte sehr zugänglich, da Sie keine Programmierkenntnisse haben müssen, um sie zu verwenden. Dies wird durch die Verwendung von Blockly erreicht, einem Editor, mit dem Sie Skripte definieren können, ähnlich wie beim Zusammensetzen eines Puzzles.
Wann werden Skripte verwendet?
Es gibt eine breite Palette von Anwendungsfällen für Blockly-Skripte. Sie werden häufig verwendet, um dynamische Antworten zu erstellen oder um die Sichtbarkeit bestimmter Arbeitsmappenbereiche auf der Grundlage von Eingaben zu ändern.
Ein weiteres Einsatzgebiet für Skripte sind Inhaltselemente, die Daten aus früheren Prüfungen erhalten sowie bestehende Daten aktualisieren oder neue Datensätze erstellen können.
Skripte werden auch verwendet, um Daten oder Listen einzuschränken, zu filtern oder zu sortieren, Berechnungen durchzuführen oder Datums- und Zeitwerte für die Arbeit bereitzustellen.
Blockly Skript UI
Alle Skripte werden in einem separaten Fenster erstellt - dem Blockly-Editor. Standardmäßig befindet er sich am unteren Rand der Benutzeroberfläche.
Sie können den Blockly-Editor im Eigenschaftsfenster bei jedem Puzzle-Icon durch Anklicken aufrufen.
Nun kann ein Skript erstellt werden
- mit einem der bereitgestellten BlöckeThe fallback content to display on prerendering
- oder den Wert eines anderen Feldes verwenden, indem Sie dessen Link-Griff (das Puzzleteil, das am äußeren Rand eines Frage- oder Antwort-Knotens erscheint, wenn Sie ihn überfahren) in den Blockly-Editor ziehen und dort ablegenThe fallback content to display on prerendering
Wenn Sie einen Frage- oder Antwort-Knoten in der Mindmap überfahren, erscheint am äußeren Rand des Knotens ein Link-Griff (ein Puzzleteil). Ziehen Sie diesen Griff in den Blockly-Editor, um einen Verweis auf den Wert dieses Feldes einzufügen. Ein einfacher Klick auf den Griff zeigt nur einen kurzen Hinweis zur Verwendung an — es wird nichts eingefügt.
Der Unterschied ist der folgende: Wenn Sie nur einen konstanten Wert in Ihrem Skript verwenden, wie im ersten Fall (1), wird dieses Skript einmal ausgewertet (wenn das Feld, zu dem es gehört, erstellt wird). Danach wird es sich nicht mehr ändern. Daher erzeugt das erste Skript einen Standardwert, den der Benutzer später überschreiben kann.
Wenn Sie jedoch den Wert eines anderen Feldes in Ihrem Skript verwenden, wie in Fall (2), ist Ihr Skript jetzt von diesem Feld abhängig. Das bedeutet, dass Ihr Skript jedes Mal, wenn sich diese anderen Felder ändern (z. B. weil der Benutzer einen anderen Wert eingibt), neu ausgewertet wird.
Beim Erstellen eines neuen Skripts wird der Editor rot umrandet, was darauf hinweist, dass dem Skript etwas fehlt oder es unverbundene Elemente im Skriptbereich hat. Dies wird beim Erstellen oder Ändern von Skripten häufig vorkommen. Solange ein roter Rand vorhanden ist, funktioniert das Skript nicht und kann daher nicht gespeichert werden.
Sie können den Editor jederzeit schließen, indem Sie auf das X oben rechts im Fenster klicken. Wenn beim Schließen des Blockly-Fensters immer noch ein Skript-Fehler auftritt, erscheint eine Abfrage, ob Sie das Fenster schließen wollen und die aktuellen ungespeicherten Änderungen dieses Skripts verloren gehen.
Blockly Fenster andocken
Sie können die Position des Blockly-Editors ändern, indem Sie eine Drag&Drop-Aktion auf seiner farbigen Überschrift durchführen. In den Ecken und in der Mitte erscheinen mehrere Pfeile, die Sie ansteuern können, indem Sie das Fenster über den Pfeil halten. Das Fenster wird dann im angegebenen grauen Bereich positioniert.
Die neue Fensterposition wird nach dem Schließen der Arbeitsmappe nicht gespeichert.
Skriptbare Eigenschaften
Sie finden den Blockly-Editor an den folgenden Stellen:
| Eigenschaft | Verwendbar bei | Zulässige Ausgabe | Zweck |
|---|---|---|---|
| Titel | Arbeitsmappe / Checkliste / Kapitel / Überschrift / Feld | Text, Zahl | Ändert den Titel dieses Knotens. |
| Obligatorisches | Feld | Boolean | Wenn die Ausgabe true ist, wird dieses Feld obligatorisch. Mit False wird der Pflichtstatus deaktiviert. |
| Existiert | Kapitel / Überschrift / Feld | Boolean | Wenn die Ausgabe True ist, existiert das Feld im iCL Filler. Wenn es nicht existiert, werden alle zugehörigen Skripte und Folgefelder als nicht existent behandelt. |
| Versteckt | Kapitel / Überschrift / Feld | Boolean | Wenn die Ausgabe true ist, können Sie dieses Feld nicht sehen, aber der iCL Filler kann trotzdem auf seine Daten und Werte zugreifen. |
| Nur lesen | Wenn die Ausgabe true ist, befindet sich das Feld in einem schreibgeschützten Zustand, in dem keine Änderungen vorgenommen werden können. Seien Sie vorsichtig, wenn Sie obligatorische und schreibgeschützte Parameter mischen. | ||
| Geskriptete Antwort | Feld | Text Zahl Datum Zeit | Dieses Skript setzt automatisch die Antwort des Feldes mit oder ohne eine Bedingung/Relation. |
| Minimum/Maximum | Kapitel / Überschrift | Zahl | Ändert das minimale und maximale Vorkommen dieses Knotens. |
| Abfrage | Kapitel / Überschrift / Feld (Datenbindung) | - | Erzeugt eine Verbindung zwischen zwei Inhaltstypen basierend auf einem übereinstimmenden Eintrag. |
| Ordnen nach | Kapitel / Überschrift | - | Ändert die Reihenfolge dieses wiederholten Abschnitts. |
| Filter | Inhaltstyp / Feld (Inhaltselement) | - | Setzt einen Filter für die geladenen Inhaltselemente dieses Feldes, um Daten einzuschränken/begrenzen/zu filtern. |
| Zuordnung | Feld (Inhaltselement) | abhängig vom Zuordnungstyp | Eine Zuordnung speichert Daten zum Hinzufügen/Ändern von Inhaltselementdaten für Inhaltstypen. |
| Liste | Feld (Datenbindung) | Liste | liefert Antworten basierend auf einer Liste von Daten |
Um ein Verständnis dafür zu bekommen, wann und warum solche Skripte ausgewertet werden, siehe hier.
Verfügbare Blöcke
Textblöcke
| Block | Funktion | Erlaubte Typen | |
|---|---|---|---|
| Erlaubt übersetzbare und nicht übersetzbare Eingaben | Text, Zahlen, Sonderzeichen | ||
| Verbindet mehrere Anzeigeelemente miteinander. | Alle | ||
| Ermöglicht den Vergleich zweier Texte auf Gleichheit oder Ungleichheit (ob sie gleich sind oder nicht). | Text | ||
| Ermöglicht das Einfügen eines Sonderzeichens (z.B. neue Zeile) | - | ||
| Gibt eine Kopie des Textes zurück, bei der die Leerzeichen an einem oder beiden Enden entfernt wurden. | Text | ||
| Zeigt den angehängten Text in Groß-/Kleinschreibung oder als Titel an. | Text | ||
| Gibt die Position des ersten/letzten Vorkommens des ersten Textes im zweiten Text zurück. Gibt 0 zurück, wenn der Text nicht gefunden wird. | |||
| Gibt den Buchstaben an der angegebenen Position zurück. #1 ist die erste Position. | Erste Eingabe: Text, Zweite Eingabe: Zahl | ||
| Gibt einen bestimmten Teil des Textes zurück. | Erste Eingabe: Text, Zweite und dritte Eingabe: Zahl | ||
| URL-kodiert den angegebenen Text, damit er sicher in einer URL oder einem Query-String verwendet werden kann (z. B. wird ein Leerzeichen zu %20). | Text | ||
| URL-dekodiert den angegebenen Text und wandelt Prozent-Escapes zurück in die ursprünglichen Zeichen um (z. B. wird %20 zu einem Leerzeichen). | Text | ||
Erzeugt eine neue eindeutige ID, zum Beispiel 0198f2c1-4a3b-7d2e-9f10-3c5a7b9e2d4f. Es handelt sich um eine UUIDv7 – der vordere Teil ist ein Zeitstempel, neuere IDs sortieren also nach älteren. Hinweis: Bei jeder Auswertung des Skripts wird ein neuer Wert erzeugt – die ID ist also kein stabiler Bezeichner für ein Feld. | - |
Mathe-Blöcke
| Block | Funktion | Erlaubte Typen |
|---|---|---|
| Ermöglicht die Eingabe von Zahlen. | Nummer | |
| Erzeugt eine Zahl aus Text. | Text | |
| Ermöglicht mathematische Berechnungen - Summe, Minimal- und Maximalwert, Durchschnitt. | Zahl, Zahlenfelder | |
| Vergleicht zwei Zahlen miteinander. | Zahl | |
| Ermöglicht grundlegende mathematische Berechnungen. | Zahl, Zahlenfelder | |
| Ermöglicht Rundungen - kaufmännisch, aufwärts, abwärts. | Zahl, Zahlenfelder | |
| Ermöglicht das Runden mit definierten Dezimalstellen - kaufmännisch, aufwärts, abwärts. | Zahl, Zahlenfelder | |
| Berechnet die Wurzel aus einer Zahl. | Zahl | |
| Berechnet den Rest einer Division. | Zahl | |
| Gibt eine Zufallszahl zwischen -2.147.483.648 und 2.147.483.648 zurück. | ||
| Gibt eine Zufallszahl zwischen dem angegebenen Mindest- und Höchstwert zurück. Die untere Grenze ist inklusiv, während der Höchstwert exklusiv ist. Das bedeutet zum Beispiel: Wenn Sie ein Mindestwert von 0 und ein Höchstwert von 3 angeben, sind die möglichen Werte: 0,1,2 (3 ist also nicht Teil der Ergebnismenge). | Zahl, Zahlenfelder | |
| Gibt ein Array mit der angegebenen Anzahl eindeutiger/nicht eindeutiger Zufallszahlen zwischen dem angegebenen Mindest- und Höchstwert zurück. Die untere Grenze ist inklusiv, während die obere Grenze exklusiv ist. Das bedeutet zum Beispiel: Wenn Sie ein Mindestwert von 2 und ein Höchstwert von 5 angeben, sind die möglichen Werte: 2,3,4 (5 ist also nicht Teil der Ergebnismenge). | Zahl, Zahlenfelder |
Datum & Zeit Blöcke
| Block | Funktion | Erlaubte Typen |
|---|---|---|
| Gibt das aktuelle Datum des Gerätes zurück. | Datetime | |
| Ein Datumsfeld, das sich aus den einzelnen Datumskomponenten zusammensetzt. | Number | |
| Hängt eine bestimmte Anzahl von Tagen/Monaten/Jahren an ein Datum an. | Erste Eingabe: Zahl, Zweite Eingabe: Datum | |
| Gibt entweder das Jahr, den Monat, den Tag oder den Wochentag als Zahl zurück. | Datum | |
| Gibt die Kalenderwoche eines Datums als Zahl zurück. Über das Dropdown wird zwischen der europäischen (ISO 8601, Woche beginnt am Montag, Woche 1 enthält den ersten Donnerstag) und der amerikanischen (Woche beginnt am Sonntag, Woche 1 enthält den 1. Januar) Berechnung umgeschaltet. | Datum | |
| Vergleicht zwei Datumsfelder und gibt einen booleschen Wert zurück. | Date | |
| Gibt den angegebenen Text als formatiertes Datum zurück. | Text | |
| Gibt den angegebenen Text als benutzerdefiniert formatiertes Datum zurück. | Erste Eingabe: Text, Zweite Eingabe: Text | |
| Berechnet die Dauer zwischen zwei Zeitpunkten. | Timepicker |
Wenn Sie ein Textfeld als Eingabe für einen Datumsblock/ein Datumsfeld verwenden müssen, wird der Text als gültiges Datum interpretiert, wenn er eines der folgenden Datumsformate verwendet:
MM/tt/jjjj HH:mm:ss
MM/tt/jjjj HH:mm
MM/tt/jjjj
jjjj-MM-ddTHH:mm:ssZ
Das letzte Format ist ein internationaler Standard namens "ISO 8601", der auch in der REST-Schnittstelle des iCL Portals verwendet wird.
Logische Blöcke
| Block | Funktion | Erlaubte Typen |
|---|---|---|
| Ein Verzweigungsoperator, um verschiedene Fälle logisch abzudecken. | Erste Eingabe: boolesch, zweite und dritte Eingabe: alle | |
| Ein Verzweigungsoperator, um verschiedene Fälle logisch abzudecken. Ermöglicht das Hinzufügen zusätzlicher else-if-Verzweigungen. | Erste Eingabe: boolean, zweite und dritte Eingabe: all | |
| Ein logischer Wahrheitsoperator für wahr und falsch. | - | |
| Ermöglicht mathematische Vergleiche. | Boolean | |
| Negiert eine folgende logische Aussage. | Boolean | |
Gibt den Wert null zurück. | - | |
| Wenn das Ergebnis des ersten Blocks ein Fehler ist, wird der Wert des zweiten Blocks zurückgegeben, ansonsten das Ergebnis des ersten Blocks | any |
Listet Blöcke auf
| Block | Funktion | Erlaubte Typen |
|---|---|---|
| Filtert in einer Liste nach bestimmten Kriterien. | List | |
| Erzeugt eine Liste mit 1 Eintrag, kann erweitert werden. | All | |
| Erzeugt eine Liste mit 3 Einträgen, kann reduziert/erweitert werden. | All | |
| Filtert die angegebene Liste mit Hilfe des angegebenen logischen Blocks, wobei der logische Block für jedes einzelne Element der Liste verwendet wird. | Erste Eingabe: Liste, Zweite Eingabe: boolean | |
| Gibt die Länge einer Liste zurück. | List | |
| Nimmt eine Liste oder einen einzelnen Wert. Wenn es sich um einen einzelnen Wert handelt, wird er in eine Liste eingeschlossen. Handelt es sich um eine Liste, die Listen enthält, werden diese entfernt und stattdessen deren Elemente in die Hauptliste verschoben. | ||
| Wenn es mit text from list verwendet wird, nimmt es eine Liste und fügt sie mit dem angegebenen Begrenzer zusammen. Wenn es mit list from text verwendet wird, nimmt es einen Text und teilt ihn mit dem angegebenen Begrenzungszeichen auf. | ||
| vertauscht die Elemente der angegebenen Liste. | List | |
| Gibt eindeutige Elemente der gegebenen Liste zurück. | List | |
| Sortiert die Elemente der angegebenen Liste aufsteigend/absteigend. | List | |
| Sortiert die Elemente der angegebenen Liste aufsteigend/absteigend nach einem angegebenen Ausdruck. | Erste Eingabe: Liste, Zweite Eingabe: Text, Zahl, boolesch, Datum | |
| Prüft, ob irgendein/jedes Element in der Liste den angegebenen booleschen Ausdruck erfüllt. Erste Eingabe: Liste, Zweite Eingabe: boolescher Ausdruck. | ||
| Erzeugt eine neue Liste mit den Ergebnissen der Ausführung des angegebenen Ausdrucks auf jedes Element in der angegebenen Liste. | Erste Eingabe: list, Zweite Eingabe: all |
Regex-Blöcke
| Block | Funktion | Erlaubte Typen | |
|---|---|---|---|
| Prüft, ob der Text dem regulären Ausdruck entspricht, und gibt wahr oder falsch zurück. | Erste Eingabe: Text, Zweite Eingabe: Muster | ||
| Ersetzt jeden Treffer des regulären Ausdrucks durch den Ersatztext. Der Ersatztext kann mit $1, $2, ... auf Gruppierungen verweisen. | Erste Eingabe: Text, Zweite Eingabe: Muster, Dritte Eingabe: Text | ||
| Gibt den ersten Treffer des regulären Ausdrucks zurück oder nichts, wenn der Text nicht passt. | Erste Eingabe: Text, Zweite Eingabe: Muster | ||
| Gibt eine Liste mit allen Treffern des regulären Ausdrucks zurück. Über das Aufklappmenü wird ausgewählt, ob der gesamte Treffer oder eine der Gruppierungen gesammelt wird. Gibt nichts zurück (keine leere Liste), wenn es keinen Treffer gibt – das Ergebnis sollte daher geprüft werden, bevor es an einen Listenblock übergeben wird. | Erste Eingabe: Text, Zweite Eingabe: Muster | ||
| Ein vorgefertigter regulärer Ausdruck für ein gängiges Format, auswählbar über ein Aufklappmenü: natürliche Zahl, Dezimalzahl (mit optionalen oder erforderlichen Nachkommastellen), E-Mail-Adresse, IBAN, URL oder GUID. | - | ||
| Maskiert alle Sonderzeichen des angegebenen Textes, sodass dieser innerhalb eines regulären Ausdrucks wörtlich gesucht wird. Immer dann verwenden, wenn ein Muster aus einer Antwort oder anderem freien Text zusammengesetzt wird. | Text |
Arbeiten mit regulären Ausdrücken
Ein regulärer Ausdruck (kurz: Regex) ist eine kleine Mustersprache, mit der beschrieben wird, wie ein Text aussehen muss – zum Beispiel „nur Ziffern“ oder „zwei Buchstaben gefolgt von zwei Ziffern“.
Skripte werden von der Skript-Engine des iCL Fillers ausgeführt, die die JavaScript-Syntax (ECMAScript) für reguläre Ausdrücke verwendet – nicht die .NET-Syntax. Zum Erstellen und Testen eines Musters sollte daher ein Tester verwendet werden, der auf ECMAScript/JavaScript eingestellt ist, z. B. regex101.com (links ECMAScript (JavaScript) auswählen) oder RegExr.
.NET-orientierte Tester wie regexstorm.net sollten vermieden werden: Funktionen wie benannte
Gruppen, Lookbehind oder \p{...}-Zeichenklassen werden dort anders geschrieben. Ein Muster, das
auf einer solchen Seite funktioniert, kann in iCL fehlschlagen oder sich anders verhalten.
Eine gute Einführung und eine vollständige Syntaxreferenz: MDN – Leitfaden zu regulären Ausdrücken und der MDN-Spickzettel.
Die vorgefertigten Muster
Der Muster-Block hat zwei Aufklappmenüs und liest sich wie ein Satz, zum Beispiel Natürliche Zahl – irgendwo im Text.
Das erste Aufklappmenü wählt das Format. Für abweichende Ausdrücke kann stattdessen jederzeit ein einfacher Textblock verwendet werden.
Das zweite legt fest, wie viel des Textes passen muss – und das ist ein wichtiger Unterschied:
- nur wenn es der gesamte Text ist – der Ausdruck wird verankert (
^…$), der vollständige Text muss also dieses Format haben. In Kombination mit entspricht Muster zur Prüfung einer Antwort verwenden. - irgendwo im Text – der Ausdruck bleibt unverankert und passt an jeder Position. In Kombination mit erster Treffer von / alle Treffer von verwenden, um einen Wert aus einem längeren Text herauszulösen.
Beim Überfahren des Blocks mit der Maus zeigt der Tooltip den regulären Ausdruck an, der sich aus der aktuellen Auswahl ergibt.
Ein verankertes Muster findet in einem längeren Text niemals etwas: ^\d+$ passt auf den Text 42,
findet in Auftrag 42 aber nichts. Wenn erster Treffer von oder alle Treffer von nichts
zurückgibt, das zweite Aufklappmenü auf irgendwo im Text umstellen.
| Eintrag | Ausdruck (irgendwo im Text) | Passt auf |
|---|---|---|
| Natürliche Zahl | \d+ | Nur Ziffern, ohne Vorzeichen und ohne Nachkommastellen: 0, 42 |
| Dezimalzahl (optional) | [+-]?\d+([.,]\d+)? | Eine Zahl mit optionalem Vorzeichen und optionalen Nachkommastellen – ganze Zahlen werden ebenfalls akzeptiert: 42, -3.5, 3,5 |
| Dezimalzahl (erforderlich) | [+-]?\d+[.,]\d+ | Dasselbe, aber die Nachkommastellen sind erforderlich: -3.5, 3,5 – 42 passt nicht |
| E-Mail-Adresse | [^@\s]+@[^@\s]+\.[^@\s]+ | Eine pragmatische E-Mail-Prüfung: etwas, ein @, eine Domain mit Punkt, keine Leerzeichen |
| IBAN | [A-Z]{2}\d{2}[A-Z0-9]{11,30} | Zwei Großbuchstaben für das Land, zwei Prüfziffern, dann 11–30 Buchstaben oder Ziffern – ohne Leerzeichen geschrieben |
| URL | (https?\|ftp):\/\/[^\s/$.?#].[^\s]* | Eine http-, https- oder ftp-Adresse |
| GUID | [0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12} | Eine GUID in der üblichen 8-4-4-4-12-Schreibweise – passt auch auf die IDs des Blocks neue eindeutige ID |
Im Modus nur wenn es der gesamte Text ist werden dieselben Einträge in ^…$ eingeschlossen verwendet – aus
„Natürliche Zahl“ wird also ^\d+$.
Diese Muster sind bewusst einfach und gut lesbar gehalten und decken nicht jeden Sonderfall des jeweiligen Standards ab. Für eine strengere Prüfung kann ein eigenes Muster verwendet werden.
Beispiel: Werte aus einem längeren Text herauslösen
Mit erster Treffer von, dem Geltungsbereich irgendwo im Text und diesem Text …
Invoice 2024-17: contact office@opti-q.com or visit https://opti-q.com/support .
Transfer 1250,75 EUR to AT611904300234573201 , ref 42, ticket 0198f2c1-4a3b-7d2e-9f10-3c5a7b9e2d4f
… liefert jedes Format den ersten gefundenen Wert:
| Muster-Eintrag | Ergebnis |
|---|---|
| Natürliche Zahl | 2024 |
| Dezimalzahl (erforderlich) | 1250,75 |
| E-Mail-Adresse | office@opti-q.com |
| IBAN | AT611904300234573201 |
| URL | https://opti-q.com/support |
| GUID | 0198f2c1-4a3b-7d2e-9f10-3c5a7b9e2d4f |
Wird erster Treffer von durch alle Treffer von ersetzt, kommt statt des ersten Treffers eine Liste aller Treffer zurück. Im Modus nur wenn es der gesamte Text ist würde keiner dieser Einträge etwas zurückgeben, weil der Text als Ganzes weder eine Zahl noch eine E-Mail-Adresse ist.
Gruppierungen verwenden
Klammern in einem Muster erzeugen eine Gruppierung: einen Teil des Treffers, der separat ausgelesen werden soll. Gruppierungen werden von links nach rechts anhand ihrer öffnenden Klammer nummeriert, beginnend bei 1.
Beispiel: der Text Auftrag A-42 und B-7 mit dem Muster ([A-Z])-(\d+):
| Auswahl im Aufklappmenü | Ergebnis |
|---|---|
| alle Treffer | A-42, B-7 – jeweils der vollständige Treffer |
| Gruppierung 1 | A, B – nur der von ([A-Z]) erfasste Teil |
| Gruppierung 2 | 42, 7 – nur der von (\d+) erfasste Teil |
Statt den gesamten Treffer zu holen und ihn anschließend zu zerlegen, wird also direkt der gewünschte Teil ausgewählt. Existiert die gewählte Gruppierung in einem Treffer nicht, bleibt der entsprechende Eintrag der Liste leer.
Wozu „für die Verwendung in einem Muster maskieren“?
Zeichen wie ., +, (, ), * oder ? haben innerhalb eines regulären Ausdrucks eine
Sonderbedeutung. Solange man selbst das Muster schreibt, ist das erwünscht. Zum Problem wird es,
sobald das Muster aus etwas zusammengesetzt wird, das ein Benutzer eingegeben hat – eine Antwort,
ein Content-Item-Wert, ein Feldname.
Der Block für die Verwendung in einem Muster maskieren setzt vor jedes dieser Zeichen einen Backslash, sodass der Text wörtlich gesucht wird:
| Text als Muster | Direkt verwendet | Mit maskieren umschlossen |
|---|---|---|
a.c | Der . bedeutet „ein beliebiges Zeichen“ und passt damit auch auf abc und axc – vermutlich nicht das Gewünschte | Wird zu a\.c und passt nur auf den wörtlichen Text a.c |
3.5 (mm) | Die ( ) werden als Gruppierung gelesen, 3.5 (mm) selbst wird dadurch nicht gefunden | Wird zu 3\.5 \(mm\) und wird gefunden |
1+1 | + bedeutet „ein oder mehrere des vorherigen Zeichens“ – das Muster passt damit auf 11, aber nicht auf den eigentlich gesuchten Text 1+1 | Wird zu 1\+1 und passt auf 1+1 |
Preis (netto | Die nicht geschlossene ( macht das gesamte Muster ungültig, das Skript schlägt mit einem Fehler fehl | Wird zu Preis \(netto und wird gefunden |
Faustregel: Stammt ein Teil des Musters aus einer Antwort oder einem anderen frei eingegebenen Wert, sollte dieser Teil mit für die Verwendung in einem Muster maskieren umschlossen werden. Ist das Muster vollständig selbst geschrieben, wird der Block nicht benötigt.
Checkliste Feldblöcke
| Block | Funktion | Erlaubte Typen |
|---|---|---|
| Vergleicht zwei Werte miteinander. Beachten Sie, dass Sie hier nicht mit Zahlen vergleichen können. Verwenden Sie für den Vergleich einen Text-Block im 'create list with'-Teil oder wechseln Sie zu Mathe-Blöcken, wenn Sie zwei Zahlen vergleichen. | ||
| Prüft, ob ein Feld einen Wert oder gar keinen Wert hat. | Fields | |
| Ermöglicht das Auflösen aller Eingabefelder, die dem angegebenen Muster entsprechen. Sie können damit alle Eingabefelder auflösen oder nur bestimmte Arten von Eingabefeldern erhalten, z.B. alle Textfelder, alle Zahlenfelder, etc. | - | |
| Ermöglicht die Auflösung aller Optionsfelder, die dem angegebenen Muster entsprechen. Sie können damit alle Optionsfelder auflösen oder nur bestimmte Typen von Optionsfeldern erhalten, z.B. alle Checkbox-Felder, alle Dropdown-Felder, usw. | - |
Benutzereigenschaften Blöcke
| Block | Funktion | Erlaubte Typen |
|---|---|---|
| Zeigt die ID des angemeldeten Benutzers an. | - | |
| Zeigt den Benutzernamen des angemeldeten Benutzers an. | - | |
| Zeigt den Vornamen des angemeldeten Benutzers an. | - | |
| Zeigt den Nachnamen des angemeldeten Benutzers an. | - | |
| Zeigt die E-Mail-Adresse des angemeldeten Benutzers an. | - |
Formatierungsblöcke
| Block | Funktion | Erlaubte Typen |
|---|---|---|
| Gibt das angegebene Datum als formatierten Text zurück. Bietet eine Dropdown-Liste, um das gewünschte Format auszuwählen. | Datum | |
| Gibt die angegebene Zeit als formatierten Text zurück. Bietet eine Dropdown-Liste zur Auswahl des gewünschten Formats. | Timepicker | |
| Gibt die angegebene Zahl als formatierten Text zurück. Bietet eine Dropdown-Liste zur Auswahl des gewünschten Formats. | Nummer | |
| Gibt das angegebene Objekt (kann eine Zahl/ein Datum/etc. sein) als formatierten Text unter Verwendung des angegebenen Formatstrings zurück. Sie können mehr über Formatstrings in Microsoft Docs oder in unserer Dokumentation nachlesen. | Alle |
Aufgabenblöcke
| Block | Funktion | Erlaubte Typen |
|---|---|---|
| Ermöglicht es, bestimmte Eigenschaften der task der Inspektion zu erhalten. Eigenschaften: Externe ID, Titel, Prüfer, geprüfte(s) Objekt(e), Beschreibung, Start- und Fälligkeitsdatum. | - | |
| Gibt true zurück, wenn die Inspektion mit einer Aufgabe gestartet wurde, false sonst. | - |
Inspektionsblöcke
| Block | Function | Allowed Types |
|---|---|---|
| Gibt die Informationen von der laufenden Inspektion an. Eigenschaften: Sprache. | - |