Search code examples
odooodoo-8odoo-10

Add lines to stock picking move lines


In my method, I delete lines from stock.pickings and want to add different lines from my model. but i get an error AttributeError: 'stock.move' object has no attribute 'get'

@api.multi
        def _action_procurement_create(self):
            res = super(SaleOrderLine, self)._action_procurement_create()
            order_line_bom = self.env['sale.order.line.bom'].search([('sale_order_line_id', '=', self.id )])
            stock_move_lines = self.env['stock.move']
            created_stock_move_lines = self.env['stock.move']
            vals = {}
            for order in self.order_id:
                if self.product_id.bom_ids:
                    order.picking_ids.move_lines.state = 'draft'
                    for move_line in order.picking_ids.move_lines:
                        move_line.unlink()
                    for bom_line in order_line_bom:
                        vals['product_id'] = bom_line.product_id.id,
                        vals['product_uom'] = 1,
                        vals['location_id'] = 1,
                        vals['name'] = bom_line.product_id.name,
                        vals['location_dest_id'] = 1,
                        created_stock_move_lines  += stock_move_lines.create(vals)
                    order.create(stock_move_lines)

Solution

  • Please try may it's help you :

    @api.multi
    def _action_procurement_create(self):
        res = super(SaleOrderLine, self)._action_procurement_create()
        order_line_bom = self.env['sale.order.line.bom'].search([('sale_order_line_id', '=', self.id )])
        stock_move_lines = self.env['stock.move']
        created_stock_move_lines = self.env['stock.move']
        vals = {}
        for order in self.order_id:
            if self.product_id.bom_ids:
                order.picking_ids.move_lines.state = 'draft'
                for move_line in order.picking_ids.move_lines:
                    move_line.unlink()
                    for bom_line in order_line_bom:
                        vals = {
                            'product_id': bom_line.product_id.id,
                            'product_uom': 1,
                            'location_id': 1,
                            'name': bom_line.product_id.name,
                            'location_dest_id': 1,
                             }
                        created_stock_move_lines  += stock_move_lines.create(vals)
                    order.create(stock_move_lines)