Buenos días,
me pasaba por el foro porque he probado muchas maneras de intentar actualizar mi bbdd de odoo v12 a odoo v13 con el módulo de openupgrade que se nos facilita a la comunidad de odoo, sin llegar a conseguir un funcionamiento correcto en la v13.
Me creo mi entorno con docker, en el cual me despliego mi imagen de odoo13 con openupgradelib y la rama v13 de openupgrade, configuro los path, cargo mi filestore y mi dump de la bbdd de producción que se encuetra en la v12 en postgres y ejecuto la actualización. Esta se realiza sin errores (que yo haya podido ver tanto en el resumen como en el log) y cuando accedo a la parte de mi odoo13 me sale todo descuadrado sin cargarme los js y lo css. Finalmente consigo que se muestre bien ya que se trataba de problemas de permisos, pero a ciertas cosas de odoo no me deja acceder, como por ejemplo los contactos me da error, facturas de cliente, facturas de compra y algunas otras cosas más.
Un ejemplo del error que me muestra al intentar acceder a los contactos:
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 568, in raise_view_error
raise ValueError(message)
ValueError: El campo `zip_id` no existe
Contexto del error:
Vista `res.partner.form`
[view_id: 113, xml_id: base.view_partner_form, model: res.partner, parent_id: n/a]El error cuando intento acceder a contabilidad:
ValueError: El campo `refund_inv_sequence_id` no existe Contexto del error: Vista `n/a` [view_id: n/a, xml_id: n/a, model: n/a, parent_id: n/a]
No se tratan de campos de aplicaciones de terceros ni nada, y tengo las mismas aplicaciones tanto en mi odoo v12 de producción como en mi app odoo v13 de docker.
Me gustaría saber si hay alguna forma de poder realizarlo o algún tutorial que incluya como configurar y ejecutar con docker estas actualizaciones, ya que estoy en la primera y ya me encuentro con problemas y tengo que llegar hasta la última versión, cosa que veo imposible :(
He estado mirando la documentación oficial de openupgrade y hay muchas cosas que no están bien explicadas o que se omiten. Por otra parte, he eliminado las aplicaciones de terceros para realizar pruebas y actualizar solo lo que ya tiene contemplado openupgrade, y la bbdd en la v12 me funciona y en la v13 me sigue fallando lo mismo que he comentado anteriormente.
Por otra parte, tenia otra duda, es necesario actualizar mi bbdd de la v12 a la última versión disponible de v12 para así pasar a la v13? O puedo pasar directamente de la v12 en cualquier versión a la v13?
Si alguien puede echarme una mano, ya sea con algún tutorial, vídeo o algo le estaría muy agradecido.
Buenas de nuevo, he conseguido solucionar bastantes problemas pero ahora me encuentro otro nuevo :(
Si consigo solucionar todo esto haré un tutorial o algo, ya que la información es bastante escasa para el uso que tiene odoo.
Mi problema ahora es con el módulo l10n_es_aeat_mod303 que me genera este error:
raise Exception(_('Module loading %s failed: file %s could not be processed:\n %s') % (module, fname, warning_msg))
Exception: Module loading l10n_es_aeat_mod303 failed: file l10n_es_aeat_mod303/data/2021-07/l10n.es.aeat.map.tax.csv could not be processed:
Error desconocido durante la importación <class 'odoo.exceptions.ValidationError'>: ('Error mientras se validaban las restricciones\n\nError! Las fechas de los registros se solapan con un registro existente.\n', None)
Se han actualizado todos los módulos incluidos los que dependen de este como ya son, l10n_es, l10n_es_extra, etc, pero este siempre me da fallo por el mismo error. He mirado de nuevo en github y uno de los desarrolladores ha contestado sobre el mismo error a otro usuario indicando que tienen que actualiza el módulo l10n_es en código y BD cosa que ya tengo actualizado a la última versión, tanto en el código que es el de la última versión como el de la bbdd. Realizando la consulta oportuna a la bbdd me muestra esto junto con sus versiones, y estas son las últimas que hay en github de la rama v12, pero si os dais cuenta el mod303 esta por actualizar.
l10n_es_aeat_mod303 | to upgrade | 12.0.1.3.0
l10n_es | installed | 12.0.4.0
l10n_es_extra_data | installed | 12.0.4.0.0
l10n_es_aeat | installed | 12.0.3.0.0
A ver si alguien puede echarme una mano.
Gracias.
Buenas David
Sobre el error que comentas del 303, tanto si lo haces por base de datos como por el interfaz la forma más sencilla creo que es que elimines las plantillas de mapeos de esas fechas que te fallan y que se regeneren. Es verdad que hay problemas con bases de datos antiguas que no hayan sido actualizadas correctamente o que se hayan tocado plantillas.
Si no sabes concretamente en qué menú está o que tablas tienes que mirar escribe y te ayudo.
Saludos
Buenas Juan, pues te lo agradecería si pudieses echarme una mano si... ya estoy un poco saturado y exactamente no se que tablas tengo que eliminar y tampoco quiero hacerlo sin saber exactamente que estoy haciendo para no complicar todo más.
Un saludo.
Tienes que mirar esta tabla: l10n.es.aeat.map.tax
Puedes hacer una sql para ver la tabla, (SELECT * FROM l10n_es_aeat_map_tax) y ya te digo que en principio puedes eliminar los registros correspondientes al 303 de fecha 2021 para que se regenere mediante el data del módulo en la actualización del módulo.
Yo creo que hacer esto no genera ningún tipo de problema, no sé otros que opinarán
Si miro los registros de esa tabla obtengo estos resultados:
id | date_from | date_to | model | create_uid | create_date | write_uid | write_date | date_from_search | date_to_search
----+-----------+---------+-------+------------+----------------------------+-----------+----------------------------+------------------+----------------
1 | | | 347 | 1 | 2020-02-12 13:32:41.167717 | 1 | 2025-10-02 09:40:24.076464 | 1900-01-01 | 2999-12-31
2 | | | 303 | 1 | 2020-02-12 13:33:41.444472 | 1 | 2025-10-02 09:40:24.076464 | 1900-01-01 | 2999-12-31
(2 rows)
Disculpa pero es que no me deja pegarlo de otra manera :(
Pues ahí lo tienes:
Tienes un registro para el 303 ..del 1 de Enero del 1900 al 31 de Diciembre del 2999, por eso se solapa en fechas cuando intenta crear el de 2021. Tienes 2 opciones, eliminar ese registro y actualizar, verás que te genera los que deben ser, si lo quieres mantener para consulta cambiala la fecha "desde" y ponle desde 1 de Enero de 2999.
Saludos
Nada, el registro no se puede eliminar porque depende de otra tabla y modificando la fecha tal y como me dices tampoco funciona, sigue mostrando el mismo error:
raise Exception(_('Module loading %s failed: file %s could not be processed:\n %s') % (module, fname, warning_msg))
Exception: Module loading l10n_es_aeat_mod303 failed: file l10n_es_aeat_mod303/data/2024-10/l10n.es.aeat.map.tax.csv could not be processed:
Error desconocido durante la importación <class 'odoo.exceptions.ValidationError'>: ('Error mientras se validaban las restricciones\n\nError! Las fechas de los registros se solapan con un registro existente.\n', None)
Recalcar que por si acaso, he limpiado la bbdd y he vuelto a cargar la copia de producción, he cambiado el registro de fecha y lo he lanzado y nada.