Secuencias separadas facturas-asientos en OpenERP 7.0

Continuando con la línea de contribución a la localización española, acabamos de publicar en la rama 7.0 de la localización española ( https://code.launchpad.net/openerp-spain/7.0 ) el módulo l10n_es_account_invoice_sequence , que es una adaptación del antiguo módulo nan_account_invoice_sequence , realizado por NaN·tic , y que tan buenos resultados nos ha dado en versiones anteriores del sistema.

Pero en este caso, hemos querido ir un paso más allá, mejorando el módulo para aprovechar la evolución del código base desde que se creó. Una de las cuestiones que impidió que NaN pudiera reutilizar el campo number del objeto account.invoice , teniendo que recurrir a un campo extra, el invoice_number , fue el bug #704922 . Afortunadamente, ese problema está solucionado, lo que nos ha permitido prescindir del campo extra.

Otra de las cosas que el antiguo módulo hacía era vaciar el contenido del campo internal_number , que OpenERP puede usar para algunas cuestiones. Esto era así porque en el anterior código, el dato que resultaba aquí era el de la secuencia del asiento, y no el de la factura. Actualmente, el dato ya es correcto, y por eso, para mantener la máxima compatibilidad con código futuro, ya que OpenERP espera tener ese dato ahí, se ha decidido no borrarlo. Si se hacen modificaciones de números por SQL, habrá que tener en cuenta entonces que dicho número se encuentra en dos campos: number e internal_number . ¿El porqué de estar así en el código base? Pues no es muy lógico, y tal vez es una cuestión histórica, pero no conocemos la razón exacta. ACTUALIZACIÓN: Tal como Xavier Gil ha reportado en la lista española , el quitar esta parte de código implica que cuando se cancela la factura y se vuelve a validar, al nuevo asiento creado se le da el número de la factura, en lugar de coger un nuevo número de su secuencia, por lo que se ha vuelto a restituir el comportamiento original en la revisión 383 .

Otra cuestión que salta también a la vista es su renombramiento a l10n_es_account_invoice_sequence . Esto se ha hecho siguiendo los criterios de la comunidad de evitar nombres corporativos en los módulos, aunque obviamente se han respetado los créditos a NaN en los archivos fuentes.

Disfrutad del módulo.

Comentarios

# Ana Juaristi 03-07-2013 22:24
Perfectamente explicado y siguiendo las reglas de atribución de méritos al autor original. Genial Pedro.
Muchas gracias!!!
Responder | Responder con una citación | Citar
# Alejandro Santana 05-07-2013 21:16
Madre mía, ya me gustaría ver tan buenas explicaciones más a menudo. Hacen la vida más fácil. :)
Responder | Responder con una citación | Citar
# Marcos Ealo 07-02-2014 14:19
Lo dicho en muchas ocasiones, siempre estás cuando me pierdo!!! increíble trabajo.
Responder | Responder con una citación | Citar