diff --git a/addons/stock_landed_costs/stock_landed_costs.py b/addons/stock_landed_costs/stock_landed_costs.py
index 73e47e84aa9..11ead0ab85e 100644
--- a/addons/stock_landed_costs/stock_landed_costs.py
+++ b/addons/stock_landed_costs/stock_landed_costs.py
@@ -44,6 +44,27 @@ class stock_landed_cost(osv.osv):
result[line.cost_id.id] = True
return result.keys()
+ def onchange_pickings(self, cr, uid, ids, picking_ids=None):
+ result = {'valuation_adjustment_lines': []}
+ line_obj = self.pool.get('stock.valuation.adjustment.lines')
+ picking_obj = self.pool.get('stock.picking')
+ lines = []
+
+ for cost in self.browse(cr, uid, ids):
+ line_ids = [line.id for line in cost.valuation_adjustment_lines]
+ line_obj.unlink(cr, uid, line_ids)
+
+ picking_ids = picking_ids and picking_ids[0][2] or False
+ if not picking_ids:
+ return {'value': result}
+
+ for picking in picking_obj.browse(cr, uid, picking_ids):
+ for move in picking.move_lines:
+ vals = dict(product_id = move.product_id.id, quantity = move.product_uom_qty, former_cost = move.product_uom_qty * move.price_unit)
+ lines.append(vals)
+ result['valuation_adjustment_lines'] = lines
+ return {'value': result}
+
_columns = {
'name': fields.char('Name', size=256, required=True),
'date': fields.datetime('Date', required=True),
diff --git a/addons/stock_landed_costs/stock_landed_costs_view.xml b/addons/stock_landed_costs/stock_landed_costs_view.xml
index db26d329c43..89efd8cc38c 100644
--- a/addons/stock_landed_costs/stock_landed_costs_view.xml
+++ b/addons/stock_landed_costs/stock_landed_costs_view.xml
@@ -25,7 +25,8 @@
-
+