2016-07-22 76 views
0

我對下面的代碼在account.move.line設立的analytics_id默認值設置默認值取決於其他領域odoo

class account_move_line(models.Model): 
    _inherit = 'account.move.line' 
    _name = "account.move.line" 

    def _get_default_account(self, cr, uid, context=None): 
     obj = self.pool.get('account.move') 
     value = obj.browse(cr, uid, uid) 
     if value.move_id.debit>0 or value.move_id.credit<0: 
      res = self.pool.get('account.analytic.plan.instance').search(cr, uid, [('code','=','LAL')], context=context) 
      return res and res[0] or False 

    _defaults = { 
     'analytics_id': _get_default_account, 
    } 

它工作很適合我,但現在我想設置,如果這個默認值debit field value is greater then zerocredit field value less then zero否則analytics_id字段保持空白。

+0

你好塔希爾你問,但你不投票時,一些幫助你mmmmmmmm不好男人 – Cherif

+0

對不起,先生,我會記住下一次... –

+0

謝謝你,你解決了這個問題! – Cherif

回答

0

嘗試使用這種類型的代碼

res = self.pool.get('account.analytic.plan.instance').search(cr, uid, [('code','=','LAL')], context=context) 
if res:  
    br_analytic_plan=self.pool.get('account.analytic.plan.instance').browse(cr,uid,res[0],context=context) 
    if ---your Condition---- # You can access For example. br_analytic_plan.amount > 0 
     return res[0] 

這可以應用到這兩個羣體的條件相同的邏輯(這意味着如果在其他和你目前的代碼)。

希望這會有所幫助。

+0

考慮到移動行兩個字段'debit'和'credit'存在'analytics_id'字段。我想在借方> 0或貸方<0時在analytics_id中設置默認值 –