Anne Mary
Anne Mary

Reputation: 319

openerp 7 ir.sequence increment by 2 bug.?

In my case +1 sequence number shows when I open the form. But when I save the record, it incremented again by 1. That means my sequence numbers now look like this:

Is it an issue with openerp or am I missing something in my code?

'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: '/',
 }

You can have a look on my code here

i commented

    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)

Upvotes: 0

Views: 870

Answers (1)

user1576199
user1576199

Reputation: 3207

You have called two times ir.sequence method, one from create

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)

and second from default

_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'),

 }

It does not make any sense to call two time. make call only from _default or from create method

Upvotes: 1

Related Questions