Ir al contenido

¡Bienvenido a los foros Aeodoo!

Somos la comunidad de Odoo internacional hispanohablante.
Estos foros son para compartir y debatir dudas técnicas, funcionales y mejores prácticas para Odoo. Recuerda que no están permitidos los insultos, descalificaciones o spam, cualquier conducta reprobable supondrá el baneo del usuario.

Esta pregunta ha sido marcada
4 Respuestas
416 Vistas

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.

Avatar
Descartar
Autor

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

Autor

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

Autor

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

Autor

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.

Autor

He conseguido solucionar bastantes cosas, y ya no me da errores estas vistas que os comentaba, pero ahora tengo otro problema, tras lanzar la actualización con openupgrade he ido solucionando problemas de módulos que no cargaban bien y otros problemas con el modelo account.register.payments, que según he leído en github en un post de Pedro Baeza, exactamente aquí: https://github.com/oca/openupgrade/issues/1733 que el modelo ha cambiado a account.payment.register, por lo tanto, he borrado a mano este modelo en la bbdd y he vuelto a lanzar por última vez la actualización y ya no ha dado errores ni warnings y he accedido a mi odoo y ya está en versión 13, pero a la hora de acceder a contabilidad y facturas de clientes o proveedores, estas vistas me aparecen vacías, pero si tengo cosas en pagos de clientes y proveedores.

He ido a comprobar a la bbdd y si existen registros en la tabla account.move pero esta no refleja los cambios correctamente, ya que move_type no lo cambia y lo deja con valores que ya no existen en odoo13, como por ejemplo:
- receivable
- other
- payable
- receivable_refund

Si yo me mapeo estos move_type y los cambio por los de la v13, lanzo el UPDATE en la bbdd con esta SQL:

UPDATE account_move
SET move_type = CASE
    WHEN move_type = 'receivable' THEN 'out_invoice'
    WHEN move_type = 'receivable_refund' THEN 'out_refund'
    WHEN move_type = 'payable' THEN 'in_invoice'
    WHEN move_type = 'payable_refund' THEN 'in_refund'
    ELSE move_type
END
WHERE move_type IN ('receivable','receivable_refund','payable','payable_refund');

Tabla de tipos:

move_type antiguomove_type Odoo 13
receivableout_invoice
receivable_refundout_refund
payablein_invoice
payable_refundin_refund
otherentry


Una vez realizo esto, sigue sin mostrar nada en la parte de facturación de cliente y proveedores, los demás resúmenes contables que aparecen en contabilidad si los muestra, por ejemplo el diario del banco, el de efectivo... pero facturas de venta y compra completamente vacío, tenéis alguna idea de porque puede ocurrir esto?

Añadir que si me voy a contactos me los muestra todos, pero estos no son ni clientes ni proveedores, cuando yo filtro por clientes o proveedores no aparece nada tampoco.


Gracias de antemano.

Avatar
Descartar

Hola, prueba a pasar estas query y luego un -u all

si tienes website, ponle un filtro para que no te borre las vistas generadas desde el editor web que suelen ser las vistas que tienen asignado website_id...


delete from ir_model_data where model = 'ir.ui.view' and res_id in (select id FROM ir_ui_view where inherit_id is not null);

delete FROM ir_ui_view where inherit_id is not null;

DELETE FROM ir_attachment WHERE name SIMILAR TO '%.(js|css)';

DELETE FROM ir_attachment WHERE res_model='ir.ui.view' AND NAME LIKE '%assets_%';


un saludo

Avatar
Descartar
Autor

Esta parte la he conseguido solucionar, y era problema del modulo date_range que no cargaba correctamente. Ahora me enfrento a otro problema como explico más arriba. Aún así muchas gracias.

Están todos los módulos antiguos y además migrados?

Avatar
Descartar
Autor

Si, entiendo que si están contemplados en openupgrade v13 cuando haces el --update=all ya se migran a la v13 correspondiente.

El comando que lanzo sin tener en cuenta que lo hago sobre docker es este:
docker compose run --rm odoo13 bash -c "\
/mnt/openupgrade/odoo-bin -c /etc/odoo/odoo.conf -d mi_bbdd \
--addons-path=/mnt/extra-addons,/mnt/openupgrade/addons,/usr/lib/python3/dist-packages/odoo/addons \
--update=all --stop-after-init
"

Buenos días David,

Es algo habitual tener que realizar una limpieza de las vistas tras haber realizado la migración.

Tienes que verificar si esos campos existen en la versión 13 o no, y si prefieres en un primer momento eliminar las vistas que estén haciendo referencia a esos campos para poder acceder sin errores. Vete al menú de vistas, y en el filtro (ARCH BLOB) busca referencias a esos campos y borra esas vistas, si tienes los módulos correctos al actualizar se deberían regenerar correctamente.

Saludos

Avatar
Descartar
Autor

Muchas gracias Juan,

con tu ayuda he conseguido solucionar el poder ver esas vistas ya que esos errores me los daba de la versión v12.0-20191105 a la última versión v12 que había que es la v12.0-2020.... pero cuando yo hago la actualización de mi bbdd de v12.0-20191105 a la v13 con openupgrade el error que me muestra esas vistas es diferente.

Error Clientes:
Rastreo de error:
TypeError: Cannot read properties of undefined (reading 'kanban')
at http://127.0.0.1:8069/web/content/8420-9b51d59/web.assets_backend.js:449:309
at _.each._.forEach (http://127.0.0.1:8069/web/content/8419-541d0dc/web.assets_common.js:108:558)
at Class._generateActionViews (http://127.0.0.1:8069/web/content/8420-9b51d59/web.assets_backend.js:449:229)
at http://127.0.0.1:8069/web/content/8420-9b51d59/web.assets_backend.js:444:497

En contabilidad facturas de cliente:
Rastreo de error:
TypeError: Cannot read properties of undefined (reading 'list')
at http://127.0.0.1:8069/web/content/8420-9b51d59/web.assets_backend.js:449:309
at _.each._.forEach (http://127.0.0.1:8069/web/content/8419-541d0dc/web.assets_common.js:108:558)
at Class._generateActionViews (http://127.0.0.1:8069/web/content/8420-9b51d59/web.assets_backend.js:449:229)
at http://127.0.0.1:8069/web/content/8420-9b51d59/web.assets_backend.js:444:497

Esos son algunos de los errores...

Y no consigo hacer una migración limpia de una versión a otra.
En cuanto a los módulos, solo tengo oficiales:
- Facturación
- Ventas
- Compra
- Empleados
- Gastos
- Tableros
- Contactos
- Conversaciones

Todos estos ya están contemplados por openupgrade v13 que es el que me he descargado de su repositorio para lanzar la actualización con update=all.

Su respuesta

Intente dar una respuesta sustancial. Si desea hacer un comentario sobre la pregunta o la respuesta, utilice la herramienta de comentarios. Recuerde que siempre puede revisar sus respuestas, no es necesario responder dos veces a la misma pregunta. No olvide votar, ayuda a seleccionar las mejores preguntas y respuestas