Affectation des plans d’exécution pouvant contenir des scripts

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 3 minutes de lecture
  • Chaque élément de catalogue a un plan d’exécution associé, utilisé chaque fois qu’un élément de ce type est commandé ; Si aucun plan n’est spécifié, le plan par défaut est utilisé. Cette valeur par défaut s’applique à la plupart des organisations, mais votre plan d’exécution peut devoir varier en fonction de critères supplémentaires.

    Par exemple, dans le catalogue de services du système de base, une demande pour un nouveau PC utilise toujours le plan de livraison de PC. Toutefois, ce plan peut devoir varier en cas de circonstances inhabituelles, par exemple lorsqu’un demandeur travaille à domicile, dans un emplacement distant.

    Pour offrir cette flexibilité, vous pouvez utiliser un script pour remplacer le plan d’exécution par défaut sur un élément de catalogue spécifique.

    Limitations lors de l’exécution du script

    Les scripts de plan d’exécution ont des limites qui doivent être prises en compte lors de leur implémentation.

    Pendant l’exécution du script de plan d’exécution :

    • Vous ne pouvez pas interagir avec des tâches du catalogue, car les tâches du catalogue ne sont créées qu’une fois le plan d’exécution sélectionné.
    • Certains champs tels que le délai total de livraison et la date d’échéance ne sont pas encore calculés, bien que la demande elle-même soit disponible dans le script via current.request().
    • Les approbations n’ont pas encore été générées.

    Rédaction des scripts

    Suivez ces instructions lors de la rédaction de scripts de plan d’exécution.

    Les scripts de plan d’exécution peuvent accéder aux mêmes variables globales et aux mêmes fonctions que dans n’importe quel autre plan d’exécution côté serveur.

    • actuel est l’élément de catalogue actuellement demandé, sc_req_item.
    • current.delivery_plan() est le plan d’exécution affecté pour cet élément de catalogue.

    La valeur évaluée du script est utilisée comme sys_id du plan d’exécution.

    Exemple simple :

    current.delivery_plan.setDisplayValue('PC Delivery Plan')

    Si une valeur non valide est renvoyée, par exemple non définie ou introuvable, la valeur affectée existante est utilisée.

    Exemple plus complexe :

    getexecutionplan();
    function getexecutionplan() {
    var location = current.request.requested_for.location.getDisplayValue();
    // if we're in Atlanta
    if (location == 'Atlanta') {
       // use the remote pc delivery plan instead of the normal one
       var remote_plan = new GlideRecord('sc_cat_item_delivery_plan');
       remote_plan.addQuery('name', 'Remote PC Delivery Plan');
       remote_plan.query();
       remote_plan.next();
       current.delivery_plan = remote_plan.sys_id;
       return remote_plan_sys_id;
       } 
       return current_delivery_plan;
    }

    Dans cet exemple, chaque fois qu’une demande concerne un utilisateur à Atlanta, ServiceNow utilise le plan de livraison de PC distant. Dans le cas contraire, le plan d’exécution n’est pas remplacé et ServiceNow utilise le plan d’exécution normal de l’élément de catalogue, le plan de livraison PC.

    Ajouter un script à un élément de catalogue

    Vous pouvez ajouter un script à un élément de catalogue afin que le script s’exécute chaque fois qu’un utilisateur demande cet élément.

    Avant de commencer

    Rôle requis : admin

    Procédure

    1. Accédez à la Tous > Catalogue de services > Gérer les éléments.
    2. Sélectionnez l’élément de catalogue pertinent auquel vous souhaitez ajouter le script.
    3. Configurez le formulaire d’élément de catalogue pour ajouter le champ de script de plan d’exécution, souvent nommé Script de plan de livraison.
    4. Renseignez les détails du script.
    5. Mettez à jour le formulaire de l’élément avec vos changements.

    Résultats

    Le script s’exécute chaque fois que cet élément est demandé, en sélectionnant le plan d’exécution à exécuter avec cet élément.

    Utiliser un script pour approuver un plan d’exécution

    Vous pouvez utiliser un script de règle d’approbation pour approuver un plan d’exécution.

    Avant de commencer

    Rôle requis : admin

    Procédure

    1. Dans le navigateur de filtre, saisissez sc_cat_item_dt_approval.list pour récupérer une tâche de plan d’exécution d’approbation.
    2. Dans le menu contextuel du formulaire, sélectionnez Vue > Plan.
    3. Dans le champ Script d’approbation, saisissez un script d’approbation utilisant la même syntaxe et les mêmes règles que vous utiliseriez pour une règle d’approbation.

    Script spécifiant l’approbateur

    Dans cet exemple, le gestionnaire du demandeur est l’approbateur.
    (function manager_as_approver () {
    var request = current.request_item.request;
    var rc = request.requested_for.manager;
    return rc;
    })();