Bloqueando automaticamente pedidos de compra

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

Días atrás publicamos sobre como bloquear automáticamente pedidos de venta. La misma problemática ocurre con los pedidos de compra. Para ello desarrollamos el módulo purchase_automatic_block. Para instalar el mismo solo debe descargarse del repositorio y listo. Al confirmarse el pedido, se impide el ingreso o modificación de líneas del pedido (la verdad, si necesitan modificar pedidos de venta o de compra, deberían re-definir algunos procesos o capacitar mejor a los vendedores/compradores)


Noten que al validarse el pedido, el mismo pasa a estado Bloqueado y no se permite la edición. Tambien se remueven los botones de bloquear y desbloquear.

Aspectos técnicos

El módulo es muy sencillo, se extiende el método que confirma el pedido de compra agregandose la llamada al método que bloquea el pedido

def button_confirm(self):
    res = super(PurchaseOrder, self).button_confirm()
    self.button_done()
    return res

Por otra parte se ocultaron los botones de "Bloquear" y "Desbloquear" en la vista del pedido de ventas

<record id="block_purchase_order_form" model="ir.ui.view">
    <field name="name">block.purchase.order.form</field>
    <field name="model">purchase.order</field>
    <field name="inherit_id" ref="purchase.purchase_order_form"></field>
    <field name="arch" type="xml">
        <xpath expr="//button[@name='button_done']" position="attributes">
            <attribute name="invisible">1</attribute>
        </xpath>
        <xpath expr="//button[@name='button_unlock']" position="attributes">
            <attribute name="invisible">1</attribute>
        </xpath>
    </field>
</record>
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.