hello,
i want to update my stock.move data by the new data appeared in my wizard i did this code but it doesnt work thanks to help me :
class StockPickingSplitWizard(models.TransientModel):
_name = "stock.picking.split.wizard"
line_ids = fields.One2many('stock.picking.split.wizard.line', 'wizard_id', string='Lines')
===== this s the default function to get the current values=========
@api.model
def default_get(self, fields):
ctx = self.env.context.copy()
picking_ids = ctx.get('active_ids', [])
stock_picking_obj = self.env['stock.picking']
lines = []
for picking in stock_picking_obj.browse(picking_ids):
for move in picking.move_lines:
lines.append({
'product_id': move.product_id.id,
'location_id': move.location_id.id,
'location_dest_id': move.location_dest_id.id,
'move_id': move.id,
'product_uom_qty': move.product_uom_qty,
'product_uom': move.product_uom.id
})
defaults = super(StockPickingSplitWizard, self).default_get(fields)
defaults['line_ids'] = lines
return defaults
======this my function to update the old by the new in the wizard =====
@api.multi
def action_transferer(self):
ctx = self.env.context.copy()
picking_ids = ctx.get('active_ids', [])
stock_picking_obj = self.env['stock.picking']
for line in self.line_ids:
for picking in stock_picking_obj.browse(picking_ids):
for move in picking.move_lines:
move.update({
'product_id': line.product_id.id,
'location_id': line.location_id.id,
'location_dest_id': line.location_dest_id.id,
'product_uom_qty': line.product_uom_qty,
})
move.action_assign()
class StockPickingSplitWizardLine(models.TransientModel):
_name = 'stock.picking.split.wizard.line'
move_id = fields.Many2one('stock.move', 'Stock Move')
product_id = fields.Many2one('product.product', 'Article')
product_uom_qty = fields.Float(u'Quantité', digits_compute=dp.get_precision('Product Unit of Measure'))
location_id = fields.Many2one('stock.location', 'Source Location', select=True)
location_dest_id = fields.Many2one('stock.location', 'Destination Location', required=True)
product_uom = fields.Many2one('product.uom', 'Unit of Measure', required=True)
wizard_id = fields.Many2one('stock.picking.split.wizard', 'Wizard')