PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → Etats & Requêtes → Requête stock - inventaire
Requête stock - inventaire
Débuté par olivier, 26 mai 2020 15:27 - 6 réponses
Posté le 26 mai 2020 - 15:27
Bonjour,

j'ai crée un petit logiciel de gestion de srtock.

Lorsqu'on encode les factures d'achat ou vente, dans la table mouvement_stock, s'ajouter :

la référence de l'article La quantité Le Prix d'achat La date

Lorsque je veux faire ma requête, je voudrais qu'elle trie tous les mouvement, pour ne prendre par exemple tous les mouvements avant le 31/12/2019. Et je voudrais qu'il calcule les quantité en stock restante. pour ne sortir qu'une ligne par référence et la quantité restant en stock.

Mais je n'y arrive pas, car quand je crée la requête si je mets la date, elle n'additionne que les articles de même référence et de même date.

Si je mets pas la date dans la requête et que je lance un test en mettant un paramètre ( Par exemple 31/12/2020 )la, la requête fonctionne.

Par contre dès que je fais mon état avec la requête, cela ne fonctionne pas, on dirait que le paramètre ne passe pas.

J'espère avoir été clair.

D'avance merci pour votre aide.
Membre enregistré
1 173 messages
Posté le 27 mai 2020 - 15:39
Bonjour,
Si vous utilisez le requêteur Windev alors il faut peut-être désactiver l'affichage du champ date
Si votre requête est en SQL il faut regarder du côté du groupe by.

--
Thierry TILLIER
Développeur Windev-Webdev
Formation Windev : https://coursdinfo.teachable.com/
Formateur bureautique (individualisation) : https://coursdinfo.net
Membre enregistré
1 message
Posté le 05 mai 2021 - 09:44
I'll be sure to keep an eye on this thread. Looking for the same issue. Bumped into your thread. Thanks for creating it. Looking forward for solution.
Posté le 04 décembre 2024 - 07:28
escribío:
Bonjour,

j'ai crée un petit logiciel de gestion de srtock.

Lorsqu'on encode les factures d'achat ou vente, dans la table mouvement_stock, s'ajouter :

la référence de l'article La quantité Le Prix d'achat La date

Lorsque je veux faire ma requête, je voudrais qu'elle trie tous les mouvement, pour ne prendre par exemple tous les mouvements avant le 31/12/2019. Et je voudrais qu'il calcule les quantité en stock restante. pour ne sortir qu'une ligne par référence et la quantité restant en stock.

Mais je n'y arrive pas, car quand je crée la requête si je mets la date, elle n'additionne que les articles de même référence et de même date.

Si je mets pas la date dans la requête et que je lance un test en mettant un paramètre ( Par exemple 31/12/2020 )la, la requête fonctionne.

Par contre dès que je fais mon état avec la requête, cela ne fonctionne pas, on dirait que le paramètre ne passe pas.

J'espère avoir été clair.

D'avance merci pour votre aide.



Bonjour,

Merci d'avoir partagé les détails de votre problème. Il semble que le défi que vous rencontrez concerne la création d'une requête SQL qui filtre les mouvements de stock avant une certaine date et calcule la quantité restante en stock pour chaque référence d'article.

Pour vous aider, voici un exemple de requête SQL qui pourrait répondre à vos besoins. Cette requête sélectionne les mouvements avant une date donnée, additionne les quantités pour chaque référence d'article, et produit une seule ligne par article avec la quantité restante en stock:
SELECT
reference_article,
SUM(CASE
WHEN type_mouvement = 'achat' THEN quantite
WHEN type_mouvement = 'vente' THEN -quantite
ELSE 0
END) AS quantite_stock
FROM
mouvement_stock
WHERE
date <= '2019-12-31'
GROUP BY
reference_article;

Explications :

SUM(CASE ...) : Additionne les quantités d'achat et soustrait les quantités de vente pour chaque référence d'article.

WHERE date <= '2019-12-31' : Filtre les mouvements avant le 31 décembre 2019.

GROUP BY reference_article : Regroupe les résultats par référence d'article pour obtenir une seule ligne par article.

Si cette requête ne fonctionne pas correctement, il pourrait y avoir un problème avec la façon dont les données sont stockées ou avec les types de données. Assurez-vous que la colonne date est correctement formatée et que les types de mouvements (achat/vente) sont correctement spécifiés.
https://www.wellnow-urgentcare.com
Posté le 21 juillet 2025 - 11:28
escribío:
Bonjour,

j'ai crée un petit logiciel de gestion de srtock.

Lorsqu'on encode les factures d'achat ou vente, dans la table mouvement_stock, s'ajouter :

la référence de l'article La quantité Le Prix d'achat La date

Lorsque je veux faire ma requête, je voudrais qu'elle trie tous les mouvement, pour ne prendre par exemple tous les mouvements avant le 31/12/2019. Et je voudrais qu'il calcule les quantité en stock restante. pour ne sortir qu'une ligne par référence et la quantité restant en stock.

Mais je n'y arrive pas, car quand je crée la requête si je mets la date, elle n'additionne que les articles de même référence et de même date.

Si je mets pas la date dans la requête et que je lance un test en mettant un paramètre ( Par exemple 31/12/2020 )la, la requête fonctionne.

Par contre dès que je fais mon https://www.mymilestonecards.org état avec la requête, cela ne fonctionne pas, on dirait que le paramètre ne passe pas.

