[ADD] stock_landed_costs : Added the onchange method on pickings to automatically fill the valuation adjustment lines.
bzr revid: mdi@tinyerp.com-20140409092551-np8ctmmx5wpfibaw
This commit is contained in:
parent
69940dc9ea
commit
f7a87d9f8a
|
@ -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),
|
||||
|
|
|
@ -25,7 +25,8 @@
|
|||
<field name="date"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="picking_ids" widget="many2many_tags"/>
|
||||
<field name="picking_ids" widget="many2many_tags" domain="[('state', '=', 'done')]"
|
||||
on_change="onchange_pickings(picking_ids)"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
|
|
Loading…
Reference in New Issue