From 565cb99ec02e6ec5e8480831128a57c6e0c176c2 Mon Sep 17 00:00:00 2001 From: "Lucas Perais (lpe)" Date: Wed, 17 Jul 2019 14:03:40 +0000 Subject: [PATCH] [FIX] l10n_be_intrastat: weight must be > 0.01 Fine tuning of 06d149a3b1c59594d776e418658e7b5db043a7d2 It appears that according to https://www.nbb.be/doc/dq/f_pdf_ex/nieuwsbriefintrastat_n28_2018_fr.pdf minimum weight is 0.01, and that anything below should be rounded to 0.01 OPW 2031682 closes odoo/odoo#34951 Signed-off-by: Lucas Perais (lpe) --- addons/l10n_be_intrastat/wizard/xml_decl.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/addons/l10n_be_intrastat/wizard/xml_decl.py b/addons/l10n_be_intrastat/wizard/xml_decl.py index d6ca134aa97..170f49e0d68 100644 --- a/addons/l10n_be_intrastat/wizard/xml_decl.py +++ b/addons/l10n_be_intrastat/wizard/xml_decl.py @@ -114,6 +114,11 @@ class XmlDeclaration(models.TransientModel): round_digits = self._get_rounding_digits() _round = partial(float_round, precision_digits=round_digits) + value, weight, supply_units = amounts + # Assuming weight cannot be negative + if weight >= 0 and weight < 0.01: + weight = 0.01 + self._set_Dim(item, 'EXSEQCODE', unicode(numlgn)) self._set_Dim(item, 'EXTRF', unicode(linekey.EXTRF)) self._set_Dim(item, 'EXCNT', unicode(linekey.EXCNT)) @@ -123,9 +128,9 @@ class XmlDeclaration(models.TransientModel): if extendedmode: self._set_Dim(item, 'EXTPC', unicode(linekey.EXTPC)) self._set_Dim(item, 'EXDELTRM', unicode(linekey.EXDELTRM)) - self._set_Dim(item, 'EXTXVAL', unicode(_round(amounts[0])).replace(".", ",")) - self._set_Dim(item, 'EXWEIGHT', unicode(_round(amounts[1])).replace(".", ",")) - self._set_Dim(item, 'EXUNITS', unicode(_round(amounts[2])).replace(".", ",")) + self._set_Dim(item, 'EXTXVAL', unicode(_round(value)).replace(".", ",")) + self._set_Dim(item, 'EXWEIGHT', unicode(_round(weight)).replace(".", ",")) + self._set_Dim(item, 'EXUNITS', unicode(_round(supply_units)).replace(".", ",")) def _get_intrastat_linekey(self, declcode, inv_line, dispatchmode, extendedmode): IntrastatRegion = self.env['l10n_be_intrastat.region']