fabrice
(Mouttet)
February 15, 2021, 1:16pm
1
Bonjour,
Je cherche à restreindre le nombre d’élément retournés pour un objet en filtrant sur une date avec une période. Je me suis inspiré de ce que j’ai trouvé dans “documentation” :
ObjectDB evenement = getGrant().getTmpObject("ParticipationEvenement");
evenement.resetFilters();
>evenement.getField("ParticipationEntiteRaison").setFilter(Tool.toXML(columns[1]));
>evenement.getField("participationEvenementDate").setFilterDateMin(dateInf);
>evenement.getField("participationEvenementDate").setFilterDateMax(dateSup);
evenement.getField("participationEvenementDate").setOrder(-1);
Les deux dates sont des String.
ça ne fonctionne pas. Du coup je ne suis pas sûr d’utiliser correctement les setFilter.
Avez-vous une suggestion?
Merci
Fabrice
fabrice
(Mouttet)
February 15, 2021, 1:34pm
2
En fait je suis en train de me rendre compte que c’est la manière dont je transforme une des dates en string qui pose problème.
fabrice
(Mouttet)
February 15, 2021, 1:46pm
3
Comme souvent, il suffit d’écrire le problème pour trouver la solution. C’était bien dans la façon de construire ma date min et finalement j’avais bien compris les setField :-)
Désolé pour le dérangement.
fabrice
(Mouttet)
February 15, 2021, 2:21pm
4
Finalement je reviens dans ce post. J’aimerai trier mes résultats par date :
evenement.getField("participationEvenementDate").setOrder(-1);
Mais que je mette 1 ou -1, ça ne change pas l’ordre , faut-il paramétrer autre chose?
Francois
(François Genestin)
February 15, 2021, 4:11pm
5
Votre objet doit déjà avoir un ordre 1 sur un autre champ dans sa définition de base.
Il faut surement commencer par un resetOrders
pour retirer tous les tris existants dans l’objet.
evenement.resetOrders();
evenement.getField("participationEvenementDate").setOrder(-1);
evenement.resetFilters();
evenement.getField("participationEvenementDate").setFilterDateMin("2020-12-31");
evenement.getField("participationEvenementDate").setFilterDateMax(Tool.getCurrentDate());
Les dates sous forme de String de Simplicité sont au format YYYY-MM-DD
.
fabrice
(Mouttet)
February 16, 2021, 6:13am
6
c’est le evenement.resetOrders();
qui manquait.
MERCI.