Skip to content

About

Module Odoo 19 : code-barres produit sur les lignes du bon de livraison

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

Repository files navigation

bl_barcode — Code-barres produit sur bon de livraison

Ajoute le code-barres de l'article (champ barcode de product.product) sous le nom du produit, sur chaque ligne du rapport Bon de livraison (stock.report_deliveryslip).

  • Version Odoo : 19.0 (Enterprise et Community)
  • Dépendances : stock uniquement
  • Licence : LGPL-3
  • Code Python : aucun, uniquement des héritages QWeb

Ce que fait le module

Le rapport BL standard rend ses lignes via trois chemins différents selon le contexte. Le module surcharge les trois, sans quoi le code-barres disparaîtrait au moment de la validation du transfert :

Contexte Template hérité
Transfert non validé stock.report_delivery_document (tableau stock_move_table)
Validé, lots/série imprimés stock.stock_report_delivery_has_serial_move_line
Validé, lignes agrégées stock.stock_report_delivery_aggregated_move_lines

Les articles sans code-barres renseigné sont imprimés normalement : seule l'image est omise pour ces lignes, aucune ligne n'est masquée.

Et le bon de préparation ?

Il n'a pas besoin de ce module. Odoo 19 imprime déjà les codes-barres des articles sur le bon de préparation (stock.report_picking), qui est le document du magasinier. Le module n'y touche pas et ne le modifie en rien : il comble uniquement le manque côté bon de livraison, le document client.

Installation

git clone <url-du-depot> /opt/odoo/custom-addons/bl_barcode
# ajouter le répertoire parent à addons_path dans odoo.conf
sudo systemctl restart odoo
./odoo-bin -c odoo.conf -d <base> -i bl_barcode --stop-after-init

Configuration

Depuis la v19.0.1.1.0, tout se règle depuis l'interface : Inventaire → Configuration → Paramètres, bloc « Shipping ».

Réglage Défaut Effet
Code-barres article sur le bon de livraison activé Imprime l'image du code-barres sous le nom de l'article.
Hauteur du code-barres 30 px Bornée à 10–200 px. En dessous de 20 px la lecture devient capricieuse selon les douchettes.
Chiffres sous les barres désactivé Incruste le numéro dans l'image. Rendu pixellisé, et illisible en dessous de ~45 px de hauteur. Préférer l'option ci-dessous.
Numéro entre parenthèses après le nom activé Affiche le numéro en clair dans la police du document — Café moulu 250g (5449000000996).

Les deux dernières options sont indépendantes : on peut afficher le numéro en texte sans code-barres, ou l'inverse.

La symbologie reste fixée dans le template (symbology: auto) : EAN13 si la valeur s'y prête, Code128 sinon. Le repli est automatique et conserve la valeur exacte — inutile de forcer Code128, cela ferait perdre le rendu EAN13 des codes GS1.

Point de vigilance

Le cas des lignes agrégées lit la clé product du dictionnaire retourné par _get_aggregated_product_quantities(). Cette clé est présente en 19.0 standard. Si un module tiers surcharge la méthode et la supprime, l'accès défensif (.get()) fait que rien ne s'imprime, plutôt que de casser le PDF.

Alternative écartée

OCA/stock-logistics-barcode fournit stock_picking_product_barcode_report, qui imprime une planche d'étiquettes séparée via un assistant. Besoin différent, et pas de branche 19.0 à ce jour.

About

Module Odoo 19 : code-barres produit sur les lignes du bon de livraison

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages