mirror of
https://github.com/OCA/stock-logistics-reporting.git
synced 2025-02-16 17:13:21 +02:00
[FIX] stock_picking_report_valued_sale_mrp: multipicking
When the recordset comes from multiple picking we could get a wrong calculation of the mrp lines in the report when the conditions of same component for the same order line would apply. So for every picking we have to compute the kits valuations independently. TT33076
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
{
|
||||
"name": "Valued picking linked with MRP Kits",
|
||||
"summary": "Allow to summarize the picking related with the selled kits",
|
||||
"version": "13.0.1.0.2",
|
||||
"version": "13.0.1.0.3",
|
||||
"development_status": "Beta",
|
||||
"category": "Warehouse Management",
|
||||
"website": "https://github.com/OCA/stock-logistics-reporting",
|
||||
|
||||
@@ -37,13 +37,22 @@ class StockMoveLine(models.Model):
|
||||
amounts according to the corresponding delivered kits"""
|
||||
super()._compute_sale_order_line_fields()
|
||||
pickings = self.mapped("picking_id")
|
||||
kit_lines = pickings.move_line_ids.filtered("phantom_product_id")
|
||||
pickings.move_line_ids.update(
|
||||
{"phantom_line": False, "phantom_delivered_qty": 0.0}
|
||||
)
|
||||
for picking in pickings:
|
||||
self.filtered(
|
||||
lambda x: x.picking_id == picking
|
||||
)._compute_sale_order_line_fields_by_picking()
|
||||
|
||||
def _compute_sale_order_line_fields_by_picking(self):
|
||||
"""We want to compute the lines value by picking to avoid mixing lines
|
||||
if they weren't shipped altogether.
|
||||
"""
|
||||
kit_lines = self.filtered("phantom_product_id")
|
||||
for sale_line in kit_lines.mapped("sale_line"):
|
||||
move_lines = kit_lines.filtered(lambda x: x.sale_line == sale_line)
|
||||
# Deduct the kit quantity from the first component in the picking.
|
||||
# Deduce the kit quantity from the first component in the picking.
|
||||
# If the the kit is partially delivered, this could lead to an
|
||||
# unacurate value.
|
||||
phantom_line = move_lines[:1]
|
||||
|
||||
Reference in New Issue
Block a user