1. Accueil
  2. /
  3. Champs
  4. /
  5. Créer un champ de recherc...
  6. /
  7. Filtres de recherche (Loo...

Filtres de recherche (Lookup Filters)

Un filtre de recherche limite les enregistrements que l’utilisateur peut choisir lorsqu’il remplit un champ de type Relation de recherche. Sans filtre, la fenêtre de recherche propose tous les enregistrements de l’objet lié ; avec un filtre, seuls ceux qui répondent aux critères définis par l’administrateur apparaissent.

Exemple utilisé dans ce guide : sur l’objet Session, le champ Formation pointe vers l’objet Item de liste de prix. Un filtre peut ne proposer que les formations dont le prix liste HT dépasse 2000, ou celles dont le prix dépasse le Prix OPCO saisi dans la session en cours.

Un filtre se définit par champ de recherche : on ne paramètre qu’un champ à la fois, et chaque champ a ses propres critères.

Il faut un compte avec les droits d’administration (accès à la Configuration) et un champ de type Relation de recherche déjà créé sur l’objet.

Trois mots reviennent dans ce guide :

  • Objet enfant : celui qui porte le champ de recherche (ici Session). L’enregistrement en cours de saisie est une session.
  • Champ de recherche : le champ qui ouvre la fenêtre de choix (ici Formation).
  • Objet parent : celui dont on choisit un enregistrement (ici Item de liste de prix).

Le filtre se configure sur la page du champ de recherche, pas dans la page de l’objet.

  1. Dans la Configuration, ouvrez Objets, puis l’objet concerné (ici Session).
  2. Ouvrez l’onglet Champs personnalisés et cliquez sur Détails en face du champ de type Relation de recherche (ici Formation).
  3. En bas de la page, une section porte le nom de l’objet parent. Tant qu’aucun filtre n’existe, elle affiche « Aucun critère de filtre défini. » avec les boutons Modifier et Supprimer.
Page du champ Formation : la section Item de liste de prix indique Aucun critère de filtre défini, avec les boutons Modifier et Supprimer

Cliquez sur Modifier pour ouvrir l’éditeur. Son en-tête rappelle le contexte : objet enfant, champ de recherche, objet parent (le parent s’affiche ici sous son nom technique, Price_List_Item). La barre d’outils contient l’icône d’enregistrement (disquette) et la flèche de retour ; le bouton Ajouter un critère crée un bloc, et la zone Logique du filtre se trouve sous les critères.

Éditeur de filtre vide : en-tête Session, Formation, Price_List_Item, un premier critère avec Source, Opérateur, Comparer à et Cible vides, puis la zone Logique du filtre

Un critère est une condition que chaque enregistrement proposé dans la fenêtre de recherche doit remplir. Il se lit de gauche à droite : le champ du parent est égal, supérieur… à une valeur ou un champ de la session.

ColonneCe qu’on y choisitExemple de ce guide
SourceLe champ du parent à tester. On y arrive en descendant depuis le champ de recherche (« Formation (Item de liste de prix) > »), puis en choisissant un champ du parent.Prix liste HT
OpérateurLa comparaison. La liste dépend du type du champ : une case à cocher propose Egal et Inégal à ; un nombre propose en plus Plus petit ou égal, Plus grand ou égal, Plus petit que et Plus grand que.Plus grand que
Comparer àValue : une valeur saisie une fois pour toutes. Field : un champ de l’enregistrement en cours de saisie (la session).Value
CibleSelon le choix précédent : une zone de texte (Value) ou une liste des champs de la session (Field).2000

Objectif : ne proposer, dans le champ Formation, que les items dont le Prix liste HT est supérieur à 2000.

1. Ouvrir la liste Source

Dans l’éditeur, cliquez sur la liste Source. Elle commence par les champs de la session. Les entrées en bleu, terminées par >, mènent à un autre objet : c’est le cas de « Formation (Item de liste de prix) > ».

Liste Source ouverte : les champs de la session, avec l'entrée en bleu Formation (Item de liste de prix) suivie d'une flèche >

2. Descendre vers l’objet parent

Cliquez sur « Formation (Item de liste de prix) > ». La liste affiche alors les champs de l’objet parent, sous un fil d’Ariane ; le bouton < ramène au niveau précédent.

Liste Source après la descente : fil d'Ariane Formation (Item de liste de prix), puis les champs Description, Active, Id, Propriétaire, etc.

3. Compléter le critère

Choisissez le champ Prix liste HT, puis Plus grand que dans Opérateur, Value dans Comparer à, et saisissez 2000 dans Cible. Une ligne en italique sous la Source rappelle le chemin choisi.

Critère rempli : Source Prix liste HT, Opérateur Plus grand que, Comparer à Value, Cible 2000, chemin Formation (Item de liste de prix) > Prix liste HT

4. Enregistrer

Cliquez sur l’icône d’enregistrement. Vous revenez à la page du champ, qui récapitule le filtre dans un tableau (numéro, champ source, opérateur, comparer à, cible).

Page du champ Formation après enregistrement : un critère, Formation (Item de liste de prix) => Prix liste HT, Plus grand que, Value, 2000

Avec Value, tous les utilisateurs voient le même filtre. Avec Field, le filtre s’adapte à ce que l’utilisateur a déjà saisi dans le formulaire. Exemple : ne proposer que les formations dont le prix liste HT dépasse le Prix OPCO de la session.

  1. Dans le critère, choisissez Field dans Comparer à.
  2. Ouvrez la liste Cible : elle propose les champs de la session (l’objet enfant), et non ceux du parent. Choisissez explicitement le champ voulu, ici Prix OPCO ; la zone peut afficher un nom de champ avant que vous ayez cliqué, ce n’est pas un choix.
Liste Cible ouverte en mode Field : champs de la session, dont Adresse, Formation, Date de fin, Prix OPCO, Nombre d'heures
  1. Une fois Prix OPCO choisi, le critère se lit : Prix liste HT, Plus grand que, Field, Prix OPCO.
Critère en mode Field : Source Prix liste HT, Opérateur Plus grand que, Comparer à Field, Cible Prix OPCO
  1. Enregistrez. Le tableau de la page du champ indique Field dans la colonne Comparer à et Prix OPCO dans Cible.
Page du champ Formation : critère Formation (Item de liste de prix) => Prix liste HT, Plus grand que, Field, Prix OPCO

Un champ du parent peut lui-même être une relation (« Liste de prix (Liste de prix) > », « Produit (Produit) > »). Chaque > descend d’un niveau : le fil d’Ariane indique le chemin déjà parcouru et le bouton < remonte d’un cran. Exemple : tester le Nom de la liste de prix rattachée à l’item.

Liste Source au deuxième niveau : fil d'Ariane Formation (Item de liste de prix) > Liste de prix (Liste de prix), puis les champs Par défaut, Id, Nom, Propriétaire

Le chemin complet reste visible sous la Source une fois le champ choisi (par exemple Formation (Item de liste de prix) > Liste de prix (Liste de prix) > Nom). Sur la page du champ, les niveaux sont séparés par =>.

Cliquez sur Ajouter un critère pour créer un bloc supplémentaire ; chaque bloc est numéroté (1, 2…). La croix rouge en haut à droite d’un bloc le supprime de l’éditeur. La zone Logique du filtre dit comment combiner les numéros.

Exemple : critère 1 = Prix liste HT plus grand que 2000 ; critère 2 = Nom de la liste de prix égal à 2024-2025, avec la logique 1 AND 2.

Deux critères sur la page du champ : 1 = Prix liste HT, Plus grand que, Value, 2000 ; 2 = Formation (Item de liste de prix) => Liste de prix (Liste de prix) => Nom, Egal, Value, 2024-2025

Mots-clés : écrivez AND. L’exemple gris de la zone propose « 1 ET 2 OU 3 », mais lors de nos essais « 1 ET 2 » a été refusé avec le message Erreur dans la syntaxe à côté de ET. « 1 AND 2 » a été accepté. Nous n’avons pas testé OR.

Zone Logique du filtre contenant 1 ET 2, avec le message rouge Erreur dans la syntaxe à côté de ET

Une logique qui cite un numéro de critère inexistant est aussi refusée : avec seulement deux critères, « 1 AND 5 » affiche La ‘Logique du filtre’ saisie est fausse. Dans les deux cas, rien n’est enregistré tant que l’erreur n’est pas corrigée.

Zone Logique du filtre contenant 1 AND 5, avec le message rouge La 'Logique du filtre' saisie est fausse

La page du champ liste les critères mais n’affiche pas la logique saisie ; rouvrez l’éditeur pour la vérifier.

Le filtre s’applique quand l’utilisateur clique sur la loupe du champ dans une session (nouvelle ou en modification). La fenêtre Look Up Record n’affiche alors que les enregistrements qui répondent aux critères, et le pied de tableau indique leur nombre.

Sans filtre, la recherche Formation propose 11 items (10 par page), dont certains à moins de 2000.

Fenêtre de recherche Formation sans filtre : 10 lignes affichées, Affiche 1 à 10 enregistrements sur 11, avec des prix liste HT de 1450 à 5870

Avec le filtre Prix liste HT > 2000 (valeur fixe), il n’en reste que 6, tous au-dessus de 2000.

Fenêtre de recherche Formation filtrée : 6 lignes, Affiche 1 à 6 enregistrements sur 6, prix de 2450 à 5870

Avec une comparaison à un champ (Prix liste HT > Prix OPCO), le résultat dépend de la saisie en cours. Ici, la session n’est pas encore enregistrée et son Prix OPCO vaut 3000.

Formulaire Nouveau Session : le champ Prix OPCO contient 3000, le champ Formation est vide

La recherche ne propose alors que 4 items, tous au-dessus de 3000. C’est la valeur saisie dans le formulaire, même non enregistrée, qui sert de comparaison.

Fenêtre de recherche Formation avec le filtre sur Prix OPCO : 4 lignes, prix 5870, 5780, 3600 et 4320

Avec deux critères (1 AND 2 : prix supérieur à 2000 et liste de prix 2024-2025), 4 items correspondent aux deux conditions.

Fenêtre de recherche Formation avec deux critères : 4 lignes, toutes de la liste de prix 2024-2025, prix 5870, 2600, 3600 et 4320
  • Modifier : sur la page du champ, cliquez sur Modifier. L’éditeur se rouvre avec les critères et la logique déjà enregistrés. Changez ce qui doit l’être, puis enregistrez.
  • Retirer un critère : cliquez sur la croix rouge du bloc, puis enregistrez. Le retrait n’est pris en compte qu’à l’enregistrement.
  • Supprimer tout le filtre : cliquez sur Supprimer dans la section du champ. L’action est immédiate, sans demande de confirmation, et la page revient à l’état « Aucun critère de filtre défini. » (voir la première capture de ce guide).

Une modification s’applique à la prochaine ouverture de la fenêtre de recherche : il n’est pas nécessaire de recharger la page du formulaire.

Ce que vous voyezCauseQue faire
« Erreur dans la syntaxe à côté de ET » sous Logique du filtreLe mot-clé « ET » n’est pas accepté dans cette organisation.Écrire la logique avec AND (ex. : 1 AND 2).
« La ‘Logique du filtre’ saisie est fausse »La logique cite un numéro de critère qui n’existe pas, ou n’est pas une expression valide.Vérifier la numérotation des blocs et corriger la saisie.
Page « Well, this is embarrassing… » (erreur inconnue) après EnregistrerUn bloc de critère est resté vide (observé en enregistrant avec un troisième bloc sans Source).Revenir en arrière, remplir chaque bloc ou le supprimer avec sa croix rouge, puis enregistrer. Le filtre enregistré auparavant n’est pas modifié.
La fenêtre de recherche ne propose rienLes critères sont trop stricts, ou aucun enregistrement ne les remplit.Retirer un critère à la fois pour trouver celui qui exclut tout.
Le filtre ne change rienLe champ concerné n’est pas celui qui porte le filtre, ou la fenêtre était déjà ouverte.Vérifier le champ sur la page de l’objet, puis fermer et rouvrir la fenêtre de recherche.
Cet article vous a-t-il été utile ? Non Oui

Comment pouvons-nous aider ?