Qualificatifs de référence

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 7 minutes de lecture
  • Utilisez des qualificatifs de référence pour filtrer les données renvoyées pour un champ de référence.

    Un champ de référence stocke un lien (référence) vers un champ d’une autre table, rendant les enregistrements/champs de la table référencée disponibles pour le formulaire contenant le champ de référence.

    Par exemple, le champ Assigned to (Affecté à ) de la table Incident est une référence à la table User (Utilisateur) [sys_user]. Par défaut, toutes les valeurs du champ en cours de référencement apparaissent dans la recherche de référence et sont directement accessibles via le champ de référence (saisie automatique). En reprenant l’exemple précédent, si un qualificatif de référence n’est pas défini, tous les utilisateurs de la table Utilisateur apparaissent dans la recherche de référence. Y compris les utilisateurs inactifs. Parfois, cela peut être la fonctionnalité souhaitée. Dans d’autres cas, cependant, seul un sous-ensemble des valeurs disponibles peut être souhaité. Dans ce cas, créez un qualificatif de référence pour filtrer les données disponibles afin que seules les valeurs souhaitées soient renvoyées et mises à disposition du formulaire. Par exemple, uniquement les utilisateurs actifs ou les utilisateurs qui ont un rôle spécifique. Les qualificatifs de référence sont robustes et peuvent consister en des conditions AND/OR simples, du JavaScript en ligne ou un include de script complexe.

    Vous pouvez modifier le qualificatif de référence d’une table, ainsi que toute table basée sur cette table (parente ou étendue), en définissant un qualificatif de référence via le formulaire Entrée de dictionnaire . Vous pouvez également modifier le qualificatif de référence uniquement sur une table étendue et ses enfants (pas la table parente), via un contournement de dictionnaire. Vous ne pouvez définir qu’un seul qualificatif de référence par champ, par formulaire/table. Les qualificatifs de référence ne sont pas applicables aux créateurs de conditions. Pour plus d’informations sur l’utilisation du filtrage dans les créateurs de conditions, voir Créer une option de filtre dynamique.
    Remarque :
    • La création de qualificatifs de référence nécessite une connaissance du modèle de données ServiceNow sous-jacent (tables et champs) et une connaissance des services Web et des scripts.
    • Pour limiter les données auxquelles des utilisateurs spécifiques peuvent accéder, utilisez des ACL et non des qualificatifs de référence.

    Vous pouvez définir un qualificatif de référence à l’aide de l’une des méthodes suivantes.

    Qualificatif de référence simple

    Les qualificatifs de référence simples utilisent des instructions AND/OR (conditions) pour créer des filtres simples. Utilisez des qualificatifs de référence simples lors du filtrage de conditions telles que la présence d’une société active, d’un utilisateur d’un rôle spécifique et/ou d’un appelant dans un fuseau horaire spécifique. Les qualificatifs de référence simples peuvent avoir un maximum de 13 conditions de qualificatif de référence. Pour plus d’informations sur l’utilisation des Créateur de conditions, reportez-vous à la section Condition builder.

    Qualificatifs de références dynamiques

    Les qualificatifs de référence dynamiques vous permettent d’utiliser l’option Créer un filtre dynamique pour exécuter une requête sur un champ de référence afin de filtrer l’ensemble de données renvoyé. Les options de filtre dynamique sont des filtres stockés qui peuvent contenir des chaînes de requête codées, JavaScript ou des includes de script, et peuvent être utilisés dans plusieurs qualificatifs de référence dynamiques. Les modifications apportées à une option de filtre dynamique s’appliquent automatiquement à tous les qualificatifs de référence qui utilisent la même option de filtre dynamique. Utilisez ce type de qualificatif de référence lorsque vous souhaitez utiliser le même filtre sur plusieurs formulaires ou fournir une fonctionnalité de filtre aux implémenteurs « non avertis en code ».

    L’instance de base fournit plusieurs options de filtre dynamique OOB. S’il n’existe aucune option de filtre dynamique répondant à vos besoins, vous pouvez créer une option de filtre dynamique spécifique à vos besoins. Un exemple d’option de filtre dynamique OOB est le qualificatif de référence sur le champ ID de modèle d’un formulaire d’élément de configuration, tel que le formulaire Ordinateur. Le qualificatif de référence appelle l’option de filtre dynamique Qualificateur de modèle CI , qui à son tour appelle l’include de script ModelAndCategoryFilters . Cet include de script filtre l’ensemble de données en fonction de la classe du CI. Les seules options pour l’ID de modèle sont celles qui appartiennent à la même classe que le CI actuel. Par exemple, seuls les CI appartenant à la classe Computer (Ordinateur) sont disponibles dans le champ Model ID (ID de modèle ) du formulaire Computer (Ordinateur).

    Pour localiser les options de filtre dynamique disponibles, accédez à Définition du systèmeOptions de filtre dynamique. Dans le coin droit de la liste Options de filtre dynamique, cliquez sur l’icône de filtre et créez la condition de filtre Disponible pour la qualif. de référence est vrai. Toutes les options de filtre dynamique qui peuvent être utilisées dans les qualificatifs de référence dynamiques apparaissent.

    Qualificatif de référence avancé

    Les qualificatifs de référence avancés vous permettent de définir une chaîne de requête codée en ligne ou un filtre JavaScript (code réel ou nom d’un include de script ou d’une règle métier existant) directement dans le champ Qualificatif de référence du qualificatif de référence. Comme pour les autres types de qualificatif de référence, lorsque le formulaire se charge, le filtre est exécuté et seuls les enregistrements qui correspondent au filtre s’affichent dans le champ de référence. Utilisez ce type de qualificatif de référence pour les implémentations qui nécessitent uniquement un filtre simple et unique, qui ne peuvent pas être gérés par un simple qualificatif de référence et qui ne sont pas utilisés dans plusieurs champs de référence.
    Remarque :
    Il est recommandé d’effectuer des appels JavaScript vers des fonctions dans un include de script au lieu d’une règle métier globale.

    Un exemple de chaîne de requête codée est vendor=true, qui renvoie toutes les sociétés désignées comme fournisseurs. La saisie de cette chaîne est identique à l’utilisation du générateur de conditions, comme illustré dans l’exemple du qualificatif de référence simple. Pour plus d’informations sur la syntaxe et les exemples de chaînes de requête codées valides, consultez Chaînes de requête codées.

    Un exemple d’appel JavaScript est javascript :new myScriptInclude().my_refqual(). Ce code appelle la fonction my_refqual() dans l’include de script myScriptInclude(). La fonction doit renvoyer une chaîne de requête permettant de filtrer les options disponibles sur un champ de référence.
    Remarque :
    Vous pouvez également utiliser des filtres JavaScript codés tels que javascript :'u_active=true^' + « u_hr_service="+current.hr_service dans les qualificatifs de référence.
    Dans un autre exemple, si vous essayez de filtrer en fonction de l’entreprise actuelle, vous n’avez pas besoin d’utiliser de script de recherche, mais vous pouvez simplement ajouter cette ligne à votre qualificatif dynamique :
    return "company=" + current.company;
    Vous pouvez également simplifier cela et utiliser un qualificatif de référence avancé au lieu d’un qualificatif dynamique :
    javascript:"company=" + current.company

    Pour obtenir un exemple supplémentaire, lors de la configuration du champ de référence pour afficher uniquement les utilisateurs d’un groupe spécifique, consultez l’article Comment sélectionner uniquement les utilisateurs d’un groupe spécifique dans un champ de référence [KB0831564] de la Now Support base de connaissances

    .

    Listes connexes et qualificatifs de référence

    Lorsqu’un champ apparaît sur plusieurs listes connexes sur une seule vue de formulaire, il peut être nécessaire de valider quelle liste connexe est référencée pour construire correctement le qualificatif de référence pour le champ. Dans ce cas, configurez le contrôle de liste pour la liste connexe et saisissez une balise unique dans le champ Balise de modification de liste. Cette valeur de balise est disponible pour filtrer les scripts sous la forme d’une variable nommée listEditRefQualTag. Le code d’inclusion de script suivant est un exemple de fonction qui utilise ce type de balise.
    // Advanced reference qualifier on the CI Relationship Child field that takes into account
    // the related list that we are editing the child field on, if the field is being edited
    // from a tagged related list. 
     
     cmdb_rel_ci_child_refQual:function(){ 
     
      if(listEditRefQualTag =="application") return "sys_class_name = cmdb_ci_appl";
     
      if(listEditRefQualTag =="database") return "sys_class_name = cmdb_ci_database"
     
      }

    Utilisation de la syntaxe actuelle de JavaScript dans les qualificatifs de référence

    actuel est un objet JavaScript qui contient les champs et les valeurs de champ de l’enregistrement actif (actuel). Pour les formulaires, il s’agit de l’enregistrement qui est affiché (chargé) dans le formulaire. Dans les qualificatifs de référence avancés et dynamiques, vous pouvez utiliser l’objet actuel JavaScript pour définir des filtres tels que javascript :"company= » + current.company.

    Ce JavaScript, dans un qualificatif de référence, renvoie uniquement les enregistrements de la table référencée qui sont égaux à la valeur de champ Société de l’enregistrement actuel. Ainsi, si la valeur qui apparaît dans le champ Société est Acme, le JavaScript renvoie tous les enregistrements de champ de référence dont la valeur Société est égale à Acme (entreprise="Acme »). Si vous affichez ensuite un enregistrement dont la valeur d’entreprise est « ViewRite », le JavaScript se résout en company=« ViewRite ».

    Tous les champs du formulaire actuellement chargé (tables) peuvent être utilisés avec l’objet actuel . Utilisez la remontée pas à pas pour accéder aux valeurs d’une table, y compris la table référencée. Par exemple, sur le formulaire d’incident, le champ Affecté à fait référence à la table Utilisateur. Pour accéder à l’adresse e-mail de l’utilisateur, utilisez la syntaxe suivante : javascript :"emailAddress= » + current.assigned_to.email.