Mettre à jour le stock après modification (Calcul du PMP)

free_dom Messages postés 3 Date d'inscription mardi 24 février 2015 Statut Membre Dernière intervention 26 février 2015 - 24 févr. 2015 à 14:08
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 26 févr. 2015 à 17:38
Bonjour,

je suis entrain de développer une application de gestion de stock,
j'ai des bons de réception et des bons de sortie, à chaque mouvement je garde l'historique des différentes opérations dans une table Mouvements qui a un identifiant automatique.

dans cette application on permets la modification des bons (Qte/Prix) pour chaque produit.

mon problème est comment mettre à jour le stock (table stock) en cas de modification d'un bon antérieur (Réception ou sortie), en se basant sur la formule de calcul du PMP après chaque entrée:
PMP= (Qte_Actuel * PMP) + (Qte_Recu * Prix_U) / (Qte_Actuel +Qte_recu)

Quel sont les éléments à prendre en compte pour permettre la mise à jour du stock après une modification dans un bon.

Merci.

2 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
24 févr. 2015 à 15:01
Bonjour,

Avant toute chose ... que contient ta table stock ?
- quels champs y trouve-t-on ?
- A quoi correspondent ces différents champs ?

Sachant que la Quantité de produit disponible n'a normalement pas à être stocké en dur dans une table.. puisqu'il suffit, via une requête, de faire des SUM .. des Qté Entréés / Sorties .....( Qté actuelle = SUM(Qté entréés) - SUM (Qté sorties) )


0
free_dom Messages postés 3 Date d'inscription mardi 24 février 2015 Statut Membre Dernière intervention 26 février 2015
Modifié par free_dom le 26/02/2015 à 12:21
Bonjour,

Je m'excuse pour ma réponse tardive,

sans prendre en compte l'optimisation des tables, la table mouvement et la table stock sont comme suit avec un exemple pour l'article 001:



donc comme j'ai dit précédemment, mon problème est avec la modification d'un mouvement antérieur par exemple dans la ligne 2 de la table mouvement, je dois modifier la quantité reçue, au lieu de 5 je devrais mettre 10.

donc je dois modifier toute les lignes de la table mouvement qui viennent après puis je mets à jour le stock (Qte_Actuel et PMP).

Avez vous une idée comment je dois procéder pour recalculer le PMP dans ce cas.

NB: j'ai essayé de joindre un fichier excel mais ça ne marche pas.

Merci.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
26 févr. 2015 à 13:05
Par contre tu n'as pas lu tout ce que je t'ai marqué....
comme je le supposais... tu sauvegarde en dur .. la qte initiale et la qte actuelle...... alors que ces données.... tu peux les obtenir simplement avec des requêtes de type SUM ......
Il n'y a donc aucune utilité à les stocker en DUR dans ta BDD ...... et ainsi... plus besoin d'essayer des les mettre à jour si tu changes un enregistrement antérieur....
0
free_dom Messages postés 3 Date d'inscription mardi 24 février 2015 Statut Membre Dernière intervention 26 février 2015
26 févr. 2015 à 14:37
Merci jordane45,

Effectivement, vous avez raison concernant la sauvegarde en dur de la Qte_Actuelle, mais le PMP est calculé avec la formule:

PMP= (Qte_Actuel * PMP) + (Qte_Recu * Prix_U) / (Qte_Actuel +Qte_recu).

et cela se fait après chaque entrée, par contre, en cas de sortie le PMP reste le même.

A votre avis qu'est ce que je dois mettre comme données dans la table Stock ?



et cela après chaque entrée.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344 > free_dom Messages postés 3 Date d'inscription mardi 24 février 2015 Statut Membre Dernière intervention 26 février 2015
26 févr. 2015 à 17:38
Déjà... qu'est-ce que le "PMP" ?
Ensuite... est-ce normal qu'il apparaisse à deux endroits dans la formule ? .. pour le calculer.. il faudrait déjà mettre en forme la formule pour le PMP soit tout seul à gauche du = ..... (et pas présent aussi à droite....)
Enfin.. comme il est possible de retouver par requêtes pour une date donnée :
- La qte_actuelle , le Prix_U, la Qte_recu .... je ne vois pas pourquoi on ne pourrait pas calculer le PMP dynamiquement directement....
0
Rejoignez-nous