Prise en charge des variables dynamiques dans les écrans d’enregistrement
Utilisez le champ d’écran de script dans les écrans d’enregistrement pour afficher des valeurs de champ dynamiques. Le script s’exécute pour déterminer la valeur du champ avant qu’elle ne s’affiche dans votre formulaire. La valeur renvoyée par le script ne remplace pas la valeur de la base de données. Par exemple, vous pouvez afficher du contenu traduit pour les variables dynamiques dans un e-mail.
Cas d'utilisation
Les employés peuvent afficher leurs tickets et tâches RH dans la langue de leur choix sur les équipements mobiles, même si les descriptions incluent des informations personnalisées provenant d’autres champs. À l’aide du champ d’écran de script des écrans d’enregistrement, vous pouvez afficher ces valeurs dynamiques traduites dans l’application mobile. Cela permet aux employés de voir des traductions précises de leurs tickets RH, même lorsque les descriptions contiennent des informations personnalisées.
Éléments à noter lors de l’utilisation de la prise en charge des variables dynamiques
- Dans le champ Type , sélectionnez Script.
- Dans le champ Formulaire , sélectionnez un champ qui contient la variable dynamique que vous souhaitez utiliser.
Utilisation du champ Script d’exécution
Utilisez le format de script suivant pour renvoyer les valeurs à afficher sur l’application mobile. Le script doit renvoyer un objet JSON avec deux propriétés requises. Type définit le format du contenu (dans l’exemple c’est HTML) et Valeur contient le contenu réel à afficher (dans l’exemple c’est Hello).
var json = {
‘Type’: ‘HTML’,
‘Value’: “<p>Hello! </p>”
}
- Le script doit contenir les propriétés
TypeetValeur - La propriété Type peut utiliser les options suivantes : Auto, Text, Percentage, Date et HTML.
- Le
typedans le JSON doit être le même que le type sélectionné dans le champ. - Les valeurs de date doivent utiliser ce format : aaaa-MM-jj HH :mm :ss
Exemples
- Exemple 1 : affichage de descriptions de tickets personnalisées
- Considérez un champ de description de ticket RH contenant une variable qui fait référence au prénom de l’utilisateur affecté :
'Hi {current.assigned_to.first_name}, Unable to access the personal details section in payroll portal.'Le script extrait ensuite la variable, récupère la valeur de champ réelle et renvoie une description personnalisée :
Le script renvoie le texte mis à jour avec le type défini sur « Texte ». Pour le contenu HTML, définissez le type sur « HTML ».'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); - Exemple 2 : Calcul du temps écoulé en pourcentage
- Le script calcule le pourcentage de temps écoulé entre les dates de début et de fin et l’affiche dans un champ de pourcentage de l’écran de détails.Remarque :La valeur de pourcentage est retournée avec une valeur numérique et sans le symbole %. Le symbole est géré par la mise en forme du champ.
(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); - Exemple 3 : Calcul dynamique des valeurs de date
- Ce script calcule une date et l’affiche dans un champ de date. Le script s’exécute lorsque le champ apparaît sur l’application mobile, calcule la date en fonction de votre logique et la renvoie au format correct.Exigences de format de date :
- Date uniquement : aaaa-MM-jj (exemple : 2025-01-29)
- Date avec heure : aaaa-MM-jj HH :mm :ss (exemple : 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);