




Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Descubre las mejores universidades de tu país según los usuarios de Docsity
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Esta guía proporciona una descripción detallada de los cambios significativos en las versiones de odoo 14, 15, 16 y 17, incluyendo actualizaciones de módulos, cambios en la sintaxis, nuevas funcionalidades y directrices para la migración. La guía es una herramienta esencial para desarrolladores que buscan actualizar sus módulos de odoo a las últimas versiones.
Tipo: Esquemas y mapas conceptuales
1 / 8
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
Reglas y parámetros OCA Cambios odoo 14 Actualice la versión del módulo a14.0.1.0.0. Las etiquetas de acceso directo XML<act_window>y a
_name_search ahora devuelve identificadores en lugar de la name_get tupla de estilo (lista de (id, display_name)). Elimine global la línea de asignación de campos en las reglas de registro, ya que es un campo calculado. Reemplace las apariencias de .with_context(force_company=...)con .with_company(...). Se ha eliminado el acceso a ir.actions.los objetos, por lo que debe utilizar sudo o interactuar a través del controlador /web/action/load. Ejemplo: def action_redirect_to_leads_opportunities(self): view = 'crm.crm_lead_all_leads' if self.use_leads else 'crm.crm_lead_opportunities' action = self.env['ir.actions.act_window']._for_xml_id(view) action['view_mode'] = 'tree,kanban,graph,pivot,form,calendar' action['domain'] = [('campaign_id', 'in', self.ids)] action['context'] = {'active_test': False, 'create': False} return action Cambios odoo 15 t-raw Las directivas QWeb se reemplazan por t-out unas. T-esc Las directivas también están en desuso, pero todavía funcionan como un alias de t-out. Cuando sea posible, cambie a este nuevo nombre antes de la futura eliminación de la directiva. El acceso a los objetos ir.model se ha eliminado, por lo que es necesario utilizar sudo, o utilizar los métodos existentes para obtener datos habituales. La sintaxis de Jinja en las plantillas de correo ha sido reemplazada por 2 idiomas: Qweb para el cuerpo de la plantilla de correo. inline_template, que es similar a Jinja, pero con expresiones encerradas por{{y}}en lugar de${y}.Se utiliza en campos como asunto, email_from, email_to, etc.
Si desea evitar la eliminación de algunos registros según un criterio, en lugar de anular el método de desvinculación (unlink), utilice un método con el decorador @api.ondelete. Ponlo at_uninstall=True solo si la verificación también debe realizarse al desinstalar el módulo.ejemplo: Cambios odoo 16 Actualice la versión del módulo a 16.0.1.0.0. Si está anulando name_search un método en su módulo, puede utilizar ahora una nueva _rec_names_search variable de clase para exponer los campos a buscar sin necesidad de anular el método. Cualquier vista que groups_id lo incluya ahora tiene que mover dichos grupos a los elementos de la vista. Pero ahora puede colocar groups un atributo en un campo de vista en lugar de aislarlo en una vista sin temor a un error de acceso. Verificar si los campos protegidos por un grupo interactúan de alguna manera con la lógica empresarial o la interfaz de usuario. Por ejemplo, un campo que forma parte del dominio de otro campo o que se utiliza en copia/valores predeterminados. Un caso especial es el campo company_id, que siempre se usa internamente para dominios en campos many2one que hacen referencia a registros de varias empresas. En estos casos hay que añadir dos veces el mismo campo, una con el grupo y otra invisible sin él.
Los campos One2many fuera de un cuaderno ahora no se expanden al ancho completo del formulario de forma predeterminada. Debes ponerlo colspan="2"para lograr tal efecto. Si utiliza fields_get_keys()un método para obtener la definición de campos, ahora utilice directamente _fields una variable o get_views()un método. El método fields_view_get- debería ser reemplazado por get_view. Si usa get_xml_id()un método para obtener una identificación, ahora use el método get_external_id(). Los métodos flush()y recompute()están en desuso. Utilice flush_model(), flush_recordset()o env.flush_all()en su lugar, según la granularidad necesaria. Los métodos refresh()y invalidate_cache()están en desuso. Utilice invalidate_model(), invalidate_recordset()o env.invalidate_all()en su lugar, según la granularidad necesaria. Para los index = True, se puede reemplazar por btree para ser más expresivo. Las plantillas de recursos XML ahora se agregan a los paquetes de recursos normales. Anteriormente, se agregaban al paquete de activos falso web.assets_qweb, pero ahora deben declararse en el paquete de activos adecuado que se ajuste a su alcance ( web.assets_backend,, web.assets_frontendetc.). Coloque unaccent=False definiciones de campos donde no se deba hacer distinción entre palabras acentuadas, para obtener un mejor rendimiento en las búsquedas. Ejemplo: parent_path campo
En una vista de árbol, si tiene un campo con invisible="1", debe cambiarlo column_invisible="1", o ahora la columna se mostrará, pero vacía. res.config.settings Se han simplificado las vistas de configuración (aquellas que heredan de). Viniendo de versiones anteriores, los cambios necesarios son: El <div class="app_settings_block *" ...>elemento es ahora <app ...>. El <div class="o_settings_container *" ...>es ahora <block ...>. El
'api.ondelete' directive #
odoo17_portalnew