Utilisation de setFieldFilter avec des dates

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

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.

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.

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?

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.

c’est le evenement.resetOrders(); qui manquait.

MERCI.