Dynamische Variablenunterstützung in Datensatzbildschirmen
Verwenden Sie das Feld „Skript-Bildschirm“ in Datensatzbildschirmen, um dynamische Feldwerte anzuzeigen. Das Skript wird ausgeführt, um den Feldwert zu bestimmen, bevor er in Ihrem Formular angezeigt wird. Der vom Skript zurückgegebene Wert ersetzt den Datenbankwert nicht. Sie können beispielsweise übersetzte Inhalte für dynamische Variablen in einer E-Mail anzeigen.
Anwendungsfall
Mitarbeiter können ihre HR-Fälle und -Aufgaben auf Mobilgeräten in ihrer bevorzugten Sprache anzeigen, auch wenn Beschreibungen personalisierte Informationen aus anderen Feldern enthalten. Mithilfe des Felds „Skriptbildschirm“ in Datensatzbildschirmen können Sie diese übersetzten dynamischen Werte in der mobilen App anzeigen. Dies bietet Mitarbeitern die Möglichkeit, genaue Übersetzungen ihrer HR-Fälle anzuzeigen, auch wenn die Beschreibungen personalisierte Informationen enthalten.
Elemente, die bei Verwendung der dynamischen Variablenunterstützung zu beachten sind
- In Typ Feld auswählen Skript .
- In Formularfeld Feld: Wählen Sie ein Feld aus, das die dynamische Variable enthält, die Sie verwenden möchten.
Arbeiten mit dem Feld „Ausführungsskript“
Verwenden Sie das folgende Skriptformat, um Werte für die Anzeige in der mobilen App zurückzugeben. Das Skript muss ein JSON-Objekt mit zwei erforderlichen Eigenschaften zurückgeben. Typ Definiert das Inhaltsformat (im Beispiel HTML ), und Wert Enthält den tatsächlich anzuzeigenden Inhalt (im Beispiel Hallo ).
var json = {
‘Type’: ‘HTML’,
‘Value’: “<p>Hello! </p>”
}
- Das Skript muss die Eigenschaften enthalten
TypUndWert - Die Eigenschaft Typ kann die folgenden Optionen verwenden: Automatisch, Text, Prozentsatz, Datum und HTML.
- Die
TypIn JSON muss mit dem im Feld ausgewählten Typ identisch sein. - Datumswerte müssen folgendes Format verwenden: jjjj-MM-tt HH:mm:ss
Beispiele
- Beispiel 1: Personalisierte Fallbeschreibungen werden angezeigt
- Betrachten Sie ein HR-Fallbeschreibungsfeld, das eine Variable enthält, die auf den Vornamen des zugewiesenen Anwenders verweist:
'Hi {current.assigned_to.first_name}, Unable to access the personal details section in payroll portal.'Das nachfolgende Skript extrahiert die Variable, ruft den tatsächlichen Feldwert ab und gibt eine personalisierte Beschreibung zurück:
Das Skript gibt den aktualisierten Text zurück, dessen Typ auf „Text“ festgelegt ist. Legen Sie für HTML-Inhalte den Typ auf „HTML“ fest.'Hi Beth, Unable to access the personal details section in payroll portal.'(function generateScreenField(current) { //Type appropriate comment here, and begin script below var description = current.description; var regex = /\$\{(.*?)\}/; var match = description.match(regex); var fieldName = match[1]; var element = current.getElement(fieldName); var fieldValue = element.getValue(); var updatedDescription = description.replace(regex, fieldValue); var json = { 'Type': 'Text', 'Value': updatedDescription }; return json; })(current); - Beispiel 2: Berechnung der verstrichenen Zeit als Prozentsatz
- Das Skript berechnet den Prozentsatz der Zeit, die zwischen Start- und Enddaten verstrichen ist, und zeigt sie in einem Prozentfeld auf dem Detailbildschirm an.Hinweis:Der Prozentwert wird mit einem numerischen Wert und ohne das %-Symbol zurückgegeben. Das Symbol wird durch die Feldformatierung behandelt.
(function generateScreenField(current) { //Type appropriate comment here, and begin script below //Logic to calculate percentage of time elapsed between start and end dates //Return percentage without % symbol var json = { 'Type': 'Percentage', 'Value': timeElapsedPercent }; return json; })(current); - Beispiel 3: Dynamische Berechnung von Datumswerten
- Dieses Skript berechnet ein Datum und zeigt es in einem Datumsfeld an. Das Skript wird ausgeführt, wenn das Feld in der mobilen App angezeigt wird, berechnet das Datum basierend auf Ihrer Logik und gibt es im richtigen Format zurück.Datumsformatanforderungen:
- Nur Datum: jjjj-MM-tt (Beispiel: 2025-01-29)
- Datum mit Uhrzeit: jjjj-MM-tt HH:mm:ss (Beispiel: 2025-01-29 14:30:00)
(function generateScreenField(current) { //Type appropriate comment here, and begin script below //Logic to calculate value of the Date field //Return Date in the following format: yyyy-MM-dd (without Time) var json = { 'Type': 'Date', 'Value': calculatedDate }; (or) //Return DateTime in the following format: yyyy-MM-dd HH:mm:ss (with time) var json = { 'Type': 'DateTime', 'Value': calculatedDate }; return json; })(current);