TL;DR
Dans les DROM (Département et Région d'Outre Mer) comme la Guadeloupe, la Martinique, la Guyane et la Réunion, l'importation occupe une place importante dans le commerce. La question du remplissage de conteneurs revient souvent. Pour une activité de négoce où le besoin client nécessite de passer des commandes à l'importation régulièrement, il est nécessaire d'automatiser le remplissage des conteneurs. Le cas que nous résolvons avec une solution simple, est celui d'une société créant au fil de l'eau des commandes pour ses clients et qui souhaite valider ces commandes dès qu'il sait qu'il peut remplir un conteneur. En effet, faire venir un conteneur à moitié rempli représente un réel manque à gagner pour un importateur de la Guadeloupe, de la Martinique, de la Guyane ou de la Réunion.
Etape 1: Adaptation des lignes d'une commande fournisseurs
Dans le module Achat, à l'aide de studio, modifier la vue formulaire associée à la liste des produits d'une commande d'achat:
Dans cette vue formulaire, ajouter l'onglet "Conteneur" comme suit:
Dans cet onglet, nous allons ajouter 4 champs à l'aide de studio:
- Poids
- Volume
- Poids total
- Volume total
Nommés respectivement:
- x_studio_poids (champ associé à product_id.weight)
- x_studio_volume (champ associé à product_id.volume)
- x_studio_poids_total
- x_studio_volume_total
Nous choisissons comme type de données, Décimale.
Les champs "Poids total" et "Volume total" devront se mettre à jour automatiquement. Nous allons donc les transformés en champs calculés comme suit:
Pour "Poids total"
Pour "Volume total"

Maintenant que ces champs ont été ajoutés nous pouvons les ajouter en tant que colonne des lignes de la commande d'achat.


Etape 2: Créer un nouveau module "Import/Export" avec Odoo Studio
Depuis l'écran d'accueil de Odoo nous créons un nouveau module avec Odoo Studio que nous appellerons "Import/Export".
Dans ce nouveau module nous allons créer une nouvelle entité "Conteneur". Cette nouvelle entité comme son nom l'indique représente un conteneur dans lequel seront entreposé les commandes d'achat.



Dans le formulaire associé à notre nouvelle entité "Conteneur" ajoutons les champs suivants:
- Poids maximal
- Volume maximal
- Poids total commandes
- Volume total commandes
Nommés respectivement:
- x_studio_poids_maximal
- x_studio_volume_maximal
- x_studio_poids_total_commandes
- x_studio_volume_total_commandes

On crée un champ calculé pour le champ "Poids total commandes"

On crée un champ calculé pour le champ "Volume total commandes"

Etape 3: Ajout d'un champ conteneur sur les commandes d'achat
Avec Studio, modifions le formulaire de commande d'achat afin de lui ajouter un champ "Conteneur"


Etape 4: Ajout d'un onglet "Commande d'achat" dans le formulaire de la nouvelle entité "Conteneur"
Ajoutons à ce formulaire un onglet "Commandes d'achat" afin d'y afficher toutes commandes d'achat que contiendra le conteneur.
Dans cet onglet ajoutons l'affichage des commandes d'achats contenues dans le conteneurs avec un champ "One2Many".

Teste du module "Import/Export"
Créons deux articles pour tester notre module
- MARCHANDISE 01
- MARCHANDISE 02


Créons un conteneur comme suit depuis le module "Import/Export"

Créons maintenant une commande d'achat comportant ces 2 produits comme suit

Retournons dans le conteneur associé pour constater la mise à jour des commandes et du poids et du volume total de ce dernier.

Conclusion
Dans cette article nous avons montré comment il était possible à l'aide de Odoo Studio de créer, assez simplement, un module permettant de suivre le remplissage de ses conteneurs à l'importation. Bien sûr, nous pourrions allé beaucoup plus loin en créant un module personnalisé où il serait possible de définir des alertes lorsque le conteneur est en dépassement de capacité.