Ocultando columnas en una vista tree
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
Apasionado de la programación, implementa Odoo para distintos tipos de negocios desde el año 2010. En Moldeo Interactive es Socio fundador y Programador; además de escribir en el Blog sobre distintos temas relacionados a los desarrollos que realiza.