J'espère avoir été clair.

D'avance merci pour votre aide.



Pour vous aider, voici un exemple de requête SQL qui pourrait répondre à vos besoins. Cette requête sélectionne les mouvements avant une date donnée, additionne les quantités pour chaque référence d'article, et produit une seule ligne par article avec la quantité restante en stock:
SELECT
reference_article,
SUM(CASE
WHEN type_mouvement = 'achat' THEN quantite
WHEN type_mouvement = 'vente' THEN -quantite
ELSE 0
END) AS quantite_stock
FROM
mouvement_stock
WHERE
date <= '2019-12-31'
GROUP BY
reference_article;

Explications :

SUM(CASE ...) : Additionne les quantités d'achat et soustrait les quantités de vente pour chaque référence d'article.

WHERE date <= '2019-12-31' : Filtre les mouvements avant le 31 décembre 2019.

GROUP BY reference_article : Regroupe les résultats par référence d'article pour obtenir une seule ligne par article.
Posté le 05 mars 2026 - 07:54
Angela Guar escribío:
escribío:
Bonjour,

j'ai crée un petit logiciel de gestion de srtock.

Lorsqu'on encode les factures d'achat ou vente, dans la table mouvement_stock, s'ajouter :

la référence de l'article La quantité Le Prix d'achat La date

Lorsque je veux faire ma requête, je voudrais qu'elle trie tous les mouvement, pour ne prendre par exemple tous les mouvements avant le 31/12/2019. Et je voudrais qu'il calcule les quantité en stock restante. pour ne sortir qu'une ligne par référence et la quantité restant en stock.

Mais je n'y arrive pas, car quand je crée la requête si je mets la date, elle n'additionne que les articles de même référence et de même date.

Si je mets pas la date dans la requête et que je lance un test en mettant un paramètre ( Par exemple 31/12/2020 )la, la requête fonctionne.

Par contre dès que je fais mon https://blockblast2.io/ état avec la requête, cela ne fonctionne pas, on dirait que le paramètre ne passe pas.

J'espère avoir été clair.

D'avance merci pour votre aide.


Pour vous aider, voici un exemple de requête SQL qui pourrait répondre à vos besoins. Cette requête sélectionne les mouvements avant une date donnée, additionne les quantités pour chaque référence d'article, et produit une seule ligne par article avec la quantité restante en stock:
SELECT
reference_article,
SUM(CASE
WHEN type_mouvement = 'achat' THEN quantite
WHEN type_mouvement = 'vente' THEN -quantite
ELSE 0
END) AS quantite_stock
FROM
mouvement_stock
WHERE
date <= '2019-12-31'
GROUP BY
reference_article;

Explications :

SUM(CASE ...) : Additionne les quantités d'achat et soustrait les quantités de vente pour chaque référence d'article.

WHERE date <= '2019-12-31' : Filtre les mouvements avant le 31 décembre 2019.

GROUP BY reference_article : Regroupe les résultats par référence d'article pour obtenir une seule ligne par article.


Utilise une requête avec SUM et GROUP BY et filtre par date avant l’agrégation. Cela permet d’obtenir une seule ligne par article avec la quantité restante en stock.
Posté le 05 mars 2026 - 07:54
Angela Guar escribío:
escribío:
Bonjour,

j'ai crée un petit logiciel de gestion de srtock.

Lorsqu'on encode les factures d'achat ou vente, dans la table mouvement_stock, s'ajouter :

la référence de l'article La quantité Le Prix d'achat La date

Lorsque je veux faire ma requête, je voudrais qu'elle trie tous les mouvement, pour ne prendre par exemple tous les mouvements avant le 31/12/2019. Et je voudrais qu'il calcule les quantité en stock restante. pour ne sortir qu'une ligne par référence et la quantité restant en stock.

Mais je n'y arrive pas, car quand je crée la requête si je mets la date, elle n'additionne que les articles de même référence et de même date.

Si je mets pas la date dans la requête et que je lance un test en mettant un paramètre ( Par exemple 31/12/2020 )la, la requête fonctionne.

Par contre dès que je fais mon https://blockblast2.io/ état avec la requête, cela ne fonctionne pas, on dirait que le paramètre ne passe pas.

J'espère avoir été clair.

D'avance merci pour votre aide.


Pour vous aider, voici un exemple de requête SQL qui pourrait répondre à vos besoins. Cette requête sélectionne les mouvements avant une date donnée, additionne les quantités pour chaque référence d'article, et produit une seule ligne par article avec la quantité restante en stock:
SELECT
reference_article,
SUM(CASE
WHEN type_mouvement = 'achat' THEN quantite
WHEN type_mouvement = 'vente' THEN -quantite
ELSE 0
END) AS quantite_stock
FROM
mouvement_stock
WHERE
date <= '2019-12-31'
GROUP BY
reference_article;

Explications :

SUM(CASE ...) : Additionne les quantités d'achat et soustrait les quantités de vente pour chaque référence d'article.

WHERE date <= '2019-12-31' : Filtre les mouvements avant le 31 décembre 2019.

GROUP BY reference_article : Regroupe les résultats par référence d'article pour obtenir une seule ligne par article.


Utilise une requête avec SUM et GROUP BY et filtre par date avant l’agrégation. Cela permet d’obtenir une seule ligne par article avec la quantité restante en stock.