Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

OpenERP 7 默认值详解


  • 管理员

    来自先安博客: http://cn.openerp.cn/openerp-7-set-dafault/

    [size=12pt]1.激活开发者模式[/size]

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

    [size=12pt]2.设置默认值
    [/size]
    然后在你要配置默认值的表单里面,先填入对应的数据然后,在表单左上方的调试视图里面选择设置默认值。
    [attachimg=1]

    默认值的配置界面很直观。
    [attachimg=2]


    默认:就是你要设置的默认值,下拉列表里面已经根据你当前表单显示出相应的字段和值,你只需要选取
    条件:  就是你的默认值生效的条件。例如下图意思就是,当产品类别是服务的,产品类型默认值为服务。(这里涉及到一个 https://bugs.launchpad.net/openerp-web/+bug/1112232 不过在最新的版本里面已经修复好了)。
    [attachimg=3]

    怎么样的字段才能成为默认值的条件呢?字段定义里面的 change_default属性为True。

    <br />&#039;categ_id&#039;: fields.many2one(&#039;product.category&#039;,&#039;Category&#039;,<br />required=True, change_default=True, domain=&quot;[(&#039;type&#039;,&#039;=&#039;,&#039;normal&#039;)]&quot; ,<br />help=&quot;Select category for the current product&quot;),<br />
    


    仅用于你个人/所有用户:此默认值是只对当前用户生效还是对于所有用户生效。


    [size=12pt]3.删除默认值[/size]

    到 设置->技术->动作->用户设定默认值 就能看到目前已经设定的默认值。

    [size=12pt]4.更多默认值[/size]

    OpenERP的默认值还可以通过代码的方式来实现。例如下图就是产品模块的默认值

    <br /><br />_defaults = {<br /> &#039;company_id&#039;: lambda s,cr,uid,c: s.pool.get(&#039;res.company&#039;)._company_default_get(cr, uid, &#039;product.template&#039;, context=c),<br /> &#039;list_price&#039;: 1,<br /> &#039;cost_method&#039;: &#039;standard&#039;,<br /> &#039;standard_price&#039;: 0.0,<br /> &#039;sale_ok&#039;: 1,<br /> &#039;produce_delay&#039;: 1,<br /> &#039;uom_id&#039;: _get_uom_id,<br /> &#039;uom_po_id&#039;: _get_uom_id,<br /> &#039;uos_coeff&#039; : 1.0,<br /> &#039;mes_type&#039; : &#039;fixed&#039;,<br /> &#039;categ_id&#039; : _default_category,<br /> &#039;type&#039; : &#039;consu&#039;,<br /> }<br />
    



    问题:如果我既配置了_defaults 又在界面上配置了默认值那么怎么办?
    答案:界面的优先级大于代码里面的。

    问题:如果在界面上配置了多次默认值,那么会取哪个默认值呢?
    答案:取最新的。



  • 如果我要设两个字段的默认值呢?设两次?会不会把之前的覆盖掉?


  • 管理员

    对的,设置2次,不会覆盖的。。



  • 谢谢楼上解疑


Log in to reply