Line 1:
Line 1:
[[Category:Stock]]
[[Category:Stock]]
+
{{TemplateDocDev}}
{{BasculeDevUser|
{{BasculeDevUser|
nom=Stock|
nom=Stock|
devdoc=Cette page|
devdoc=Cette page|
userdoc=[[Stock]]|}}
userdoc=[[Stock]]|}}
−
{{TemplateDocDev}}
−
−
== Fonction ==
+
= Fonction =
Le module stock permet de gérer une liste d'entrepôts (ou tout autre "contenant") et de répertorier, à tout moment, la liste et quantité des produits qu'il contient.
Le module stock permet de gérer une liste d'entrepôts (ou tout autre "contenant") et de répertorier, à tout moment, la liste et quantité des produits qu'il contient.
Quand un produit est livré, le choix de l'entrepôt source est réalisé est la quantité est automatiquement décrémentée.
Quand un produit est livré, le choix de l'entrepôt source est réalisé est la quantité est automatiquement décrémentée.
Line 16:
Line 15:
La gestion du stock de cette façon ne permet pas, à l'état actuel, d'incrémenter le stock sur une livraison fournisseur.
La gestion du stock de cette façon ne permet pas, à l'état actuel, d'incrémenter le stock sur une livraison fournisseur.
+
= Entité Entrepot =
+
{{TemplateDocDevEntityFr|
+
class=htdocs/product/stock/entrepot.class.php}}
−
== Implémentation ==
+
= Implémentation =
−
=== Expéditions ===
+
== Expéditions ==
La modification du stock sur expédition se fait dans le script htdocs/expedition/commandes.php et utilise la classe expedition.class.php (méthode ''valid()''). La vérification avant modification du stock se fait comme suit:
La modification du stock sur expédition se fait dans le script htdocs/expedition/commandes.php et utilise la classe expedition.class.php (méthode ''valid()''). La vérification avant modification du stock se fait comme suit:
Line 25:
Line 27:
if ($conf->stock->enabled && $this->entrepot_id && $conf->global->STOCK_CALCULATE_ON_SHIPMENT == 1)
if ($conf->stock->enabled && $this->entrepot_id && $conf->global->STOCK_CALCULATE_ON_SHIPMENT == 1)
−
=== Commandes/Livraison ===
+
== Commandes/Livraison ==
Lorsque l'option d'incrémenter le stock sur commandes est activée, du côté des commandes fournisseurs, c'est la classe htdocs/fourn/fournisseur.commande.class.php qui prend en charge l'incrémentation du stock au travers de sa méthode ''DispatchProduct()''. L'activation de cette commande n'est possible qu'à l'état 3 et 4 de la commande fournisseur, ce qui veut dire qu'il ne faut pas rater son coup au moment d'encoder la commande. Une fois la commande "envoyée", il est possible de placer les produits dans le stock en cliquant sur l'onglet Dispatch (''Ventilation'').
Lorsque l'option d'incrémenter le stock sur commandes est activée, du côté des commandes fournisseurs, c'est la classe htdocs/fourn/fournisseur.commande.class.php qui prend en charge l'incrémentation du stock au travers de sa méthode ''DispatchProduct()''. L'activation de cette commande n'est possible qu'à l'état 3 et 4 de la commande fournisseur, ce qui veut dire qu'il ne faut pas rater son coup au moment d'encoder la commande. Une fois la commande "envoyée", il est possible de placer les produits dans le stock en cliquant sur l'onglet Dispatch (''Ventilation'').
−
== Améliorations possibles ==
+
= Améliorations possibles =
La gestion du stock devrait pouvoir incorporer une intégration des livraisons fournisseurs directement dans un stock au choix. De même, une livraison d'un produit composé de plusieurs sous-produits devrait pouvoir être intégrée au stock sous forme des différents constituants plutôt que du tout.
La gestion du stock devrait pouvoir incorporer une intégration des livraisons fournisseurs directement dans un stock au choix. De même, une livraison d'un produit composé de plusieurs sous-produits devrait pouvoir être intégrée au stock sous forme des différents constituants plutôt que du tout.
Cette intégration peut être faite de façon simple en ajoutant un checkbox dans fourn/commande/dispatch.php, une méthode donnant la liste détaillée des composants d'un produit (incluant les quantités), et une nouvelle méthode commandeFournisseur::DispatchProductAsComponents() qui va chercher la liste des enfants et les place un à un dans le stock.
Cette intégration peut être faite de façon simple en ajoutant un checkbox dans fourn/commande/dispatch.php, une méthode donnant la liste détaillée des composants d'un produit (incluant les quantités), et une nouvelle méthode commandeFournisseur::DispatchProductAsComponents() qui va chercher la liste des enfants et les place un à un dans le stock.
−
== Permissions ==
+
= Permissions =
−
== Tables SQL ==
+
= Tables SQL =
* [[Table llx_entrepot]] Contient la liste des entrepots
* [[Table llx_entrepot]] Contient la liste des entrepots