我一直在 odoo 16 中自定义库存模块,我们有多种操作类型,每个单独的操作类型在表单字段中都有不同的字段,所以我希望在(主树)树视图中具有相同的字段,但我无法使根据条件该列不可见
例如1:
<field name="project_name" attrs="{'column_invisible': [('picking_type_code', '!=', 'incoming')]}'/>
前2:
<field name='project_name" invisible="context.get('projet_name',False)"/>
前3:
<field name="project_name" attrs="{'invisible': [('project_name', '=', False)]
前4:
<field name="project_name" invisible=context.get('picking_type_code')!='incoming'"/>
这些都是我尝试过的代码尝试,如果您有任何不同的想法..请分享
您可以使用以下语法:
invisible="context.get('quotation_only', False)"
您可以在购买模块中找到示例。该值通过 action context
传递invisible 的值是一个将在当前上下文中计算的表达式,您可以使用以下语法:
context.get('picking_type_code') != 'incoming'
您还可以使用
invisible
属性:
attrs="{'invisible': ['|', '|', ('state', '=', 'purchase'), ('state', '=', 'done'), ('state', '=', 'cancel')]}"
在第一个示例中,Odoo 隐藏了列,在第二个示例中,字段的可见性取决于另一个字段的值,该字段隐藏了相应行中的字段。
对于
column_invisible
属性,您可以阅读 文档中的以下注释:
如果是列表子视图(One2many/Many2many 显示在表单视图中),属性 column_invisible 可用于根据父对象隐藏列。