1.激活开发者模式
在OpenERP 7目前的版本中,设置默认值必须进入开发者模式。
2.设置默认值
然后在你要配置默认值的表单里面,先填入对应的数据然后,在表单左上方的调试视图里面选择设置默认值。
默认值的配置界面很直观。
- 默认:就是你要设置的默认值,下拉列表里面已经根据你当前表单显示出相应的字段和值,你只需要选取
- 条件: 就是你的默认值生效的条件。例如下图意思就是,当产品类别是服务的,产品类型默认值为服务。(这里涉及到一个bug1112232不过在最新的版本里面已经修复好了)。
怎么样的字段才能成为默认值的条件呢?字段定义里面的 change_default属性为True。
'categ_id' : fields.many2one( 'product.category' , 'Category' , required = True , change_default = True , domain = "[('type','=','normal')]" , help = "Select category for the current product" ), |
- 仅用于你个人/所有用户:此默认值是只对当前用户生效还是对于所有用户生效。
3.删除默认值
到 设置->技术->动作->用户设定默认值 就能看到目前已经设定的默认值。
4.更多默认值
OpenERP的默认值还可以通过代码的方式来实现。例如下图就是产品模块的默认值
_defaults = { 'company_id' : lambda s,cr,uid,c: s.pool.get( 'res.company' )._company_default_get(cr, uid, 'product.template' , context = c), 'list_price' : 1 , 'cost_method' : 'standard' , 'standard_price' : 0.0 , 'sale_ok' : 1 , 'produce_delay' : 1 , 'uom_id' : _get_uom_id, 'uom_po_id' : _get_uom_id, 'uos_coeff' : 1.0 , 'mes_type' : 'fixed' , 'categ_id' : _default_category, 'type' : 'consu' , } |
问题:如果我既配置了_defaults 又在界面上配置了默认值那么怎么办?
答案:界面的优先级大于代码里面的。
问题:如果在界面上配置了多次默认值,那么会取哪个默认值呢?
答案:取最新的。
原文链接:http://cn.openerp.cn/openerp-7-set-dafault/