Convertir date en format ORDA

Bonjour

en classique on recherche une date au format 14/02/2020

en Orda on doit rechercher 2020-02-14

comment fait t’on pour typer la variable qui va servir à recevoir la date

Merci

Belle journée

Bonjour,

Nul besoin de traduire, 4D se débrouille.

C_DATE($sate)
$date:=Date du jour
query(“MaDate = :1”;$date)

Voici mon code qui ne marche pas

j’ai essayé avec :1; mais marche pas non plus

que veux dire :1

C_DATE($vDeb;$vFin)
$vDeb:=!01/01/2020!
$vFin:=!31/12/2020!

$Selection:=ds.COMPTA.query(“dateAcha >= $vDeb and dateAchat<=$vFin and imputation!='Revenus’and imputation!='Divers’and imputation!=‘Investissement’”).orderBy(“designation asc”)

merci pour taon aide

Faut utiliser des références aux variables dans la query, puis mettre ces variables après en argument.
:1 réfère la première, :2 la seconde et ainsi de suite.
Ta requête :
$Selection:=ds.COMPTA.query(“dateAcha >= $vDeb and dateAchat<=$vFin and imputation!='Revenus’and imputation!='Divers’and imputation!=‘Investissement’”)
devient :
$Selection:=ds.COMPTA.query(“dateAcha >= :1 and dateAchat<= :2 and imputation!='Revenus’and imputation!='Divers’and imputation!=‘Investissement’”;$vDeb;$vFin)

Merci Arnaud de bien vouloir m’aider

mais ton code ne marche pas. voici les infos de l’erreur

  1. la requête ne peut être analysée 2) objet ou collection attendu 3) les arguments sont incompatibles

alors que si je mets 2020-01-01 cela marche

as tu une autre piste

Cordialement

Voire même carrément en plus clair :
<code 4D>
$Selection:=ds.COMPTA.query(“dateAcha >= :1 and dateAchat <= :2 and not(imputation in :3)”;$vDeb;$vFin;Créer collection(“Revenus”;“Divers”;“Investissement”))
</code 4D>

Bernard, comme il manque un t au premier dateAcha, ça ne doit pas aider non plus.

Merci Stanislas

Ta requête marche bien mais je comprends pas pourquoi
la requête d’Arnaud me fonctionne pas

Bon WE à vous deux

Très cordialement

Comme j’ai fait du copier coller pour ne parler que des dates en variables, je n’ai pas corrigé les espaces manquant, dans la partie après les dates, sur les imputations : c’est pas ça ?
$Selection:=ds.COMPTA.query(“dateAchat >= :1 and dateAchat<= :2 and imputation != ‘Revenus’ and imputation != ‘Divers’ and imputation != ‘Investissement’”;$vDeb;$vFin)

Super Arnaud

me voila avec deus façons de faire ma recherche ! Bravo

maintenant comment faire ce bout de code en ORDA
dans ma recherche j’ai [COMPTA]moisAchat

VALEURS DISTINCTES([COMPTA]moisAchat;TabMois)
TRIER TABLEAU(TabMois;>) 

Si tu peux encore en fin de Vendredi

Pour obtenir une collection (triée par défaut):

<code 4D>
C_COLLECTION($ColMois)
$ColMois:=ds.COMPTA.all().distinct(“moisAchat”)

</code 4D>

Tu vas nous faire faire un AVC à Arnaud le pauvre… :lol:

Merci à vous

L’AVC c’est déjà fait pour moi il y a 2 ans ( j’ai 77 ans le 1er avril et ce n’est pas un poisson mais un bélier)

Très bon WE à tous ceux qui m’aide

Bernard

Donc pour obtenir un tableau avec ta précédente recherche, tu peux faire ça:

<code 4D>
C_COLLECTION($ColMois)
$ColMois:=$Selection.distinct(“moisAchat”)
TABLEAU TEXTE(TabMois;0)
COLLECTION VERS TABLEAU($ColMois;TabMois)

</code 4D>

Merci Manuel

J’avance grâce à vous

Bonne soirée

Bernard

Merci à Tous

: Manuel PIQUET

Donc pour obtenir un tableau avec ta précédente recherche, tu peux
faire ça:

<code 4D>

C_COLLECTION($ColMois)
$ColMois:=$Selection.distinct(“moisAchat”)
TABLEAU TEXTE(TabMois;0)
COLLECTION VERS TABLEAU($ColMois;TabMois)

</code 4D>

Attention, le collection vers tableau coûte en terme de performance. Tout dépend ensuite de ce que tu veux faire comme opération. Il est peut judicieux de rester avec une Collection et de manipuler les données scalaires.

Après, ce n’est qu’une question de goût :wink:

Bon WE à tous

: Patrick EMANUEL

Attention, le collection vers tableau coûte en terme de performance.
À ma connaissance, COLLECTION VERS TABLEAU et son inverse, TABLEAU VERS COLLECTION, sont rapides - ce serait logique, d’ailleurs, c’est tout en mémoire, nul besoin de lire les données. Je pense que c’est surtout la conversion d’entitySelection en collection qui coûte, car quand je lance un entitySelection.toCollection(), j’ai régulièrement droit à la fenêtre de progression.

Bonjour Arnaud,

je ne dis pas que cela est lent, je dis juste que cela a un coût et que tout dépend de ce que tu as à faire derrière. Cette remarque est là juste pour attirer l’attention de Bernard pour lui éviter des aller-retours entre tableaux et collections :wink:

Patrick