OpenERP 7 默认值详解

1.激活开发者模式

在OpenERP 7目前的版本中,设置默认值必须进入开发者模式。

2.设置默认值

然后在你要配置默认值的表单里面,先填入对应的数据然后,在表单左上方的调试视图里面选择设置默认值。

OpenERP设置默认值步骤1

默认值的配置界面很直观。

OpenERP设置默认值步骤2

  • 默认:就是你要设置的默认值,下拉列表里面已经根据你当前表单显示出相应的字段和值,你只需要选取
  • 条件:   就是你的默认值生效的条件。例如下图意思就是,当产品类别是服务的,产品类型默认值为服务。(这里涉及到一个bug1112232不过在最新的版本里面已经修复好了)。

OpenERP设置默认值步骤3

怎么样的字段才能成为默认值的条件呢?字段定义里面的 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/