Ingreso de líneas de pedido de venta en modo formulario

Gustavo Orrillo
- 14/07/2022 - 1 min. de lectura

Por default los pedidos de venta se ingresan de una manera que simula a las líneas de una planilla de cálculo


Ahora muchas veces necesitamos agregar información extra a la línea. Y no hay mucho "real-estate" en el formulario de ingreso del pedido de ventas (al fin y al cabo, no podemos tener veinte columnas como líneas del pedido de ventas). Para ello, podemos ingresar el las líneas en el modo formulario


Donde como podrán ver... se pueden hacer muchas cosas más. Y realmente no creo que se perjudique la experiencia del usuario. Es posible que el usuario se queje, pero no hay estudios que indiquen "hay una perdida de productividad del X% porque el usuario debe ingresar la línea de pedido mediante un formulario".

Ahora, como habilitamos esta funcionalidad? Solo debemos remover el atributo editable del tree relacionado con el campo order_line. Supongamos que queremos hacerlo en un módulo, deberíamos crear un xml con el siguiente contenido

<record model="ir.ui.view" id="cre_view_sale_order_form">
    <field name="name">cre.view.sale.order.form</field>
    <field name="model">sale.order</field>
    <field name="inherit_id" ref="sale.view_order_form"></field>
    <field name="arch" type="xml">
        <xpath expr="//field[@name='order_line']/tree" position="attributes">
            <attribute name="editable"></attribute>
        </xpath>
    </field>
</record>

Como se puede ver, por medio de xpath localizamos el tree relacionado con el campo order_line y seguidamente le eliminamos el atributo (lo dejamos vacío, que es lo mismo). También usando xpath podemos agregar los campos extras que necesitemos en el formulario. 

Demás está decir, que creo que se necesita un post sobre el xpath y como usarlo.



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.