Qualificatifs de référence
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.
- 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ème → Options 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é
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.
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.javascript :'u_active=true^' + « u_hr_service="+current.hr_service dans les qualificatifs de référence.return "company=" + current.company;javascript:"company=" + current.companyPour 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
// 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.