diff --git a/modules/purchase_trade/sale.py b/modules/purchase_trade/sale.py index a0bc309..c187ceb 100755 --- a/modules/purchase_trade/sale.py +++ b/modules/purchase_trade/sale.py @@ -277,6 +277,16 @@ class Sale(metaclass=PoolMeta): return quantity_to_words(self.lines[0].quantity) else: return '' + + @property + def report_nb_bale(self): + text_bale = 'Nb Bales: ' + nb_bale = 0 + if self.lines: + for line in self.lines: + if line.lots: + nb_bale += sum([l.lot_qt for l in line.lots if l.lot_type == 'physic']) + return text_bale + str(nb_bale) @property def report_price(self): diff --git a/modules/sale/sale_ict.fodt b/modules/sale/sale_ict.fodt index c08d058..151d3bb 100644 --- a/modules/sale/sale_ict.fodt +++ b/modules/sale/sale_ict.fodt @@ -1,10 +1,10 @@ - LibreOffice/7.6.0.3$Windows_X86_64 LibreOffice_project/69edd8b8ebc41d00b4de3915dc82f8f0fc3b6265Invoice nowillen2026-02-26T13:52:00Z2026-03-09T17:59:00.1790000002025-12-17T14:25:00Z32PT4H41M34S + LibreOffice/7.6.0.3$Windows_X86_64 LibreOffice_project/69edd8b8ebc41d00b4de3915dc82f8f0fc3b6265Invoice nowillen2026-02-26T13:52:00Z2026-03-09T18:12:30.8700000002025-12-17T14:25:00Z34PT4H45M23S - 43723 + 41453 0 24236 11721 @@ -13,12 +13,12 @@ view2 - 3547 - 44697 + 12876 + 43533 0 - 43723 + 41453 24234 - 55443 + 53172 0 0 false @@ -91,7 +91,7 @@ false false false - 2737201 + 2803949 1846560 false false @@ -162,7 +162,7 @@ - + @@ -667,12 +667,21 @@ - + + + + + + + + + + @@ -681,21 +690,12 @@ - + - + - - - - - - - - - @@ -703,7 +703,7 @@ - + @@ -712,6 +712,7 @@ + @@ -720,16 +721,24 @@ + + + + + + + + - + - + - + @@ -738,24 +747,30 @@ - + - + - + + + + - + - + + + + @@ -3882,7 +3897,7 @@ <for each="sale in records"> - + @@ -3947,9 +3962,9 @@ - - Growth - + + Growth + @@ -3958,20 +3973,20 @@ - Quality - + Quality + - <sale.lines[0].attributes_name> + <sale.lines[0].attributes_name> - Quantity - + Quantity + - ABOUT <sum(line.quantity for line in sale.lines)><sale.lines[0].unit.rec_name.upper() if sale.lines and sale.lines[0].unit else ''>(<sale.report_qt>) + ABOUT <sum(line.quantity for line in sale.lines)><sale.lines[0].unit.rec_name.upper() if sale.lines and sale.lines[0].unit else ''>(<sale.report_qt>) <sale.report_nb_bale> @@ -3982,7 +3997,7 @@ - Price + Price <format_currency(sale.lines[0].unit_price, sale.party.lang, sale.currency) if sale.lines else ''>(<sale.report_price>) <sale.lines[0].get_pricing_text> @@ -4004,10 +4019,12 @@ - Fixation + Fixation - <sale.lines[0].report_fixing_rule> + <for each="line in sale.lines[0].pricing_rule.splitlines()"> + <line> + </for> @@ -4020,10 +4037,11 @@ - Shipment + Shipment <sale.lines[0].del_period.description if sale.lines[0].del_period else ''> + @@ -4035,26 +4053,24 @@ - - Terms + Terms - - <sale.incoterm.code if sale.incoterm else ''><sale.incoterm_location.party_name if sale.incoterm_location else ''>, <sale.wb.description if sale.wb else ''> + <sale.incoterm.code if sale.incoterm else ''><sale.incoterm_location.party_name if sale.incoterm_location else ''>, <sale.wb.description if sale.wb else ''> - Payment + Payment - <sale.payment_term.rec_name if sale.payment_term else '100% CASH AGAINST DOCUMENTS'> - BEFORE <sale.report_payment_date><sale.payment_term.description if sale.payment_term else ''> + <sale.payment_term.rec_name if sale.payment_term else '100% CASH AGAINST DOCUMENTS'> + BEFORE <sale.report_payment_date><sale.payment_term.description if sale.payment_term else ''> - Arbitration & Rules + Arbitration & Rules <if test="sale.association"> @@ -4065,36 +4081,36 @@ - + - - THE SELLERS + + THE SELLERS - - THE BUYERS + + THE BUYERS ICT TRADING SA - - - - - + + + + + - <sale.party.rec_name> + <sale.party.rec_name> - <sale.trader.initial if sale.trader else ''>/<sale.operator.initial if sale.operator else ''> - + <sale.trader.initial if sale.trader else ''>/<sale.operator.initial if sale.operator else ''> + </for>