Ocultando columnas en una vista tree

Gustavo Orrillo
- 03/05/2022 - 1 min. de lectura

Un pequeño tip que aprendí hoy (en su momento creo que me lo recomendó filoquin), como ocultar los contenidos de una columna tree en base a los contenidos de un campo del registro padre. Solo tienen que agregar como atributo column_invisible a la columna en la vista tree. Por ejemplo, supongamos que tenemos un form con un campo llamado conversion_category, queremos ocultar en la vista tree la columna amount si el campo conversion_category es igual a unit. Sería de la siguiente manera:

<field name="conversion_category">
<field name="line_ids">
    <tree>
        <field name="name" />
        <field name="amount" attrs="{'column_invisible': [('parent.conversion_category','=','unit')]}"/>
    </tree>
</field> 

Como podrán ver, no es tan complicado. Pero si tiene sus límites. Por una parte solo se pueden ocultar columnas en las vistas formulario que tienen campos one2many (y los muestran mediante trees). Despues es necesario tener siempre presente el campo en el formulario padre por medio del cual se van a ocultar las columnas. Por último, no se pueden ocultar columnas de una vista tree en base al valor de otras columnas del mismo registro. Debe ser del registro padre.

Acerca de:

Gustavo Orrillo

Passionate about programming, he has implemented Odoo for different types of businesses since 2010. In Moldeo Interactive he is a founding Partner and Programmer; In addition to writing on the Blog about different topics related to the developments he makes.