[FIX] l10n_it_stock_ddt: fix invoice with empty l10n_it_ddt_number

Steps to reproduce:
- Install Accounting, Inventory, Sales and l10n_it_edi
- Switch to an Italian company (e.g. IT company)
- Create a storable product (e.g. Product X)
- Update its available quantity to more than 0
- Create a SO with Product X and confirm it
- Deliver the products
- Install l10n_it_stock_ddt
- From SO, create an invoice and confirm it

Issue:
When confirming the invoice, a traceback is raised:
"TypeError: 'bool' object is not subscriptable"

Cause:
When installing "l10n_it_stock_ddt", a new char field "l10n_it_ddt_number"
is added to "stock.picking" model, but its value is False for existing
pickings.
When generating the electronic invoice, "format_alphanumeric" is performed
on the field, assuming it has a string value.

opw-3661824

closes odoo/odoo#151262

X-original-commit: 67bbf31e57959631d98586f5a4d22f981b344066
Signed-off-by: Cedric Snauwaert <csn@odoo.com>
Signed-off-by: Anh Thao Pham (pta) <pta@odoo.com>
This commit is contained in:
Anh Thao Pham (pta)
2024-01-26 06:33:41 +00:00
parent 0707637924
commit bf1cc4b913
@@ -4,7 +4,7 @@
<xpath expr='//DatiDDT' position="after">
<t t-if="ddt_dict and not record.l10n_it_ddt_id" t-foreach="ddt_dict" t-as="picking">
<DatiDDT>
<NumeroDDT t-esc="format_alphanumeric(picking.l10n_it_ddt_number[-20:])"/>
<NumeroDDT t-if="picking.l10n_it_ddt_number" t-esc="format_alphanumeric(picking.l10n_it_ddt_number[-20:])"/>
<DataDDT t-esc="format_date(picking.date_done)"/>
<t t-if="len(ddt_dict) > 1" t-foreach="ddt_dict[picking]" t-as="line_ref">
<RiferimentoNumeroLinea t-esc="line_ref"/>