
Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn
由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解
本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!
开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号
如果您登录系统碰到问题,请在微信公众号留言:
odoo 14 條件隱藏刪除按鈕
-
請問ODOO 14 如何有條件的隱藏刪除按鈕
-
@samchou 可以考虑一下字段的
state
属性,可以设置在某个state下,该数据为只读,只读数据也就没有了删除按钮。 -
請問是這樣嗎?
<field name="state" attrs="{'readonly':[('state', '=', 'Y')]}" invisible="1" / >
我試過刪除按鈕還是存在 -
@samchou 在 odoo 14 條件隱藏刪除按鈕 中说:
請問是這樣嗎?
<field name="state" attrs="{'readonly':[('state', '=', 'Y')]}" invisible="1" / >
我試過刪除按鈕還是存在不是的。
你可以看一下订单中的
order_line
字段的定义(对应sale.order.line
对象), 注意一下里面的states
用法。order_line = fields.One2many('sale.order.line', 'order_id', string='Order Lines', states={'cancel': [('readonly', True)], 'done': [('readonly', True)]}, copy=True, auto_join=True)
-
我在state 有設定 Y 跟 N
-
@samchou 首先你的对象上要有
state
这个字段,不要想当然的乱用啊,自己看一下文档介绍吧:https://www.odoo.com/documentation/15.0/developer/reference/backend/orm.html#fields -
但是擋不掉
-
state是作为一个对象中的一个标志字段,用来作为动态判断的条件,比如这条记录的状态在'confirmed'的时候,这条记录就变成readonly,也就是不能删除了。
所以,首先你要有一个名字叫state的状态字段, 然后比如象订单明细(order_line)这样的字段就可以使用
states
属性来动态改变order_line在什么state下变为readonly。你目前的用法完全不对啊, 还是看看我上面的文档链接,然后再看看addons/sale里的例子的用法吧。
-
sale.order的設定
我的設定但是還是出現錯誤