[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:
DJ Patel 2014-04-09 14:55:51 +05:30
parent 69940dc9ea
commit f7a87d9f8a
2 changed files with 23 additions and 1 deletions

View File

@ -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),

View File

@ -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>