Matching price

This commit is contained in:
2026-06-13 17:37:32 +02:00
parent e6de614507
commit 8a60a8e67f
2 changed files with 28 additions and 2 deletions

View File

@@ -2821,6 +2821,10 @@ class LotReport(
r_sale_line_price = fields.Function(
fields.Numeric("Sale Price", digits=(16, 4)),
'get_sale_line_price')
r_purchase_currency_symbol = fields.Function(
fields.Char("Purchase Currency"), 'get_purchase_currency_symbol')
r_sale_currency_symbol = fields.Function(
fields.Char("Sale Currency"), 'get_sale_currency_symbol')
r_del_period = fields.Many2One(
'product.month', "Purchase Shipment Period")
r_sale_del_period = fields.Many2One(
@@ -3067,6 +3071,14 @@ class LotReport(
def get_sale_line_price(self, name=None):
return getattr(self.r_sale_line, 'unit_price', None)
def get_purchase_currency_symbol(self, name=None):
currency = getattr(getattr(self.r_line, 'purchase', None), 'currency', None)
return getattr(currency, 'symbol', None) or getattr(currency, 'code', None)
def get_sale_currency_symbol(self, name=None):
currency = getattr(getattr(self.r_sale_line, 'sale', None), 'currency', None)
return getattr(currency, 'symbol', None) or getattr(currency, 'code', None)
#@classmethod
#def delete(cls, records):
# Unmatch = Pool().get('lot.unmatch', type='wizard')
@@ -3761,6 +3773,14 @@ class LotMatching(Wizard):
'lot_r_id': cls._record_id(lqt),
'lot_purchase': cls._record_id(purchase),
'lot_sale': cls._record_id(sale),
'lot_purchase_reference': (
getattr(purchase, 'reference', None)
or getattr(purchase, 'our_reference', None)),
'lot_sale_reference': (
getattr(sale, 'reference', None)
or getattr(sale, 'our_reference', None)),
'lot_purchase_line_price': getattr(line, 'unit_price', None),
'lot_sale_line_price': getattr(sale_line, 'unit_price', None),
'lot_shipment_in': cls._record_id(lqt.lot_shipment_in),
'lot_shipment_internal': cls._record_id(
lqt.lot_shipment_internal),
@@ -3787,6 +3807,10 @@ class LotMatching(Wizard):
'lot_r_id': None,
'lot_purchase': cls._record_id(purchase),
'lot_sale': None,
'lot_purchase_reference': (
getattr(purchase, 'reference', None)
or getattr(purchase, 'our_reference', None)),
'lot_purchase_line_price': getattr(line, 'unit_price', None),
'lot_shipment_in': cls._record_id(
getattr(lot, 'lot_shipment_in', None)),
'lot_shipment_internal': cls._record_id(

View File

@@ -6,11 +6,11 @@
<field name="r_supplier" width="90"/>
<field name="r_purchase" width="120"/>
<field name="r_purchase_reference" width="120"/>
<field name="r_purchase_line_price" width="100"/>
<field name="r_purchase_line_price" symbol="r_purchase_currency_symbol" width="100"/>
<field name="r_lot_pur_inv" width="120"/>
<field name="r_sale" width="120"/>
<field name="r_sale_reference" width="120"/>
<field name="r_sale_line_price" width="100"/>
<field name="r_sale_line_price" symbol="r_sale_currency_symbol" width="100"/>
<field name="r_client" width="90"/>
<field name="r_lot_sal_inv" width="120"/>
<field name="r_lot_state" width="60"/>
@@ -34,6 +34,8 @@
<field name="r_shipping_status" widget="badge" string="Shipping status" badge_colors="shipped:#16a34a,unshipped:#ef4444,planned:#06b6d4,scheduled:#f59e0b" width="120"/>
<field name="r_lot_status"/>
<field name="r_lot_av" width="80" optional="1" tree_invisible="1"/>
<field name="r_purchase_currency_symbol" tree_invisible="1"/>
<field name="r_sale_currency_symbol" tree_invisible="1"/>
<field name="r_lot_quantity" symbol="r_lot_unit_line" width="120" sum="1"/>
<field name="r_lot_matched" symbol="r_lot_unit_line" width="120" sum="1"/>
<field name="r_tot" symbol="r_lot_unit_line" width="120" sum="1"/>