Filtres JavaScript dynamiques

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 6 minutes de lecture
  • Créez des conditions dynamiques dans JavaScript que vous pouvez configurer dans le cadre des critères d’une visualisation de rapport au lieu de valeurs spécifiées.

    Pour créer un rapport à l’aide d’une instruction conditionnelle dynamique, vous placez une URL JavaScript dans l’instruction de valeur conditionnelle du filtre. Vous pouvez entrer une commande JavaScript directement dans le champ, mais pour un script plus long qu’une instruction, le script doit être placé dans son propre enregistrement. Vous appelez ensuite une fonction à partir de cet enregistrement dans le champ de valeur de la condition de rapport.

    Ajouter un filtre JavaScript dynamique

    Ajoutez une instruction JavaScript dynamique pour l’évaluation dans le cadre des critères de filtre d’une visualisation de rapport.

    Avant de commencer

    Rôle requis : itil, report_user, report_group, report_global, report_admin ou admin. Pour créer un rapport significatif, vous devez avoir le droit d’accéder aux données sur lesquelles vous souhaitez créer un rapport.

    Pourquoi et quand exécuter cette tâche

    Les filtres JavaScript peuvent être des instructions sur ligne unique ou des scripts plus longs. Pour les instructions JavaScript plus longues, créez un include de script qui renvoie le format et le type de données corrects, qui est conforme aux données spécifiques que le rapport doit filtrer et qui peut être appelé par le client. Pour plus d’informations, consultez Includes de script.

    Procédure

    1. Accédez à la Tout > Rapports > Afficher/Exécuter.
    2. Ouvrez la visualisation de rapport à laquelle vous souhaitez ajouter le filtre dynamique.
    3. Sélectionnez l’icône de filtre () pour développer le générateur de conditions.
    4. Construisez votre condition de filtre.
      Ces combinaisons de types de champs et d’opérateurs vous permettent de spécifier une instruction JavaScript dynamique.
      Remarque :
      • L’opérateur « entre » fournit deux champs qui peuvent prendre en charge des URL JavaScript identiques ou différentes.
      • L’opérateur « is » peut renvoyer un tableau d’éléments de données du type attendu. Dans ce cas, l’opérateur est traité comme l’opérateur « est l’un des ».
      Type de champ Opérateurs autorisés Type de données de retour attendu
      ID système (GUID) « est », « n’est pas », « est l’un des », « commence par », « se termine par », « contient », « ne contient pas », « entre », « supérieur ou égal à », « inférieur ou égal à ». Représentation textuelle d’une valeur sys_id complète ou partielle.

      Pour l’opérateur « est l’un des », le type de retour attendu serait soit une liste de sys_id valeurs séparées par des virgules, soit un tableau contenant chaque sys_id à inclure dans les résultats.

      Chaîne de texte libre « est », « n’est pas », « est l’un des », « commence par », « se termine par », « contient », « ne contient pas », « entre », « supérieur ou égal à », « inférieur ou égal à » Un ou plusieurs caractères textuels. Pour l’opérateur « est l’un des », le résultat attendu serait soit une liste de valeurs de chaîne séparées par des virgules, soit un tableau contenant chacune des valeurs à inclure dans le champ de valeur de recherche « est l’un des ».
      Référence « commence par », « se termine par », « contient », « ne contient pas » Un ou plusieurs caractères textuels qui peuvent représenter une valeur ou une partie d’une valeur trouvée dans ce champ dans la table ou la source de données.
      Chaîne (faisant référence à une autre table) « contient », « commence par », « se termine par », « ne contient pas » Un ou plusieurs caractères textuels qui peuvent représenter une valeur ou une partie d’une valeur trouvée dans ce champ dans la table ou la source de données.
      Entrée de l'utilisateur « est », « n’est pas » Caractères textuels qui pourraient représenter la valeur totale d’un enregistrement de ce champ dans la table ou la source de données.
      Nom de la table « est », « n’est pas », « est l’un des », « commence par », « se termine par », « contient », « ne contient pas », « entre », « supérieur ou égal à », « inférieur ou égal à » Représentation textuelle d’un nom de table complet ou partiel dans le système. Pour l’opérateur « est l’un des », le type de retour attendu serait soit une liste de valeurs de nom de table séparées par des virgules, soit un tableau contenant chaque nom de table à inclure dans les résultats.
      Valeur de modèle « est », « n’est pas » Caractères textuels qui rempliront la valeur selon un modèle trouvé sur l’instance.
      ID de domaine « commence par », « se termine par », « contient », « ne contient pas » Un ou plusieurs caractères textuels qui peuvent représenter une valeur ou une partie d’une valeur trouvée dans le champ de domaine de la table ou de la source de données.
      Rôles d'utilisateur « est », « n’est pas » Représentation textuelle d’une valeur de chaîne de rôle d’utilisateur.
      Chemin de domaine « commence par », « se termine par », « contient », « ne contient pas », « est », « n’est pas », « est l’un des », « inférieur ou égal à », « supérieur ou égal à », « entre » Un ou plusieurs caractères textuels qui peuvent représenter une valeur ou une partie d’une valeur trouvée dans ce champ dans la table ou la source de données. Pour l’opérateur « est l’un des », il s’agit soit d’une liste de valeurs textuelles séparées par des virgules, soit d’un tableau d’objets contenant chaque valeur à inclure.
      Texte traduit « est », « n’est pas », « est l’un des », « commence par », « se termine par », « contient », « ne contient pas », « entre », « supérieur ou égal à », « inférieur ou égal à » Valeur textuelle.

      Pour l’opérateur « est l’un des », le type de retour attendu serait soit une liste de valeurs textuelles séparées par des virgules, soit un tableau de valeurs textuelles.

      Champ traduit
      HTML « contient », « ne contient pas » Valeur textuelle qui peut correspondre aux données du champ sélectionné dans ces critères de rapport.
      Modèle HTML
      Envoyer par e-mail le script « contient », « ne contient pas » Valeur textuelle représentant une valeur qui doit (ou ne doit pas) être dans le champ Script d’e-mail.
      Script (brut) « contient », « ne contient pas » Valeur textuelle représentant une valeur qui doit (ou ne doit pas) être dans le champ Script.
      Script (côté serveur)
      Script
      Nom de table court « est », « n’est pas » Valeur textuelle (moins de 40 caractères).

      Pour l’opérateur « est l’un des », le type de retour attendu est soit une liste de valeurs textuelles séparées par des virgules, soit un tableau contenant chaque caractère textuel qui représenterait un nom de table court.

      Nom de champ « est », « n’est pas », « est l’un des », « commence par », « se termine par », « contient », « ne contient pas », « entre », « supérieur ou égal à », « inférieur ou égal à » Représentation textuelle d’une valeur complète ou partielle de nom de champ.

      Pour l’opérateur « est l’un des », le type de retour attendu serait soit une liste de valeurs de nom de champ séparées par des virgules, soit un tableau contenant chaque nom de champ à inclure dans les résultats.

    5. Choisissez un type de champ et un opérateur, puis entrez une instruction JavaScript.
      • Pour une instruction JavaScript d’une ligne, utilisez le format javascript :<JavaScript_Statement> ;.
      • Pour une instruction JavaScript qui appelle un include de script, utilisez le format javascript :new <Record_Name>().<Function_Name>() ; dans lequel Record_Name correspond au nom d’enregistrement du script include et Function_Name est la fonction dans le script include qui renvoie la valeur comparée dans le filtre.
      Remarque :
      L’URL JavaScript peut également inclure un ou plusieurs paramètres passés à la fonction qui effectue le calcul et renvoie un résultat. Par exemple, une fonction JavaScript qui transmet deux paramètres à l’enregistrement de l’include de script peut être écrite sous la forme javascript :new TextJSFilter().getGroupIDs(« Professional Services »,"Sales ») ;.

    Que faire ensuite

    Après avoir ajouté les instructions et conditions JavaScript nécessaires et configuré le reste du rapport, testez le rapport pour vous assurer qu’il renvoie et affiche les résultats attendus.