Skip to Content
Меню
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
Це запитання позначене
1 Відповісти
35766 Переглядів

My custom model try to send data to account.invoice  and account invoice lines.But I got  Error

ValueError: dictionary update sequence element #0 has length 3; 2 is required

Here is my code,

result = super(create_invoice_wizard,self).default_get(fields)

res = []

invoice_line_ids = []

flag = True

for obj_ppo_id in obj_ppo_ids:

    invoice_data = self.env['sale.commission'].search([('id','=',obj_ppo_id.id)])

    if flag:

        res.append({

                    'partner_id':invoice_data.consignor.id,

                    'date_invoice':datetime.today(),

                    'invoice_line_ids': [{

                                            'product_id':invoice_data.product_id.id,

                                            'quantity':invoice_data.qty,

                                            'price_unit':invoice_data.total_sales}]

                    })

        flag = False


    else:

        res[0]['invoice_line_ids'].append({'product_id':invoice_data.product_id.id,

                                           'quantity':invoice_data.qty,

                                           'price_unit':invoice_data.total_sales})


result.update(res)

return result

 

Аватар
Відмінити
Найкраща відповідь

you need to use special functions to pass data to related fields. it should be

'invoice_line_ids': [(0, 0, {your dict with data})]

this looks like only just one argument, but the reference (self) is the first argument. 

 

Аватар
Відмінити
Related Posts Відповіді Переглядів Дія
9
черв. 23
13017
2
січ. 22
3816
2
груд. 21
7841
0
черв. 21
1906
0
лют. 21
2509