diff --git a/modules/purchase_trade/purchase.py b/modules/purchase_trade/purchase.py index 7e51b8d..4e581e2 100755 --- a/modules/purchase_trade/purchase.py +++ b/modules/purchase_trade/purchase.py @@ -36,6 +36,7 @@ TRIGGERS = [ ('discharge', 'Discharge NOR'), ('arrival', 'Arrival date'), ('delmonth', 'Delivery month'), + ('deldate', 'Delivery date'), ] class DocType(ModelSQL,ModelView): diff --git a/modules/purchase_trade/sale.py b/modules/purchase_trade/sale.py index a03e319..1f6ad9a 100755 --- a/modules/purchase_trade/sale.py +++ b/modules/purchase_trade/sale.py @@ -278,6 +278,16 @@ class Sale(metaclass=PoolMeta): return amount_to_currency_words(self.lines[0].unit_price) else: return '' + + @property + def report_delivery(self): + del_date = '' + if self.lines: + if self.estimated_date: + delivery_date = [dd.estimated_date for dd in self.estimated_date if dd.trigger=='deldate'] + if delivery_date: + del_date = delivery_date[0] + return del_date @property def report_shipment(self): @@ -287,7 +297,15 @@ class Sale(metaclass=PoolMeta): if shipment: info = 'B/L ' + shipment.bl_number if shipment.container and shipment.container[0].container_no: - info += ' ' + shipment.container[0].container_no + id = 1 + for cont in shipment.container: + if id == 1: + info += ' Containers' + if cont.container_no: + info += ' ' + cont.container_no + else: + info += ' unnamed' + id += 1 if shipment.note: info += ' ' + shipment.note return info diff --git a/modules/sale/sale.fodt b/modules/sale/sale.fodt index 467307f..34944b3 100755 --- a/modules/sale/sale.fodt +++ b/modules/sale/sale.fodt @@ -1,10 +1,10 @@ - LibreOffice/7.6.0.3$Windows_X86_64 LibreOffice_project/69edd8b8ebc41d00b4de3915dc82f8f0fc3b6265Invoice nowillen2026-02-26T13:52:00Z2026-02-27T05:47:38.3430000002025-12-17T14:25:00Z7PT28M8S + LibreOffice/7.6.0.3$Windows_X86_64 LibreOffice_project/69edd8b8ebc41d00b4de3915dc82f8f0fc3b6265Invoice nowillen2026-02-26T13:52:00Z2026-02-27T06:05:06.4840000002025-12-17T14:25:00Z9PT29M56S - 40658 + 37599 0 24236 11721 @@ -13,12 +13,12 @@ view2 - 10469 - 42757 + 15041 + 44309 0 - 40658 + 37599 24234 - 52377 + 49318 0 0 false @@ -91,7 +91,7 @@ false false false - 2082766 + 2091355 1846560 false false @@ -161,7 +161,7 @@ - + @@ -612,16 +612,16 @@ - - - - + + + + @@ -630,10 +630,10 @@ - + - + @@ -642,16 +642,10 @@ - + - - - - - - - + @@ -660,27 +654,36 @@ + - - - - - - - - - - - + - + - + + + + + + + + + + + + + + + + + + + @@ -734,6 +737,9 @@ + + + @@ -3785,7 +3791,7 @@ <for each="sale in records"> - + @@ -3848,9 +3854,9 @@ - - Growth - + + Growth + @@ -3859,20 +3865,20 @@ - Quality - + Quality + - B/L <sale.report_shipment> + <sale.report_shipment> - 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>) @@ -3883,10 +3889,10 @@ - Price + Price - <format_currency(sale.lines[0].unit_price, sale.party.lang, sale.currency) if sale.lines else ''>(<sale.report_price>) + <format_currency(sale.lines[0].unit_price, sale.party.lang, sale.currency) if sale.lines else ''>(<sale.report_price>) @@ -3897,12 +3903,12 @@ - + Delivery - - PROMPT + + <sale.report_delivery if sale.report_delivery else 'PROMPT'> @@ -3914,74 +3920,74 @@ - - Terms + + Terms - + <sale.report_terms> - + - + + + + + + - + Payment + + + <sale.payment_term.rec_name if sale.payment_term else '100% CASH AGAINST DOCUMENTS'> - Payment + - - <sale.payment_term.rec_name if sale.payment_term else '100% CASH AGAINST DOCUMENTS'> - - - - - - - Arbitration & Rules + Arbitration & Rules - ALL DISPUTES RELATING TO THIS CONTRACT WILL BE RESOLVED THROUGH ARBITRATION IN ACCORDANCE WITH THE BYLAWS OF THE INTERNATIONAL COTTON ASSOCIATION, LIMITED. THIS AGREEMENT INCORPORATES THE BYLAWS WHICH SET OUT THE ASSOCIATION’S ARBITRATION PROCEDURE. - - EITHER PARTY MUST NOT TAKE ANY LEGAL ACTION OVER A DISPUTE SUITABLE FOR ARBITRATION, OTHER THAN TO OBTAIN SECURITY FOR ANY CLAIM, UNLESS THEY HAVE FIRST OBTAINED AN ARBITRATION AWARD FROM THE INTERNATIONAL COTTON ASSOCIATION, LIMITED AND EXHAUSTED ALL MEANS OF APPEAL ALLOWED BY THE ASSOCIATION’S BYLAWS. + - EITHER PARTY MUST NOT TAKE ANY LEGAL ACTION OVER A DISPUTE SUITABLE FOR ARBITRATION, OTHER THAN TO OBTAIN SECURITY FOR ANY CLAIM, UNLESS THEY HAVE FIRST OBTAINED AN ARBITRATION AWARD FROM THE INTERNATIONAL COTTON ASSOCIATION, LIMITED AND EXHAUSTED ALL MEANS OF APPEAL ALLOWED BY THE ASSOCIATION’S BYLAWS. - + - - THE SELLERS + + THE SELLERS - - THE BUYERS + + THE BUYERS ICT TRADING SA - + iVBORw0KGgoAAAANSUhEUgAAAQ8AAAEJCAIAAAAFFDV0AAAAAXNSR0IArs4c6QAA/8pJREFU eF7sfQeAXGd19etletned7Wr3VXvsootW+69gk2HQIAkJIEUElJ+SAKBhBJqEhICxEAcsDHF vcmybFlW72V7r7PT5/X2n++NJBsjxZZtjAx+DPKW2Zk37333u/eee+65tOu6lH84jsMwDL61 @@ -5608,7 +5614,7 @@ - <sale.party.rec_name> + <sale.party.rec_name>