Cas d’utilisation de scripts de planification

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 2 minutes de lecture
  • Un script de règle métier spécifie les actions entreprises par la règle métier. Les scripts incluent généralement des variables globales prédéfinies pour référencer des éléments dans votre système, tels que l’enregistrement actuel. Les variables globales sont disponibles pour toutes les règles métier.

    Avertissement :
    La personnalisation décrite ici a été développée pour une utilisation dans des instances spécifiques, et n'est pas prise en charge par Now Support. Cette méthode est fournie telle quelle et doit être testée rigoureusement avant d'être implémentée. Publiez toutes les questions et commentaires concernant cette personnalisation dans notre forum communautaire.

    Calculer la durée selon une planification

    Type : avant règle métier Mettre à jour/Insérer.

    Description : une durée d’activité calcule la durée d’ouverture à fermeture d’un incident en fonction des éléments particuliers de création et d’utilisation de calendriers. Si aucun calendrier n’est spécifié, le script utilisera simplement le premier calendrier renvoyé par la requête.

    Exemple de script :

    L’exemple ci-dessous définit la durée de résolution lorsque l’état de l’incident passe à résolu.
    var gr_rec = new GlideRecord('incident');
    gr_rec.get('ed92e8d173d023002728660c4cf6a7bc');
    if (gr_rec.incident_state == 6) {
    var dur = calcDurationSchedule(gr_rec.opened_at, gr_rec.sys_updated_on);
    }
     
    function calcDurationSchedule(start, end){ 
      // Get the user   
      var usr = new GlideRecord('sys_user');
      usr.get(gs.getUserID());
      // Create schedule - pass in the sys_id of your standard work day schedule and pass in the users timezone
      var sched = new GlideSchedule('08fcd0830a0a0b2600079f56b1adb9ae',usr.time_zone);
      // Get duration based on schedule/timezone 
      return(sched.duration(start.getGlideObject(), end.getGlideObject()));
    }

    Vérifier les dates d’arrêt à venir

    Type : script planifié.

    Description : ce script vérifie tous les soirs les dates de résiliation des contrats à venir dans 90, 50 ou 10 jours (selon le champ de durée du contrat).

    Exemple de script :

    function contractNoticeDue(){
      var now_GR = new GlideRecord("contract");
      now_GR.addQuery("u_contract_status","Active");
      now_GR.query();
      while(now_GR.next()){
        if((now_GR.u_termination_date<= gs.daysAgo(-90))&&(now_GR.u_contract_duration=="Long")){
          now_GR.u_contract_status="In review";}
        elseif((now_GR.u_termination_date<= gs.daysAgo(-50))&&(now_GR.u_contract_duration=="Medium")){
          now_GR.u_contract_status="In review";}
        elseif((now_GR.u_termination_date <= gs.daysAgo(-10))&&(now_GR.u_contract_duration=="Short")){
          now_GR.u_contract_status="In review";}
        now_GR.update();
      }
    }
    Utilisez des scripts dans les règles métier pour accomplir des tâches courantes telles que :
    • Comparaison de deux champs de date.
    • Analyse des charges utiles XML.
    • Abandon d’une action de base de données dans une règle métier.
    Avec les scripts, vous pouvez également :
    • Indiquez l’opération qui déclenche la règle métier.
    • Utilisez le bloc-notes avec les règles métier d’affichage pour modifier les valeurs d’un formulaire juste avant qu’un utilisateur ne charge le formulaire.
    • Utilisez la condition OU comme vous le feriez dans un générateur de conditions.

    Vous pouvez également utiliser la fonctionnalité de script du système disponible pour les scripts côté serveur.

    Vous pouvez utiliser les options du formulaire Règles métier pour créer des conditions, définir des valeurs de champ et afficher des messages d’alerte sans avoir besoin d’écrire un script.