Grundlagen der Skriptauswertung
Um so effizient wie möglich zu sein, speichert das System nur die Werte der Felder. Das heißt, wenn Sie ein Skript für Scripted Answer erstellen, wird es nur einmal ausgewertet
- einmal ausgewertet wird, wenn es erstellt wird
- und wenn sich eine seiner Abhängigkeiten (d.h. die Felder, die es verwendet) ändert. Andernfalls werden diese Daten gespeichert und beim erneuten Öffnen der Checkliste in das betreffende Feld geladen. (Dieses Verhalten gilt für alle "Werteskripte", d.h. Scripted answer, data-bound answer, repeat for related/inspected item/elements in list)
Alle anderen Skripte (wie Title, Exists, etc.) werden jedes Mal ausgewertet, wenn die Checkliste erstellt oder geöffnet/geladen wird.
Skripte zur Behandlung von Werten sind die folgenden:
- geskriptete Antworten
- datengebundene Antworten
- wiederholbare Bereiche für überprüfte oder verwandte Elemente in einer Liste
Das bedeutet, wenn Sie ein Title-Skript erstellen, das das aktuelle Datum anzeigt, wird es an jedem Tag, an dem Sie die Checkliste öffnen, ein anderes Datum anzeigen: Am 1. Januar 2021 wird es also "2021-01-01" anzeigen, aber wenn Sie es am 22. Februar öffnen, wird es "2021-02-22" anzeigen! Wenn Sie also Daten anzeigen müssen, die sich nicht ändern, müssen Sie diese Daten in einem Feld innerhalb der Checkliste speichern.
Um zum Beispiel das Skript Titel so zu ändern, dass es immer das Datum anzeigt, an dem die Checkliste erstellt wurde, ändern wir das Skript so, dass es ein Datumsfeld anstelle von jetzt verwendet ...und das Skript für die Datumsfelder Scripted Answer zu now Auf diese Weise wird bei der ersten Erstellung der Checkliste das Datumsfeld auf jetzt gesetzt. Aber bei jedem weiteren Öffnen der Checkliste wird dieser Wert nur geladen, aber nicht neu ausgewertet!
Wenn eine Checkliste gespeichert wird, speichert das System nur die Werte von Eingabefeldern wie Datum, Text, Optionsfeld usw. Alle weiteren Eigenschaften, wie ist schreibgeschützt, ist ausgeblendet, title etc. werden nicht gespeichert, sondern beim Laden der Checkliste ausgewertet. Damit werden die Typen von Skripten aufgeteilt in
- Skripte mit Wert (d.h. Skripte, die einen Feld- Wert setzen, der tatsächlich gespeichert wird)
- transiente Skripte (d. h. Skripte, die jedes Mal neu ausgewertet werden)