Modèles de script
Vous pouvez appliquer un modèle actif à un enregistrement à l’aide de JavaScript.
Appliquer un modèle à l’actuel
Pour appliquer un modèle, utilisez la méthode applyTemplate .current.applyTemplate("<templatename>");
Appliquer un modèle à un GlideRecord
Pour appliquer le modèle à un enregistrement autre qu’actuel, remplacez actuel par une variable GlideRecord. Lorsque vous utilisez une variable GlideRecord, vous devrez peut-être l’initialiser après avoir déclaré la variable.
var rec1 = new GlideRecord("incident");
rec1.initialize();
rec1.applyTemplate("my_incident_template");
Appliquer un modèle à partir d’une action d’interface utilisateur
Le script suivant illustre une personnalisation possible de l’action Create Change d’interface utilisateur sur le formulaire Problème. Une fois que vous avez ajouté ce script à l’action d’interface utilisateur, un utilisateur peut sélectionner l’action d’interface utilisateur pour créer un enregistrement de changement avec des informations provenant à la fois de l’enregistrement de problème et du modèle de changement.var change = new GlideRecord("change_request");
change.initialize();
change.short_description = current.short_description;
change.description = current.u_details;
change.cmdb_ci = current.u_service;
change.priority = current.priority;
change.requested_by = current.caller_id;
change.assignment_group.setDisplayValue('Change & Release');
change.u_status = 'New';
change.parent = current.number;
if(0 == change.applyTemplate("standard_rfc")) {
current.rfc = change.insert();
current.comments = 'Change ' + change.number + ' created.';
}
var mySysID = current.update();
gs.addInfoMessage("Change " + change.number + " created");
action.setRedirectURL(change);
action.setReturnURL(current);
Scripter un modèle avec des modèles enfants
Lors de l’utilisation d’applyTemplate avec un modèle qui a un ou plusieurs modèles enfants, le système crée l’enregistrement parent avant d’appliquer les modèles enfants. Ce comportement garantit que toutes les références ou tous les champs de remontée pas à pas de l’enregistrement enfant vers le parent ont une cible valide.
Par exemple, si un modèle de la table Demande de changement a un modèle enfant pour la table Tâche de changement, l’application du modèle de demande de changement insère un enregistrement de demande de changement dans la base de données. Cela affecte cet enregistrement comme demande de changement pour l’enregistrement de tâche de changement, puis applique le modèle enfant à l’enregistrement de tâche de changement.
Appliquer un modèle à l’aide d’un sys_id au lieu d’un nom
GlideTemplate.get(template.sys_id).apply(GlideRecord)