Saisie semi-automatique pour les champs de référence

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 9 minutes de lecture
  • Par défaut, un champ de référence se termine automatiquement lorsque l’utilisateur écrit dans le champ.

    Les administrateurs peuvent configurer d’autres options de saisie semi-automatique. Un utilisateur doit disposer d’une autorisation de lecture au niveau de la table sur la table référencée pour la saisie semi-automatique afin d’afficher toutes les options.
    Figure 1. Saisie semi-automatique

    Attributs de dictionnaire pour la saisie semi-automatique des champs de référence

    Il existe des attributs de dictionnaire qui sont spécifiques aux champs de référence et qui déterminent le comportement de saisie semi-automatique.

    Tableau 1. Attributs du dictionnaire de saisie semi-automatique du champ de référence
    Attribut Description
    ref_auto_completer Spécifie le nom de la classe JavaScript côté client qui crée les choix de saisie semi-automatique de liste déroulante. Les valeurs de classe valides comprennent :
    • AJAXReferenceCompleter: affiche les choix de saisie semi-automatique correspondants sous la forme d’une liste de choix déroulante. La liste affiche uniquement la colonne de valeur d’affichage de la table de référence. Les champs de référence utilisent automatiquement cette classe s’il n’y a pas d’autre classe de saisie semi-automatique spécifiée.
    • AJAXTableCompleter: affiche les choix de saisie semi-automatique correspondants sous forme de lignes dans un tableau. La table affiche la colonne de valeur d’affichage de la table de référence et toutes les colonnes répertoriées dans l’attribut ref_ac_columns .
    • AJAXReferenceChoice: affiche les choix de saisie semi-automatique correspondants sous la forme d’une liste de choix déroulante. La liste affiche uniquement la colonne de valeur d’affichage de la table de référence. En outre, la liste n'affiche que jusqu'à 25 choix correspondants. S'il y a plus de 25 choix d'exécution automatique, le champ de référence affiche les choix avec la classe AJAXTableCompleter à la place.
    ref_ac_columns Spécifie la liste des colonnes de table de référence à afficher. Séparez les noms des colonnes par des points-virgules. Par exemple, ref_ac_columns=user_name;email;sys_created_on autorise la saisie semi-automatique pour établir une correspondance avec le texte des colonnes user_name, e-mail et sys_created_on.
    ref_ac_order_by Spécifie la colonne de table de référence qui trie les choix de saisie semi-automatique. Par exemple, ref_ac_order_by=name trie les choix de saisie semi-automatique par ordre alphabétique des noms.

    Fonctionnalités d’interface utilisateur de saisie semi-automatique

    La classe de complétion de table AJAX a un certain nombre d’améliorations de l’interface utilisateur.

    • Le compléteur de table affiche toujours le nombre d’enregistrements que la requête de saisie semi-automatique trouve.
    • Le compléteur de tableau met en surbrillance l’intégralité de la ligne sélectionnée en modifiant la couleur de l’arrière-plan et du texte.
    • Le compléteur de table répertorie une valeur pour chaque colonne.
      • La première fois qu’une valeur apparaît dans une colonne, le compléteur de table l’affiche en noir.
      • Le compléteur de table affiche les valeurs suivantes en double dans du texte gris. Auparavant, le compléteur de table affichait une cellule vide dans une colonne contenant une valeur en double.
    Figure 2. Mise en surbrillance de la ligne sélectionnée

    Définissez l’attribut ref_auto_completer=AJAXTableCompleter dictionary pour utiliser ces améliorations.

    Définir des attributs de saisie semi-automatique pour toutes les références à une table

    Un champ hérite et utilise les attributs de saisie semi-automatique de la table de référence, sauf si le champ a sa propre valeur pour les mêmes attributs. Vous pouvez définir les attributs pour les références à une table, et cela affecte tous les formulaires qui font référence à cette table.

    Avant de commencer

    Rôle requis : personalize_dictionary

    Pourquoi et quand exécuter cette tâche

    Un attribut au niveau du champ remplace un attribut au niveau de la table du même nom. Si un champ utilise des attributs de référence différents de ceux définis pour la table de référence, le champ utilise les deux ensembles d’attributs.

    Suivez ces étapes pour définir des attributs de saisie semi-automatique pour tous les champs d’une table qui n’ont pas déjà leurs propres attributs de saisie semi-automatique. Cet exemple décrit comment définir des attributs de saisie semi-automatique pour toutes les références à la table Utilisateur [sys_user].
    Remarque :
    La valeur d’attribut de saisie semi-automatique d’un champ remplace la valeur d’attribut de saisie semi-automatique d’une table. Cela signifie que toute valeur existante au niveau du champ pour un attribut de saisie semi-automatique remplace toute valeur appliquée par l’administrateur à l’attribut de saisie semi-automatique de la table de référence.

    Procédure

    1. Accédez à une liste de la table cible, telle que Tout > Administration utilisateurs > Utilisateurs.
    2. Effectuez l’action appropriée pour la version de votre liste.
      VersionAction
      Liste v2 Cliquez avec le bouton droit sur l’en-tête de colonne, puis cliquez sur Configurer > Dictionnaire.
      Liste v3 Ouvrez le menu Titre de liste et cliquez sur Configurer, puis sur Dictionnaire.
    3. Sélectionnez la ligne qui ne répertorie pas de nom de colonne.
      Cette ligne est généralement la première ligne de la liste. Par exemple, sélectionnez le premier lien sys_user .
    4. Sous Liens connexes, cliquez sur Vue avancée.
    5. Dans le champ Attributs , saisissez une liste séparée par des virgules d’attributs de saisie semi-automatique que vous souhaitez appliquer à tous les champs de la table.
      Par exemple, pour afficher le département de l’utilisateur avec toutes les références à la table sys_user, saisissez :
      ref_auto_completer=AJAXTableCompleter,ref_ac_columns=department,ref_ac_order_by=department
    6. Cliquez sur Mettre à jour.

    Que faire ensuite

    Pour tester les nouveaux attributs de saisie semi-automatique, ouvrez un formulaire qui fait référence à la table Utilisateur [sys_user], tel qu’un incident ouvert. Saisissez un seul caractère dans le champ Affecté à . Les options de saisie semi-automatique incluent désormais à la fois le nom d’utilisateur et le département.
    Liste de saisie semi-automatique

    Supprimer la colonne de valeur d’affichage

    Vous pouvez supprimer la colonne de valeur d’affichage d’un champ de référence en définissant l’attribut ref_ac_display_value sur faux.

    Avant de commencer

    Rôle requis : personalize_dictionary

    Pourquoi et quand exécuter cette tâche

    Le champ de référence supprime alors la colonne de valeur d’affichage et n’affiche que les colonnes répertoriées dans l’attribut ref_ac_columns . Cette fonctionnalité nécessite l’utilisation de la classe AJAXTableCompleter et des ref_ac_columnsattributs , ref_ac_columns_search, and ref_ac_display_value .
    Remarque :
    L’auto-complétion ne peut pas correspondre au texte de colonnes supplémentaires lorsque le champ de référence est un produit de la ui_reference macro d’interface utilisateur. Cela signifie que toute action de saisie semi-automatique sur un sélecteur, telle que la liste Emprunter l’identité d’un utilisateur, ne peut faire correspondre que du texte à la valeur d’affichage.

    Cet exemple décrit comment supprimer la colonne de valeur d’affichage des références à la table Utilisateur [sys_user] et la remplacer par des références aux colonnes first_name et last_name.

    Procédure

    1. Accédez à une liste de la table cible, telle que Tout > Administration utilisateurs > Utilisateurs.
    2. Effectuez l’action appropriée pour la version de votre liste.
      VersionAction
      Liste v2 Cliquez avec le bouton droit sur l’en-tête de colonne, puis cliquez sur Configurer > Dictionnaire.
      Liste v3 Ouvrez le menu Titre de liste et cliquez sur Configurer, puis sur Dictionnaire.
    3. Sélectionnez la ligne qui ne répertorie pas de nom de colonne.
      Cette ligne est généralement la première ligne de la liste. Par exemple, sélectionnez le premier lien sys_user .
    4. Sous Liens connexes, cliquez sur Vue avancée.
    5. Dans le champ Attributs , ajoutez les ref_auto_completerattributs , ref_ac_columns,ref_ac_columns_search , et ref_ac_display_value .
      Par exemple, pour masquer la colonne de valeur d’affichage et n’afficher que le prénom et le nom de famille de l’utilisateur, entrez ce qui suit.
      ref_auto_completer=AJAXTableCompleter,ref_ac_columns=first_name;last_name,ref_ac_columns_search=true,ref_ac_display_value=false
    6. Cliquez sur Mettre à jour.

    Que faire ensuite

    Pour tester les nouveaux attributs de saisie semi-automatique, ouvrez un formulaire qui fait référence à la table Utilisateur [sys_user], tel qu’un incident ouvert. Saisissez un seul caractère dans le champ Affecté à . Les options de saisie semi-automatique masquent désormais la colonne de valeur d’affichage (user_name) et n’affichent que les colonnes first_name et last_name.

    Saisie semi-automatique sans valeur d’affichage

    Améliorer les requêtes de saisie semi-automatique

    Par défaut, tous les champs de référence utilisent une requête commence par pour rechercher le texte correspondant dans la table de référence. Cela empêche la saisie semi-automatique d’exécuter des requêtes de contenu inefficaces chaque fois qu’un utilisateur recherche un champ de référence. Vous pouvez exiger que tous les champs de référence utilisent une requête commence par .

    Avant de commencer

    Rôle requis : administrateur

    Pourquoi et quand exécuter cette tâche

    L’exemple suivant illustre une requête contient . Notez que la lettre « d » apparaît n’importe où dans le prénom ou le nom de famille de l’utilisateur.
    La saisie semi-automatique contient une requête

    Cette procédure décrit comment modifier la glide.ui.ref_ac.startswith propriété système pour toujours utiliser une starts with requête.

    Procédure

    1. Dans le filtre de navigation, saisissez sys_properties.list et appuyez sur la touche Entrée.
    2. Sélectionnez la propriété glide.ui.ref_ac.startswith.
      Pour rechercher la propriété, saisissez *startswith dans le filtre Accéder à la recherche de la colonne Nom .
    3. Dans le champ Valeur , remplacez faux par vrai.
      Remarque :
      La définition de la glide.ui.ref_ac.startswith propriété système sur true remplace tous les paramètres existants autocomplete.contains dans les préférences au niveau de l’utilisateur et du système. Cette propriété modifie la méthode de requête de saisie semi-automatique pour tous les utilisateurs, quelles que soient leurs préférences.
    4. Cliquez sur Mettre à jour.
    5. Testez la modification en ouvrant un enregistrement avec un champ de référence et en y entrant un caractère, comme illustré dans l’exemple ci-dessous.
      L’autocomplétion commence par une requête

    Configurer la saisie semi-automatique pour correspondre au texte de n’importe quel champ de référence

    Par défaut, la saisie semi-automatique correspond uniquement au texte de la colonne de valeur d’affichage. Vous pouvez configurer un champ de référence pour qu’il corresponde au texte de n’importe quelle colonne supplémentaire affichée dans le champ de référence.

    Avant de commencer

    Rôle requis : personalize_dictionary

    Pourquoi et quand exécuter cette tâche

    Vous pouvez ajouter l’attribut pour activer la ref_ac_columns_search saisie semi-automatique afin de faire correspondre le texte dans n’importe quelle colonne répertoriée dans l’attribut ref_ac_columns . Définissez l’attribut ref_ac_columns_search sur vrai pour correspondre au texte de toutes les colonnes de champ de référence. Par défaut (ou lorsque cet attribut est faux), la saisie semi-automatique ne correspond qu’au texte de la colonne de valeur d’affichage.

    Procédure

    1. Cliquez avec le bouton droit sur l’étiquette d’un champ de référence.
    2. Sélectionnez Configurer le dictionnaire dans la liste de choix.
    3. Sous Liens connexes, cliquez sur Vue avancée.
    4. Dans le champ Attributs , ajoutez les attributs d’auto-complétion souhaités.
      Par exemple, ces attributs ajoutent le champ Département à la liste des appelants et trient les appelants en fonction de leur département :
      ref_auto_completer=AJAXTableCompleter,ref_ac_columns=department,ref_ac_order_by=department,ref_ac_columns_search=true 
      Figure 3. Attribut d’auto-complétion
      Liste des appelants avec nom et département
    5. Cliquez sur Mettre à jour.

    Exemple

    L’exemple suivant décrit comment configurer le champ Élément de configuration pour afficher les noms de classes CI à partir de choix de saisie semi-automatique pour la table Élément de configuration [cmdb_ci].
    ref_auto_completer=AJAXTableCompleter ,ref_ac_columns =sys_class_name ,ref_ac_order_by =sys_class_name ,ref_contributions =task_show_ci_map ;ci_show_incidents
    Remarque :
    L’attribut ref_contributions contrôle les icônes qui apparaissent en regard du champ de référence.

    Attributs de CI supplémentaires

    Activer contient les recherches de saisie semi-automatique

    Par défaut, la saisie semi-automatique de référence utilise une recherche de démarrage . Une préférence utilisateur peut être créée pour implémenter une recherche contenue .

    Avant de commencer

    Rôle requis : administrateur

    Procédure

    1. Désactivez la glide.ui.ref_ac.startswith propriété système.
      Pour plus d'informations, consultez Améliorer les requêtes de saisie semi-automatique.
      Remarque :
      La définition de la glide.ui.ref_ac.startswith propriété système sur vrai remplace tous les paramètres « autocomplete.contains » existants dans les préférences au niveau de l’utilisateur et du système. Cette propriété modifie la méthode de requête de saisie semi-automatique pour tous les utilisateurs, quelles que soient leurs préférences.
    2. Accédez à la Administration utilisateurs > Préférences utilisateur.
    3. Sélectionnez la préférence « <table référencée>.autocomplete.contains ».
    4. Définissez le champ de valeur sur vrai.
      Préférence utilisateur de saisie semi-automatique définie sur vrai
    5. Cliquez sur Mettre à jour.

    Que faire ensuite

    Déconnectez-vous et reconnectez-vous pour afficher la recherche mise à jour.

    Caractères génériques dans les complétions automatiques de référence

    Les recherches par caractères génériques utilisent la fonctionnalité de saisie semi-automatique.

    Utilisez un astérisque dans le champ de référence pour les recherches par caractères génériques.

    Figure 4. Une recherche par caractère générique d’astérisque

    Si deux astérisques sont entrés, une liste des enregistrements disponibles s’affiche dans les suggestions de saisie semi-automatique.

    Figure 5. Recherche par caractères génériques à deux astérisques