This question has been flagged
1 Reply
15927 Views
    def create(self, cr, uid, vals, context=None):
    id = super(sale_order, self).create(cr, uid, vals, context)
            order_line_ids = self.pool.get('sale.order.line').search(cr, uid, [('order_id', '=', id)], context=context)
    for i in self.browse(cr,uid,order_line_ids, context=context):
                    self.pool.get('sale.order.section').create(cr, uid,(0,0,{'order_line':i.id}))
    return id

I get the error TypeError: pop() takes at most 1 argument (2 given) when i want to create the sale order. It comes from the line :

                        self.pool.get('sale.order.section').create(cr, uid,(0,0,{'order_line':i.id}))

Where is the problem ?

Avatar
Discard
Author

That's ok thanks a lot !!

I edit my answer . if it works thankyou to mark this question as resolved.

Best Answer

Hi ,

try to divise your code in clear lines.

try with this code :

   section_pool=self.pool.get('sale.order.section') 
   order_line_pool=self.pool.get('sale.order.line') 
   for order_line_id in order_line_ids
       order_line =order_line_pool.browse(cr,uid,order_line_id)
       section = {         
                  'order_line':order_line.id,
                  'name' : order_line.name,
                  'number' : 0,                               
                   #others fields
                   }
        section_pool.create(cr, uid, section )

Thanks.

Avatar
Discard