2013-03-26 75 views
0

在我的情況下,當我打開表單時顯示+1序列號。但是,當我保存記錄,它由1再次遞增這意味着我的序列號現在這個樣子:openerp 7 ir.sequence增加2個錯誤。

  • EMP0010
  • EMP0012
  • EMP0014

是它的OpenERP的問題或者我在代碼中丟失了什麼?

'register_no': fields.char('Register No', size=32, help='Register No', readonly=True), # employer wise ,estate wise 
     'employer_no': fields.char('Employer No', type='char', readonly=True), 

_defaults = { 
'register_no': lambda obj, cr, uid, context: '/', 
'employer_no': lambda obj, cr, uid, context: '/', 
} 

你可以在我的代碼here

我評論

def create(self, cr, uid, values, context=None): 
     values['register_no'] = self.pool.get('ir.sequence').get(cr, uid, 'bpl.worker') 
     values['employer_no'] = self.pool.get('ir.sequence').get(cr, uid, 'bpl.employer') 
     return super(bpl_worker_registration, self).create(cr, uid, values, context=context) 
+0

如果您通過單擊下面的右側符號得到答案,請關閉該問題。 – 2013-03-29 12:53:14

回答

1

你叫ir.sequence方法兩次,一個從創建一看

高清創建(self,cr,uid,values,context = None):

values['register_no'] = self.pool.get('ir.sequence').get(cr, uid, 'bpl.worker') 
values['employer_no'] = self.pool.get('ir.sequence').get(cr, uid, 'bpl.employer') 
return super(bpl_worker_registration, self).create(cr, uid, values, context=context) 

和第二從默認

_defaults = {

'register_no': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'bpl.worker'), 
'employer_no': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'bpl.employer'), 

} 

它沒有任何意義,調用兩個時間。只從_default或從創建方法撥打電話

+0

刪除了功能。但還是一樣的問題朋友。 – 2013-03-26 08:36:12

+1

刪除的功能意味着從創建方法中刪除???你會請重新啓動服務器後檢查 – user1576199 2013-03-26 08:38:30

+0

看到我上面的帖子現在的朋友 – 2013-03-26 08:43:45