[REF] sale, sale_stock: added some comments to clear some aspects of the code related to the last changes on SO (salepocalypse)
This commit is contained in:
+3
-1
@@ -486,7 +486,9 @@ class SaleOrderLine(models.Model):
|
||||
def _get_invoice_qty(self):
|
||||
"""
|
||||
Compute the quantity invoiced. If case of a refund, the quantity invoiced is decreased. Note
|
||||
that this is the case only if the refund is generated from the SO.
|
||||
that this is the case only if the refund is generated from the SO and that is intentional: if
|
||||
a refund made would automatically decrease the invoiced quantity, then there is a risk of reinvoicing
|
||||
it automatically, which may not be wanted at all. That's why the refund has to be created from the SO
|
||||
"""
|
||||
for line in self:
|
||||
qty_invoiced = 0.0
|
||||
|
||||
@@ -159,10 +159,14 @@ class SaleOrderLine(models.Model):
|
||||
|
||||
@api.multi
|
||||
def _get_delivered_qty(self):
|
||||
"""Computes the delivered quantity on sale order lines, based on done stock moves related to its procurements
|
||||
"""
|
||||
self.ensure_one()
|
||||
super(SaleOrderLine, self)._get_delivered_qty()
|
||||
qty = 0.0
|
||||
for move in self.procurement_ids.mapped('move_ids').filtered(lambda r: r.state == 'done' and not r.scrapped):
|
||||
#Note that we don't decrease quantity for customer returns on purpose: these are exeptions that must be treated manually. Indeed,
|
||||
#modifying automatically the delivered quantity may trigger an automatic reinvoicing (refund) of the SO, which is definitively not wanted
|
||||
if move.location_dest_id.usage == "customer":
|
||||
qty += self.env['product.uom']._compute_qty_obj(move.product_uom, move.product_uom_qty, self.product_uom)
|
||||
return qty
|
||||
|
||||
Reference in New Issue
Block a user