OpenERP 获取下一个序列号

3 投票
1 回答
1631 浏览
提问于 2025-04-17 20:13

OpenERP在我们保存记录时会给一个序列号。我已经做了这个模块。根据这个模块,当我创建一个员工时,员工编号会显示为EMP001、EMP002等等。

我的需求是这样的。当我想创建一个新员工时,需要在一个只读字段中显示下一个序列号。比如说,当我想创建第9个员工时,员工编号字段应该显示EMP009。

我当前的代码上传到了下面的位置:https://github.com/priyankahdp/openerp/tree/openerp

现在已经解决了这个问题,我在下面添加了代码:

_defaults = {
     'register_no': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'bpl.worker'),
     }

1 个回答

1

你可以把你的字段设置为 readonly,也就是只读。

'register_no': fields.char('Register No', size=32, help='Register No', readonly=True),

然后在 _default 中提到这一点。

请查看现有的模块,比如 sale.py,看看他们是如何获取下一个销售订单编号的默认序列的。

http://bazaar.launchpad.net/~openerp/openobject-addons/trunk/view/head:/sale/sale.py

撰写回答