Chaînes de requêtes codées

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 4 minutes de lecture
  • Une chaîne de requête codée représente un filtre complexe sur une liste d’enregistrements.

    Utilisez des chaînes de requête codées pour inclure un filtre dans le cadre d’un paramètre URL, tel que , Accéder à un enregistrement ou à un module à l’aide d’une URLou comme qualificatif de référence pour restreindre les données sélectionnables pour un champ de référence.

    Pour construire une chaîne de requête codée, générez une requête de liste, puis copiez-la à partir du filtre de liste. Il s’agit de la méthode à privilégier, car l’alternative consiste à créer la chaîne manuellement.

    Pour créer manuellement une chaîne de requête codée, vous devez connaître les noms et opérateurs de table et de champ pertinents.

    Tableau 1. Exemples de chaînes de requêtes codées
    Titre Exemple
    Référence à des valeurs booléennes ou de chaîne Pour créer une chaîne de requête sur les champs booléens, utilisez la syntaxe suivante : field=true ou field=false. Par exemple, pour renvoyer uniquement les enregistrements actifs d’une table, utilisez :
    active=true

    Pour créer une chaîne de requête avec un champ qui a une valeur de chaîne spécifique, utilisez cette syntaxe : field=value. Par exemple, pour renvoyer les enregistrements d’incidents dont la catégorie est réseau, utilisez :

    category=network
    Référence aux champs de référence Pour créer une chaîne de requête qui fait référence à un champ de référence dans une autre table, utilisez la syntaxe suivante : field_in_referenced_table=valeur. Par exemple, pour renvoyer les utilisateurs ayant le rôle itil dans le champ de référence Affecté à du formulaire Incident, utilisez :
    roles=itil
    Référence aux valeurs de la liste de choix Pour créer une chaîne de requête qui fait référence à une option de liste de choix , utilisez la valeur de la liste de choix, et non l’étiquette, avec la syntaxe suivante : champ de liste de choix=valeur. Par exemple, pour renvoyer des éléments de configuration (CI) avec l’état Installé, qui a la valeur 1 dans la liste de choix, utilisez :
    install_status=1

    Reportez-vous à la rubrique Valeurs à associer avec des étiquettes de choix pour le scripting afin de trouver les options de ces valeurs.

    À l’aide de plusieurs conditions Pour utiliser deux conditions jointes par un opérateur ET, utilisez le symbole carat ^ dans cette syntaxe : field1=value1^field2=value2. Par exemple, pour renvoyer tous les utilisateurs actifs avec le rôle « itil », utilisez :
    active=true^roles=itil

    Pour utiliser deux conditions jointes par un opérateur OR, utilisez le symbole carat avec OR avec la syntaxe suivante : field1=value1^ORfield1=value2. Par exemple, pour renvoyer tous les utilisateurs ayant les rôles « itil » ou « admin », utilisez :

    roles=itil^ORroles=admin

    Pour ajouter plusieurs conditions où une condition est une fonction JavaScript, utilisez cette syntaxe : javascript :'field=value^' + function(). La fonction doit retourner une chaîne qui peut être concaténée avec la première chaîne pour produire une chaîne de requête valide. Par exemple, pour renvoyer tous les utilisateurs actifs et répondre aux conditions de la fonction getGroupQualifier(), utilisez :

    javascript:'active=true^' + getGroupQualifier()
    Énumérer les valeurs dans l’ordre Pour trier les données en fonction d’un champ spécifique, utilisez la condition ORDERBY avec la syntaxe suivante : field1=value^ORDERBYfield2.

    Par exemple, pour renvoyer les jours de la semaine dans l’ordre à partir de la table Jour de la semaine [sys_cal_unit], utilisez :

    unit_name=day^ORDERBYvalue

    Dans la table Jour de la semaine, unit_name est le champ qui spécifie le jour, la semaine ou le mois, et la valeur est une valeur numérique pour chaque jour de 1 (lundi) à 7 (dimanche). La chaîne de requête renvoie une liste des jours de la semaine dans l’ordre, de la valeur la plus basse, qui représente le lundi, à la valeur la plus élevée, qui représente le dimanche.

    Remarque :
    Les qualificatifs de référence ne prennent pas en charge la condition ORDERBY. Dans les qualificatifs de référence, vous pouvez trier la liste de recherche de référence à l’aide des contrôles de liste standard. Pour spécifier l’ordre d’une liste de saisie semi-automatique pour un champ de référence, utilisez l’attribut ref_ac_order_by dictionary.
    Inclusion d’une requête de liste connexe À la fin de l’instruction de requête, encadrez les informations de la liste connexe avec ^RLQUERY et ^ENDRLQUERY ainsi que la quantité. Par exemple, dans une requête sur la table Problème qui inclut des problèmes avec au moins un incident associé, utilisez :
    ^RLQUERYincident.problem_id,>=1^ENDRLQUERY

    Vous pouvez également spécifier des conditions sur la table connexe. Par exemple, pour inclure la condition qu’au moins un des incidents associés est une priorité critique, utilisez :

    ^RLQUERYincident.problem_id,>=1^priority=1^ENDRLQUERY
    Remarque :
    Les requêtes de liste connexe doivent être activées dans la liste des propriétés système v3. Cochez la case Autoriser l’ajout des conditions de requête de liste connexe via le filtre pour l’activer.

    Vous pouvez créer une requête de liste connexe pour une liste qui utilise la liste v2, mais les conditions de filtre ne peuvent pas être modifiées tant que vous n’avez pas supprimé la condition de liste connexe dans le fil d’Ariane.

    Inclusion d’une requête de terme de recherche

    Pour inclure un terme de recherche dans une requête, utilisez la variable réservée 123TEXTQUERY321. Par exemple, pour renvoyer des résultats contenant le terme de recherche « e-mail », utilisez cette chaîne de requête codée.

    123TEXTQUERY321=email
    Inclusion d’une requête de groupe d’index de texte

    Pour inclure un groupe d’index de texte dans une requête, utilisez la variable réservée 123TEXTINDEXGROUP321. Par exemple, pour renvoyer des résultats dans le groupe d’index de texte portal_index_group de la table Groupes d’index de texte [ts_index_group], utilisez cette chaîne de requête codée.

    123TEXTINDEXGROUP321=portal_index_group