Mouvement de stock dans un module

Bonjour à tous !

J’ai besoin, pour un module, de faire des mouvements de stock sur des articles de commandes fournisseurs. C’est-à-dire que j’aimerais pouvoir utiliser le mécanisme qui se produit lorsqu’on clique sur « Ventiler » dans la page de réception de commande fournisseur.

Après avoir beaucoup fouillé dans le code des commandes fournisseurs, j’ai cru comprendre que pour effectuer un mouvement de stock sur l’article d’une de ces dernières, il fallait instancier CommandeFournisseur, puis utiliser la fonction dispatchProduct(..) après avoir fetch la commande.

Mais malheureusement, malgré le fait que je lui passe les bons paramètres, en sortie de fonction je ne constate aucune insertion dans la table stock_mouvement. Et pourtant, la fonction me renvoie 1, ce qui veut donc dire qu’elle ne rencontre pas d’erreur lors de son exécution. Il y a néanmoiins une insertion effectuée dans commande_fournisseur_dispatch, mais le stock n’est pas modifié.

Ma ligne d’appel : echo $cf->dispatchProduct($user,$p->id,$qte,1);$p est un Product fetché.

Est-ce que je me trompe de méthodologie ? Est-ce que je suis sur une fausse bonne piste ?

Merci d’avance pour vos réponses et bonne fin de journée.

Corentin

Bonjour :slightly_smiling_face:

STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER ?

Bonjour,

Il est à 1, puisque après test j’entre bien dans le if. A quoi cette valeur correspond-elle ?

Visiblement a générer le mouvement de stock
vu dans : dolibarr/fourn/class/fournisseur.commande.class.php

Bonjour,

D’accord, alors je ne vois pas pourquoi la fonction renvoie 1 et que le stock ne se met pas à jour…
Des idées peut-être ? Car j’avoue que je sèche complètement

Bonjour,

Petite mise à jour du coup, le problème venait du fait que je spécifiais une valeur erronée / pas de valeur pour le paramètre fk_commande_fourndet. Après résolution de ce problème, les mouvements de stock s’effectuent correctement.

1 « J'aime »