OpenERP

Eliminación de valores por defecto establecidos en el cliente OpenERP mediante SQL

0

OpenERP tiene una función bastante cómoda, que permite establecer valores por defecto en el cliente web o GTK. Esto es muy útil para definir el país más utilizado al dar de alta un nuevo partner, o para establecer los impuestos más comunes al crear un nuevo producto.

Ventana de preferencia de campo

Sin embargo, si se utiliza a la ligera puede dar problemas, como por ejemplo si decidimos que las nuevas líneas de factura tengan un impuesto por defecto. Al principio puede parecer que es una maravilla, hasta que queremos introducir una factura de proveedor y comprobamos que si no tenemos cuidado, vamos a asignarle el mismo IVA repercutido de las facturas de clientes, cuando debería ser IVA soportado. A la hora de deshacerlo, se pueden eliminar las líneas de impuestos y establecer de nuevo el valor con el asistente, o bien modificar directamente la base de datos.

Así, para eliminar la opción comentada de unos impuestos por defecto en la línea de factura, esta es la sentencia SQL a utilizar:

DELETE
  FROM ir_values
  WHERE name = 'invoice_line_tax_id'

‘NoneType’ object has no attribute ‘id’ en OpenERP, al cambiar el partner de la factura

0

Como no estoy seguro de si es realmente un bug o un problema con los datos de prueba, lo anoto en este blog, pero no paso informe en Launchpad, que es donde debería, pero el caso es que he detectado este problema utilizando la versión 6.0.3 de OpenERP con los módulos de la localización española y nan_account_extension instalados, siempre que se introduce un cliente en la factura.

'NoneType' object has no attribute 'id'
Para solucionarlo, basta con modificar la línea 395 de invoice.py en el módulo account:

        if p.property_account_receivable and (p.property_account_receivable.company_id.id != company_id) and p.property_account_payable and (p.property_account_payable.company_id.id != company_id):

De esta forma, antes de utilizar las cuentas a cobrar y a pagar del partner, se comprueba que estén definidas, que es lo que estaba dando problemas, aunque entiendo que no debería, al tener instalado el módulo de NaN que en principio las gestiona debidamente.

Creación automática de cuentas contables en OpenERP

7

El comportamiento estándar de OpenERP es utilizar una única cuenta para cobrar y otra cuenta para pagar a todos los partners, que en el caso del plan español suelen ser la 430 y la 410, respectivamente. Esto no suele gustar a los contables, que prefieren crear una 430xxxxxx para cada cliente, 400xxxxxx para cada proveedor y 410xxxxxx para cada acreedor. Por eso, con la localización española se incluyó un asistente para la creación de cuentas contables, que facilitara esta tarea, y que se puede invocar como una acción desde la ficha del partner.

No obstante, gracias a NaN, disponemos de nan_account_extension, un módulo que entre otras cosas, permite el mantenimiento automático de estas cuentas, y digo mantenimiento porque las crea o elimina automáticamente según lo que hagamos con el partner, en el momento de guardarlas.

Para utilizarlo, primero se debe configurar qué cuantas son las base, en Administración | Compañías | Compañía, abriendo la compañía adecuada, y en la pestaña Configuración, utilizando los parámetros del grupo Creación de cuenta automática.

Por último, si se ha establecido un valor por defecto para las cuentas a cobrar y pagar, debe ser eliminado, o el módulo dejará las cuentas establecidas por defecto. Para esto, vamos a Administración | Configuración | Parámetros | Parámetros de configuración (lo que vienen a ser las propiedades), buscamos la property_account_receivable y property_accoyunt_payable que no tenga asignada empresa (que será la cuenta por defecto), y la eliminamos.

Si se tiene mucha prisa, también se puede borrar el valor por defecto con el siguiente SQL:

DELETE FROM ir_property
  WHERE NAME IN ('property_account_payable', 'property_account_receivable')
  AND res_id IS NULL
Go to Top