Vous pouvez ajouter des règles métier personnalisées à vos SLA.

Avant de commencer

Rôle requis : admin

Procédure

Sélectionnez une des méthodes suivantes pour ajouter des règles métier personnalisées.
OptionDescription
Utiliser setWorkflow(false) Avant de mettre à jour votre tâche, ajoutez un appel à setWorkflow(false) sur l'objet GlideRecord pour la tâche dans la règle métier qui met à jour la tâche. Cela empêche le traitement des règles métier.
Remarque : l'appel à setWorkflow(false) désactive le traitement de tous les moteurs et la mise à jour n'apparaît pas dans l'historique d'audit de la tâche.
Par exemple, un script qui copie le temps de violation vers un champ personnalisé sur la tâche.
(function(){ 
            if (current.planned_end_time.changes()) { 
               var taskGr = current.task.getRefRecord(); 
               taskGr.u_sla_breach_time = current.planned_end_time; 
               taskGr.setWorkflow(false); 
               taskGr.update(); 
            } )
          ();
Créer un sys_trigger (tâche planifiée) pour mettre à jour la tâche Dans votre règle métier personnalisée, utilisez le champ Script pour générer une tâche planifiée qui mettra à jour la tâche. Pour assurer que la tâche planifiée est en file d'attente pour un traitement immédiat, elle doit être de type Exécuter une seule fois, et avoir comme heure de l'action suivante « Maintenant ».
Remarque : l'include de script ScheduleOnce inclut des fonctions pour spécifier l'enregistrement cible et l'heure d'exécution de la tâche planifiée. Cela vous permet de spécifier le script à exécuter et d'appeler une autre fonction pour créer l'enregistrement approprié dans la table sys_trigger.
Par exemple, un script pour créer une tâche planifiée qui copie le temps de violation du SLA de tâche vers un champ personnalisé de la tâche.
(function(){
            if (current.planned_end_time.changes()) { 
               var scheduleJob = new ScheduleOnce(); 
               scheduleJob.setDocument(t.task.getRefRecord()); 
               scheduleJob.script = 
                   "current.u_sla_breach_time.setValue('" + 
                   current.getValue('planned_end_time') + 
                   "');current.update();"; 
               scheduleJob.schedule(); 
            } 
          )();