Cas particuliers dans les calendriers des tâches

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 2 minutes de lecture
  • Certains cas particuliers nécessitent une attention particulière dans la planification des tâches.

    Calendriers de fin de mois

    Étant donné que les mois ont des durées différentes, soyez prudent lorsque vous planifiez des tâches pour la fin du mois.

    • Il n’est pas recommandé de programmer un événement pour le 29 ou le 30, car la tâche planifiée est exécutée dans des mois (comme février) qui sont plus courts que ces dates.
    • Si un événement est planifié pour le 31, il s’exécute le dernier jour du mois, même si le mois est plus court.

    Par exemple, un élément planifié pour s’exécuter le 31 du mois est exécuté le 28 février ou le 29 février d’une année bissextile.

    Calendriers des jours de la semaine

    Pour les scripts planifiés, utilisez le script suivant à exécuter uniquement les jours de la semaine :

    Avertissement :
    Les scripts conditionnels pour les e-mails de rapport planifié sont exécutés dans le bac à sable. Par conséquent, les définitions de fonctions ne sont pas autorisées. Certains appels API et mots clés ne sont pas non plus autorisés.
    
    var isWeekday;
    var today = new Date();
    var dayOfWeek = today.getDay(); // Get day of the week(0 = Sunday, 1 = Monday, ... , 6 = Saturday)
    switch (dayOfWeek) {
    case 0: // Sunday
    case 6: // Saturday
    isWeekday = false;
    break;
    default:
    isWeekday = true;
    }
    answer=isWeekday;

    Si le script conditionnel d’un rapport planifié est plus complexe et que vous devez utiliser nos classes Glide, veuillez utiliser les étapes suivantes comme solution de contournement :

    1. Créez une tâche planifiée et exécutez toute la logique conditionnelle du rapport planifié à l’intérieur de la tâche planifiée.
    2. Si toute la logique conditionnelle est satisfaite, vous pouvez déclencher le rapport planifié avec le script suivant à l’intérieur du travail planifié.
      var schRpGr = new GlideRecord("sysauto_report");
      schRpGr.get("<sys_id of the scheduled report>");
      gs.executeNow(schRpGr);

    Travaux planifiés à partir des scripts

    Pour exécuter une tâche planifiée déclenchée par un événement, utilisez le script suivant :

    //Execute a scheduled script job
    var rec = new GlideRecord('sysauto_script');
    rec.get('name', 'YOUR_JOB_NAME_HERE');
    SncTriggerSynchronizer.executeNow(rec);
    Vous pouvez exécuter le script à l’aide de l’une des tables suivantes :
    • scheduled_import_set (ensembles d’importations planifiées)
    • sysauto_script (exécution de script planifiée)
    • sysauto_template (génération de modèle planifiée)
    • sysauto_report (rapport planifié)
    Remarque :
    SncTriggerSynchronizer ne fournit pas de méthodes pour exécuter les travaux planifiés à l’avenir.

    Exécution de scripts planifiés et travaux importés d’une autre instance

    Les exécutions de script planifiées et les travaux planifiés sont classés comme des enregistrements de données dans le ServiceNow AI Platform, ce qui signifie qu’ils sont exclus des ensembles de mises à jour. Pour déterminer si une table est incluse, accédez à Tous > Définition du système > Dictionnaire et afficher la valeur Attribute de la table en question. Seules les tables avec l’attribut update_sync=true sont incluses dans les ensembles de mises à jour.

    Vous pouvez éventuellement exporter et importer des enregistrements de données via XML. Toutefois, pour éviter des changements de données inattendus, les enregistrements d’éléments de calendrier [sys_trigger] ne sont pas créés pour les enregistrements de données importés à partir d’un fichier XML tel qu’un ensemble de mises à jour. Pour exécuter des travaux planifiés ou des scripts importés d’une autre instance, mettez à jour la tâche correspondante ou l’enregistrement de script dans l’instance cible.