1. 激活开发者模式
在Odoo 7目前的版本中,设置默认值必须进入开发者模式。
2. 设置默认值
在你要配置默认值的表单里面,先填入对应的数据,然后在表单左上方的调试视图里面选择设置默认值。
3. 默认值的配置界面
默认值的配置界面很直观:
- 默认值:就是你要设置的默认值,下拉列表里面已经根据你当前表单显示出相应的字段和值,你只需要选取。
- 条件:就是你的默认值生效的条件。例如,当产品类别是服务的,产品类型默认值为服务。这里涉及到一个bug(1112232),但在最新版本中已经修复好了。
4. 条件字段
只有字段定义里面的`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"),
5. 个人/所有用户
此默认值是只对当前用户生效还是对于所有用户生效。
6. 删除默认值
到`设置->技术->动作->用户设定默认值`就能看到目前已经设定的默认值。
7. 更多默认值
Odoo的默认值还可以通过代码的方式来实现。例如:
_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', }
8. 优先级问题
- 界面优先级大于代码:如果既配置了`_defaults`又在界面上配置了默认值,界面的优先级大于代码里面的。
- 最新配置优先:如果在界面上配置了多次默认值,会取最新的默认值。
希望以上内容能帮助您更好地理解Odoo(OpenERP7)默认值的配置方法,为您的系统配置提供参考。