Modèles scriptés
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 objet GlideRecord
Pour appliquer le modèle à un enregistrement autre que 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 montre une personnalisation possible de l’action d’interface Create Change utilisateur sur le formulaire de problème. Après avoir 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);
Écrire un script pour un modèle avec des modèles enfants
Lors de l’utilisation de 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 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. Il affecte cet enregistrement en tant que 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)