2016-02-13 101 views
1
驗證發票

我從另一個模型創建發票,想要驗證而不是草稿 但是,我的代碼不會生成內部編號和總計。Odoo從代碼

invoice_id = self.pool.get('account.invoice').create(cr, uid,{ 
            'partner_id':self.supplier.id, 
            'name' : 'Faltante mercaderia', 
            'journal_id': journal_id, 
            'account_id':account_id, 
            'type': 'in_refund', 
            }) 
self.pool.get('account.invoice.line').create(cr, uid,{ 
       'invoice_id' : invoice_id, 
       'name' : 'Faltante mercaderia %s: %s' %(self.type,self.number), 
       'quantity' : self.dif_final, 
       'price_unit':self.tarifa_dif/1000, 
      }) 
a = self.env['account.invoice'].browse([invoice_id]) 
a.invoice_validate() 

我也嘗試添加a.action_number()

+0

對於那些odoo的版本,您正在開發這個代碼? v9? –

+0

v8是在標籤 –

回答

1

此代碼應爲你工作:

inv_obj = self.pool.get('account.invoice') 
inv_obj.button_compute(cr, uid, [invoice_id], context=context, set_total=True) 
inv_obj.action_date_assign(cr, uid, invoice_id, context=context) 
inv_obj.action_move_create(cr, uid, invoice_id, context=context) 
inv_obj.action_number(cr, uid, invoice_id, context=context) 
inv_obj.invoice_validate(cr, uid, invoice_id, context=context) 

你可以通過調用所有上述的方法進行檢查,讓我知道。

+0

太棒了!謝謝 ! –

+0

優秀!不好意思在這個舊帖子中提問,但你怎麼知道你會打電話給你的方法?謝謝! – Josecanalla

+0

我從技術上認識Odoo,並從代碼中檢查了方法。它聽起來不錯,否則請讓我知道?謝謝! –

0

validate按鈕將信號發送到工作流,你只需要發送相同的信號:

a.signal_workflow('invoice_open')