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 :
stockuniquement - Licence : LGPL-3
- Code Python : aucun, uniquement des héritages QWeb
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.
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.
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-initDepuis 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.
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.
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.