2013-05-18 40 views
1

「爲account_invoice.py Python代碼,我想知道如何初始化默認one2many在OpenERP的領域」如何初始化默認one2many領域中的OpenERP

class account_invoice(osv.osv): 

    def _tax_line_default(self, cr ,uid, context=None): 
     obj= self.pool.get('account.invoice.tax') 
     ids= obj.search(self, cr, uid) 
    obj.write(cr, uid, ids[0], {'name' : 'droit de timbre','amount':0.400}) 
    res =obj.browse(cr, uid, ids[0]) 
return res.name_get(cr, uid, ids[0], context) 

_ columns = { 

'tax_line': fields.one2many('account.invoice.tax', 'invoice_id', 'Tax Lines', readonly=True, states={'draft':[('readonly',False)]}) 
} 
_defaults = { 
'tax_line':_tax_line_default, 
} 



    http://nsa33.casimages.com/img/2013/05/17/130517043059690422.png 

    http://nsa33.casimages.com/img/2013/05/17/130517053356530066.png 

回答

0

你需要從返回的ID列表中功能如下return [res.id]

您必須從搜索方式中刪除self。這是你錯誤的原因。

ids = obj.search(cr, uid, []) 

這是我的建議,按您的代碼。

+0

你好,我想分配默認值one2many領域,但根據上述方式我的功能不會被調用。還有什麼我需要記住?感謝名單。 – Pooja