Как скрыть столбец в odoo 12?

Пожалуйста, мне нужно скрыть столбец "Описание" в таблице "Строки заказов" в представлении формы external_id = "sale.view_order_form", скрыть этот столбец, если детали == True

Вот код на Python:

class ClassSaleOrder(models.Model):
    _inherit = 'sale.order'
    details = fields.Boolean()

Вот xml файл:

<record id="module_sale_order_line_form" model="ir.ui.view">
    <field name="name">module.sale.order.line.form</field>
    <field name="model">sale.order</field>
    <field name="inherit_id" ref="sale.view_order_form"/>
    <field name="arch" type="xml">
        <xpath expr="//field[@name='partner_id']" position="after">
            <field name="details"/>
        </xpath>
    </field>
</record>

person Programmer LiLi    schedule 21.03.2019    source источник
comment
добавьте атрибут в свое поле, которое вы хотите скрыть attrs = {'invisible': [('default', '=', True)]}   -  person Akshay    schedule 22.03.2019


Ответы (2)


Вам необходимо использовать position='attributes' и определить значение для invisible атрибут.

<xpath expr="//field[@name='order_line']/form/group/field[@name='name']" position="attributes">
    <attribute name="invisible">[('details', '=', True)]</attribute>                
</xpath>
person Kenly    schedule 24.03.2019

Используйте приведенный ниже код, чтобы сделать поле описания невидимым, когда детали верны.

<xpath expr="//field[@name='order_line']/tree/field[@name='name']" position="attributes">
    <attribute name="attrs">{'invisible':[('details', '=', True)]}</attribute>                
</xpath>
person Anitha Das B    schedule 21.08.2019