2016-07-22 16 views
0

に他のフィールドに依存し、私はそれが私のためによく働いたが、今私は、このデフォルト値を設定したい場合はされているコード設定のデフォルト値は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, 
    } 

以下でaccount.move.lineanalytics_idのデフォルト値を設定していますdebit field value is greater then zeroまたはcredit field value less then zeroanalytics_idフィールドは空のままです。

+0

hello tahirあなたは尋ねていますが、あなたが助けてくれたら投票しません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

アカウント移動行で、 'analytics_id'フィールドに' debit'と 'credit'という2つのフィールドがあります。デビット> 0またはクレジット<0の場合、analytics_idにデフォルト値を設定したい –

関連する問題