This commit is contained in:
2026-02-14 17:38:43 +01:00
parent e43189f052
commit 9ed4d5f6bb
3 changed files with 13 additions and 6 deletions

View File

@@ -2014,7 +2014,7 @@ class LotShipping(Wizard):
if r.r_lot_shipment_in: if r.r_lot_shipment_in:
raise UserError("Please unlink before linking to a new shipment !") raise UserError("Please unlink before linking to a new shipment !")
else: else:
shipped_quantity = Decimal(r.r_lot_quantity) shipped_quantity = Decimal(str(r.r_lot_quantity)).quantize(Decimal("0.00001"))
shipment_origin = None shipment_origin = None
if self.ship.quantity: if self.ship.quantity:
shipped_quantity = self.ship.quantity shipped_quantity = self.ship.quantity

View File

@@ -331,6 +331,11 @@ class Sale(metaclass=PoolMeta):
if self.lines.lots: if self.lines.lots:
return [l for l in self.lines.lots] return [l for l in self.lines.lots]
def get_matched_lines(self):
if self.lots:
LotQt = Pool().get('lot.qt')
return LotQt.search([('lot_s','=',self.lots[0].id),('lot_p','>',0)])
@classmethod @classmethod
def validate(cls, sales): def validate(cls, sales):
super(Sale, cls).validate(sales) super(Sale, cls).validate(sales)
@@ -343,11 +348,12 @@ class Sale(metaclass=PoolMeta):
Line.save([line]) Line.save([line])
if line.lots: if line.lots:
line_p = line.lots[0].line line_p = line.get_matched_lines()#line.lots[0].line
if line_p: if line_p:
#compute pnl for l in line_p:
Pnl = Pool().get('valuation.valuation') #compute pnl
Pnl.generate(line_p) Pnl = Pool().get('valuation.valuation')
Pnl.generate(l)
# if line.quantity_theorical: # if line.quantity_theorical:
# OpenPosition = Pool().get('open.position') # OpenPosition = Pool().get('open.position')

View File

@@ -537,8 +537,9 @@ class ValuationReport(ValuationBase, ModelView):
context = Transaction().context context = Transaction().context
valuation_date = context.get('valuation_date') valuation_date = context.get('valuation_date')
strategy = context.get('strategy') strategy = context.get('strategy')
wh = True
if val.date: if val.date:
wh = (val.date == valuation_date) wh &= (val.date == valuation_date)
if strategy: if strategy:
wh &= (val.strategy == strategy) wh &= (val.strategy == strategy)