Zum Hauptinhalt springen

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 Blockly Script Area durch Anklicken aufrufen.

Nun kann ein Skript erstellt werden

  1. mit einem der bereitgestellten Blöcke
    The fallback content to display on prerendering
  2. oder den Wert eines anderen Feldes durch Ziehen und Ablegen dieses Feldes in den Blockly-Designer verwenden
    The fallback content to display on prerendering

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.

Hinweis

Die neue Fensterposition wird nach dem Schließen der Arbeitsmappe nicht gespeichert.

Skriptbare Eigenschaften

Sie finden den Blockly-Editor an den folgenden Stellen:

EigenschaftVerwendbar beiZulässige AusgabeZweck
TitelArbeitsmappe / Checkliste / Kapitel / Überschrift / FeldText, ZahlÄndert den Titel dieses Knotens.
ObligatorischesFeldBooleanWenn die Ausgabe true ist, wird dieses Feld obligatorisch. Mit False wird der Pflichtstatus deaktiviert.
ExistiertKapitel / Überschrift / FeldBooleanWenn 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.
VerstecktKapitel / Überschrift / FeldBooleanWenn die Ausgabe true ist, können Sie dieses Feld nicht sehen, aber der iCL Filler kann trotzdem auf seine Daten und Werte zugreifen.
Nur lesenWenn 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 AntwortFeldText Zahl Datum ZeitDieses Skript setzt automatisch die Antwort des Feldes mit oder ohne eine Bedingung/Relation.
Minimum/MaximumKapitel / ÜberschriftZahlÄndert das minimale und maximale Vorkommen dieses Knotens.
AbfrageKapitel / Überschrift / Feld (Datenbindung)-Erzeugt eine Verbindung zwischen zwei Inhaltstypen basierend auf einem übereinstimmenden Eintrag.
Ordnen nachKapitel / Überschrift-Ändert die Reihenfolge dieses wiederholten Abschnitts.
FilterInhaltstyp / Feld (Inhaltselement)-Setzt einen Filter für die geladenen Inhaltselemente dieses Feldes, um Daten einzuschränken/begrenzen/zu filtern.
ZuordnungFeld (Inhaltselement)abhängig vom ZuordnungstypEine Zuordnung speichert Daten zum Hinzufügen/Ändern von Inhaltselementdaten für Inhaltstypen.
ListeFeld (Datenbindung)Listeliefert Antworten basierend auf einer Liste von Daten
Skriptauswertung

Um ein Verständnis dafür zu bekommen, wann und warum solche Skripte ausgewertet werden, siehe hier.

Verfügbare Blöcke

Textblöcke

BlockFunktionErlaubte Typen
Erlaubt übersetzbare und nicht übersetzbare EingabenText, Zahlen, Sonderzeichen
Verbindet mehrere Anzeigeelemente miteinander.Alle
Gibt true zurück, wenn die beiden Texte gleich sind, sonst false.Text
Gibt ein Zeilenumbruchszeichen zurück.-
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

Mathe-Blöcke

BlockFunktionErlaubte 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

BlockFunktionErlaubte 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
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
Textfeld als Eingabe für Datumsblöcke/-felder verwenden

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

BlockFunktionErlaubte 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 Blocksany

Listet Blöcke auf

BlockFunktionErlaubte 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

Checkliste Feldblöcke

BlockFunktionErlaubte 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

BlockFunktionErlaubte 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

BlockFunktionErlaubte 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

BlockFunktionErlaubte 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

BlockFunctionAllowed Types
Gibt die Informationen von der laufenden Inspektion an. Eigenschaften: Sprache.-