Créer des filtres scriptés

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 1 minute de lecture
  • Le Créateur de conditions ne peut pas à lui seul créer certains filtres, tels que l’affichage d’un ensemble d’enregistrements qui dépend d’une table non liée. Si vous connaissez JavaScript, vous pouvez créer des fonctions JavaScript à utiliser dans des filtres avancés.

    Avant de commencer

    Rôle requis : admin

    Procédure

    1. Créez un nouvel include de script.
      1. Accédez à la Tous > Définition du système > Inclusions de script.
      2. Cliquez sur Nouveau.
      3. Remplissez le formulaire, puis sélectionnez Envoyer.
    2. Ouvrez l’include de script et, dans le champ Script , créez une fonction JavaScript qui renvoie un tableau de sys_ids.
      • Assurez-vous que la fonction utilise le même nom que l’include de script.
      • Assurez-vous que l’include de script est actif et que le client peut être appelé.
    3. Appelez la fonction JavaScript à partir du générateur de conditions.
      Pour plus d’informations, consultez Requêtes GlideRecord et includes de script.
      Remarque :
      Les listes groupées avec un include de script dans le filtre peuvent entraîner des lenteurs.

    Exemple

    Une entreprise fournit des soins intensifs à un groupe de clients. Pour suivre ces services, le gestionnaire de service a besoin d’un journal de haut niveau et de liens vers tous les incidents soulevés par les clients.

    L’entreprise crée une application, Intensive Care, et une table, [u_intensive_care]. Bien que la table contienne un champ de référence pour le nom du client, il n’existe aucun lien direct vers la table utilisateur. Ainsi, le gestionnaire ne peut pas configurer un filtre de liste d’incidents à l’aide du générateur de conditions pour les clients qui sont en soins intensifs.

    La solution consiste à écrire une fonction JavaScript qui utilise une requête GlideRecord pour créer un tableau de sys_ids utilisateur dans la table [u_intensive_care], comme illustré dans l’exemple de code ci-dessous. Appelez la fonction à partir du générateur de conditions dans la table Incident ([appelant] [is] [javascript :myFunction()]).
    function myFunction(){ 
        var arrUsers = [];
        var gr = new GlideRecord('u_intensive_care');
        gr.query(); 
        while(gr.next()){
            arrUsers.push(gr.u_customer.toString()); 
        }
        return arrUsers;
    }