Présentation
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.
Avant de commencer
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).
Où trouver les filtres de recherche
Le filtre se configure sur la page du champ de recherche, pas dans la page de l’objet.
- Dans la Configuration, ouvrez Objets, puis l’objet concerné (ici Session).
- Ouvrez l’onglet Champs personnalisés et cliquez sur Détails en face du champ de type Relation de recherche (ici Formation).
- 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.

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.

Comprendre un critère
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.
| Colonne | Ce qu’on y choisit | Exemple de ce guide |
|---|---|---|
| Source | Le 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érateur | La 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 |
| Cible | Selon le choix précédent : une zone de texte (Value) ou une liste des champs de la session (Field). | 2000 |
Pas à pas : filtrer avec une valeur fixe
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) > ».

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.

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.

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).

Comparer avec un champ de l’enregistrement en cours
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.
- Dans le critère, choisissez Field dans Comparer à.
- 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.

- Une fois Prix OPCO choisi, le critère se lit : Prix liste HT, Plus grand que, Field, Prix OPCO.

- Enregistrez. Le tableau de la page du champ indique Field dans la colonne Comparer à et Prix OPCO dans Cible.

Parcourir plusieurs niveaux de relations
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.

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 =>.
Combiner plusieurs critères : la logique du filtre
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.

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.

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.

La page du champ liste les critères mais n’affiche pas la logique saisie ; rouvrez l’éditeur pour la vérifier.
Voir le filtre en action
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.

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

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.

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.

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

Modifier ou supprimer un filtre
- 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.
Messages d’erreur et dépannage
| Ce que vous voyez | Cause | Que faire |
|---|---|---|
| « Erreur dans la syntaxe à côté de ET » sous Logique du filtre | Le 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 Enregistrer | Un 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 rien | Les 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 rien | Le 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. |