Vous pouvez ajouter vos propres critères de recherche des entités, et les intégrer dans l'onglet [Recherche] existant.
Pour créer un ensemble de critères spécifiques rassemblés dans un onglet dédié, voir Filtre avancé.
Étape 1 : Création de l'attribut sur l'objet de recherche
- Dans le dictionnaire, ouvrir l'objet correspondant au formulaire de recherche de la fonctionnalité. C'est un objet de catégorie "Recherche", dont le nom est celui de la fonctionnalité, suffixé par SEL. Exemple : WOREPORTSEL.
- Dans l'onglet [Attributs], cliquez sur l'icône d'ajout
.
- Dans la rubrique "Critères de filtre", renseignez les champs qui définissent le critère. Une fois que vous avez sélectionné le domaine, créez le critère avec l'assistant de configuration en cliquant sur l'icône
.
- Sélectionnez l'attribut, parmi l'arborescence des éléments liés à l'objet courant :
Objet lié à l'objet courant, par un lien simple : sélectionnez un de ses attributs.
Objet lié à l'objet courant, par un lien multiple : sélectionnez un de ses attributs.
Attribut sélectionnable comme critère de filtre. En cliquant dessus, vous l'ajoutez, avec les éventuelles informations de lien, dans le volet de droite.
- Dans le volet de droite, complétez avec l'opérateur à appliquer sur le critère.
Étape 2 : Ajout du champ dans le formulaire personnalisé
- Créez un formulaire personnalisé correspondant au formulaire de recherche de la fonctionnalité. Exemple : formulaire "Recherche des comptes-rendus" de la fonctionnalité "Comptes-rendus d'interventions".
- Une fois dans le mode personnalisation , ajoutez un libellé et un champ dont la valeur sera :
#{formAnimator.searchBean.xxx} où xxx est le nom du nouvel attribut de l'objet de recherche.
L'ajout d'un critère de filtre de type "fuseau horaire" sur un écran de recherche constitue un cas particulier (par exemple, sur l'objet WOSEL pour recherche d'interventions).
La création d'un attribut n'est pas nécessaire dans ce cas : l'attribut "timeZoneId" est disponible sur les écrans de recherche.
Il suffit d'ajouter un champ, en renseignant directement la valeur : #{formAnimator.searchBean.timeZoneID}
Exemples
Critère simple
Plage de prix d'achat pour les Matériels.
- Sur l'objet MATERIALSEL, créez les attributs suivants :
- Prix d'achat minimum :
- Nom : purchasePrMin
- Libellé et Commentaire : Prix d'achat minimum
- Domaine : AMOUNT
- Attribut : purchasePr
- Opérateur : Supérieur ou égal
- Prix d'achat maximum :
- Nom : purchasePrMax
- Libellé et Commentaire : Prix d'achat maximum
- Domaine : AMOUNT
- Attribut : purchasePr
- Opérateur : Inférieur ou égal
- Créez un formulaire personnalisé de la fonction "Matériels", formulaire "Recherche des"Matériels".
Ajoutez-lui deux champs de valeurs respectives : #{formAnimator.searchBean.purchasePrMin} et #{formAnimator.searchBean.purchasePrMax}.
Critère sur un élément lié
Frais annexe présent sur une des lignes de la demande d'achat
- Sur l'objet PRSEL, créez l'attribut suivant :
- Frais annexe :
- Nom : extraCostCode
- Libellé et Commentaire : Frais annexe
- Domaine : CODE_SEARCH
- Entité associée : STRING
- Attribut : purchaseLines / extraCosts / extraCost / code
- Opérateur : "like"
- Créez un formulaire personnalisé de la fonction "Demande d'achat", formulaire "Recherche des demandes d'achat".
Ajoutez-lui un champ de valeur : #{formAnimator.searchBean.extraCostCode}.