Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
1 Ответить
4891 Представления

Hello I need to have an automatic sequence on the field "ref" when a partner is created. The module base_partner_sequence works well. But then when I import partners after installation of base_parter_sequence I am not able to import a csv-file with a value for "ref" because the value is always set automatically based on the sequence. Does someone has an idea how to import records with a value in csv when there is a sequence on a field? Maybe it is necessary to modify the code somewhere? Please see my code below.

Can yomeone help? René


class partner_sequence(osv.osv): _inherit = 'res.partner' _columns = { 'ref': fields.char('Code', size=64, readonly=False), }

def create(self, cr, uid, vals, context={}):
    vals['ref'] = self.pool.get('ir.sequence').get(cr, uid, 'res.partner')
    res = super(partner_sequence, self).create(cr, uid, vals, context)
    return res

_sql_constraints = [
('ref_unique', 'unique(ref)', 'reference per customer must be unique!'),
]

partner_sequence()


Аватар
Отменить
Лучший ответ

You can try the following:

def create(self, cr, uid, vals, context={}):
    if not vals.get('ref', False):
        vals['ref'] = self.pool.get('ir.sequence').get(cr, uid, 'res.partner')
    res = super(partner_sequence, self).create(cr, uid, vals, context)
    return res

But normally in OpenERP sequences are assigned using defaults (_defaults = [..]).

Аватар
Отменить
Related Posts Ответы Просмотры Активность
3
июн. 20
3741
1
нояб. 18
9284
11
февр. 17
63535
2
мар. 15
10706
4
нояб. 24
10942