OpenERP 获取下一个序列号
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