Este documento describe técnicas para crear módulos de Odoo que sean compatibles con actualizaciones y otros módulos. Recomienda evitar reemplazar campos y métodos existentes, y en su lugar heredar y extender su funcionalidad. También sugiere técnicas como guardar "instantáneas" antes y después de llamar a métodos superiores para procesar cambios. El objetivo final es desarrollar módulos que se puedan instalar, actualizar y desinstalar fácilmente sin romper la funcionalidad existente.
A menudo cuando se desarrolla, se acaba con código que a lo largo del tiempo resulta imposible de mantener. Eso se puede deber en parte a no haber seguido unas pautas y buenas prácticas cuando se desarrolló.
En este charla, intentaré explicar algunas buenas prácticas, muchas de ellas implantadas como reglas en código como el de la OCA (Odoo Community Association), y algunas pautas obtenidas por la experiencia.
El CTO de Tecnativa dará un repaso durante 30 minutos a las características más destacadas de la versión 9 después de haber sido publicada, ya que la charla de las anteriores jornadas sólo había una versión beta. También se hablará del ecosistema Odoo para la versión 9 (OCA, localización, etc). Esta charla tiene un corte más funcional.
Queda poco para que la próxima versión de Odoo esté disponible (plazo exacto no definido), y en las jornadas Odoo experience se pudieron ver las novedades que traerá a nivel funcional. Centrada sobre todo en una reforma general de la contabilidad, la nueva versión también incorporará como es habitual un refinamiento del resto de opciones y un puñado de nuevas características que se añaden a las ya existentes.
Además, la nueva versión traerá aparejado un nuevo modelo de negocio que también se explicará y se opinará sobre el mismo.
Joomla como plataforma de eCommerce - Joomla Day La Rioja 2016Pablo Arias
Conociendo la problemática de los sitios eCommerce o de venta online y algunas de sus soluciones, tanto para Joomla como algunas alternativas externas.
Aunque se dice que cada proyecto es un mundo, tras participar en proyectos desde 5 perspectivas diferentes ( administración, pyme, consultoría, empresa multinacional y startup) he llegado a 7 conclusiones comunes.
En esta charla trataré de explicar mis 7 conclusiones sobre management de equipos y proyectos técnicos. Entre otras cosas abordaremos la estimación, gestión de equipo, el rol de jefe de proyecto o el de responsable de producto.
A menudo cuando se desarrolla, se acaba con código que a lo largo del tiempo resulta imposible de mantener. Eso se puede deber en parte a no haber seguido unas pautas y buenas prácticas cuando se desarrolló.
En este charla, intentaré explicar algunas buenas prácticas, muchas de ellas implantadas como reglas en código como el de la OCA (Odoo Community Association), y algunas pautas obtenidas por la experiencia.
El CTO de Tecnativa dará un repaso durante 30 minutos a las características más destacadas de la versión 9 después de haber sido publicada, ya que la charla de las anteriores jornadas sólo había una versión beta. También se hablará del ecosistema Odoo para la versión 9 (OCA, localización, etc). Esta charla tiene un corte más funcional.
Queda poco para que la próxima versión de Odoo esté disponible (plazo exacto no definido), y en las jornadas Odoo experience se pudieron ver las novedades que traerá a nivel funcional. Centrada sobre todo en una reforma general de la contabilidad, la nueva versión también incorporará como es habitual un refinamiento del resto de opciones y un puñado de nuevas características que se añaden a las ya existentes.
Además, la nueva versión traerá aparejado un nuevo modelo de negocio que también se explicará y se opinará sobre el mismo.
Joomla como plataforma de eCommerce - Joomla Day La Rioja 2016Pablo Arias
Conociendo la problemática de los sitios eCommerce o de venta online y algunas de sus soluciones, tanto para Joomla como algunas alternativas externas.
Aunque se dice que cada proyecto es un mundo, tras participar en proyectos desde 5 perspectivas diferentes ( administración, pyme, consultoría, empresa multinacional y startup) he llegado a 7 conclusiones comunes.
En esta charla trataré de explicar mis 7 conclusiones sobre management de equipos y proyectos técnicos. Entre otras cosas abordaremos la estimación, gestión de equipo, el rol de jefe de proyecto o el de responsable de producto.
Muchas veces por desconocimiento y mal asesoramientos tanto en las nuevas empresas como en empresas ya constituidas se instala software sin licencias. Perdiendo la posibilidad de mejorar la productividad e incluso reducir los costes para la empresa.
Introduccción a la programación en Joomla!Roberto Segura
¿Quieres saber lo fácil que es empezar a programar extensiones para Joomla? ¿Qué necesitas? ¿Qué beneficios tiene Joomla frente a otras plataformas? Esta sesión pretende resolver todas tus dudas y enseñarte el camino para ponerte a programar.
Desde el entorno local hasta el despliegue en producción. Cómo trabajar con Magento 2 de la mejor manera y sentirnos cómodos desarrollando en el mejor framework de comercio electrónico del mercado
#MM17ES - Theming en Magento 2 usando un framework de front-endRubén Rodríguez
Slides de la charla charla de Meet Magento España 2017 sobre la integración de un framework de front-end con Magento 2. En ella se habla sobre la instalación de un framework de frontend basado en SASS, su instalación y su uso utilizando Frontools. También se tratarán temas como la instalación de librerías, maquetado y performance.
Jornadas Odoo 2015 - Implantación de Odoo en una empresa de automatización in...Pedro Manuel Baeza Romero
En esta charla se explicó un caso real de una implantación de Odoo hecha para una empresa norteamericana de automatización industrial. Se vio las particularidades de este sector, así como los beneficios y retos de exportar servicios de consultoría Odoo al extranjero (y particularmente a países donde hay una gran diferencia horaria).
VAT: Manage your risk and maximise your cashflowAlex Baulf
ExcaVATe is a bespoke process combining specialist data mining software with the experience and insight of our advisors to deliver a review built around your specific requirements. This analysis can identify cash saving opportunities as well as highlighting process and control weaknesses
ExcaVATe uses methods similar to those used by HMRC undertaking reviews of this nature
Jornadas Odoo 2016 - ¿Qué esperar de una nueva implantación de un ERP (Odoo)?...Pedro Manuel Baeza Romero
¿Qué esperar de un ERP? ¿Qué esperar de Odoo? De la Excel a Odoo…. La idea es explicar los posibles escenarios que se pueden dar y lo que puede suceder basado en experiencias, tanto a nivel económico como funcional.
Tratamiento y gestión del proyecto desde el cierre de la venta o la firma del contrato hasta la puesta en producción del ERP, y cómo en ocasiones hay que tratar con más problemas "psicológicos", de pagos, de feedback, u otras áreas que la parte técnica e incluso funcional.
API REST es una alternativa a XML o JSON basado en HTML que permite conectar terceras aplicaciones con Odoo. En Domatix hemos desarrollado una API basada en REST para trabajar de manera más ágil y eficiente con aplicaciones Android, aunque su uso es extensivo a cualquier aplicación de terceros. En la charla se explicará por qué, para qué y como hemos desarrollado esta nueva forma de conectar con Odoo.
Enlace a la charla: https://odoospain.odoo.com/event/jornadas-odoo-2016-2016-06-16-2016-06-17-4/track/api-rest-para-conectar-odoo-144
Muchas veces por desconocimiento y mal asesoramientos tanto en las nuevas empresas como en empresas ya constituidas se instala software sin licencias. Perdiendo la posibilidad de mejorar la productividad e incluso reducir los costes para la empresa.
Introduccción a la programación en Joomla!Roberto Segura
¿Quieres saber lo fácil que es empezar a programar extensiones para Joomla? ¿Qué necesitas? ¿Qué beneficios tiene Joomla frente a otras plataformas? Esta sesión pretende resolver todas tus dudas y enseñarte el camino para ponerte a programar.
Desde el entorno local hasta el despliegue en producción. Cómo trabajar con Magento 2 de la mejor manera y sentirnos cómodos desarrollando en el mejor framework de comercio electrónico del mercado
#MM17ES - Theming en Magento 2 usando un framework de front-endRubén Rodríguez
Slides de la charla charla de Meet Magento España 2017 sobre la integración de un framework de front-end con Magento 2. En ella se habla sobre la instalación de un framework de frontend basado en SASS, su instalación y su uso utilizando Frontools. También se tratarán temas como la instalación de librerías, maquetado y performance.
Jornadas Odoo 2015 - Implantación de Odoo en una empresa de automatización in...Pedro Manuel Baeza Romero
En esta charla se explicó un caso real de una implantación de Odoo hecha para una empresa norteamericana de automatización industrial. Se vio las particularidades de este sector, así como los beneficios y retos de exportar servicios de consultoría Odoo al extranjero (y particularmente a países donde hay una gran diferencia horaria).
VAT: Manage your risk and maximise your cashflowAlex Baulf
ExcaVATe is a bespoke process combining specialist data mining software with the experience and insight of our advisors to deliver a review built around your specific requirements. This analysis can identify cash saving opportunities as well as highlighting process and control weaknesses
ExcaVATe uses methods similar to those used by HMRC undertaking reviews of this nature
Jornadas Odoo 2016 - ¿Qué esperar de una nueva implantación de un ERP (Odoo)?...Pedro Manuel Baeza Romero
¿Qué esperar de un ERP? ¿Qué esperar de Odoo? De la Excel a Odoo…. La idea es explicar los posibles escenarios que se pueden dar y lo que puede suceder basado en experiencias, tanto a nivel económico como funcional.
Tratamiento y gestión del proyecto desde el cierre de la venta o la firma del contrato hasta la puesta en producción del ERP, y cómo en ocasiones hay que tratar con más problemas "psicológicos", de pagos, de feedback, u otras áreas que la parte técnica e incluso funcional.
API REST es una alternativa a XML o JSON basado en HTML que permite conectar terceras aplicaciones con Odoo. En Domatix hemos desarrollado una API basada en REST para trabajar de manera más ágil y eficiente con aplicaciones Android, aunque su uso es extensivo a cualquier aplicación de terceros. En la charla se explicará por qué, para qué y como hemos desarrollado esta nueva forma de conectar con Odoo.
Enlace a la charla: https://odoospain.odoo.com/event/jornadas-odoo-2016-2016-06-16-2016-06-17-4/track/api-rest-para-conectar-odoo-144
Contabilidad práctica odoo prorrata, 340, libro de iva,, intrastat, criterio ...Albert Cabedo Pla
Presentación práctica para el uso y configuración de varios módulos de Odoo como prorrata de IVA con el 303, modelo 340, libro de IVA, Criterios de Caja, Intrastat, operaciones intracomunitarias, Inversión del Sujeto Pasivo: UE y No UE, Ventas con IVA de otros países
BaseTIS - caso de éxito gestión personal con OdooBaseTIS
BaseTIS es una empresa consultora de servicios de Tecnologías de la información de más de 175 empleados y un volumen de facturación de 8 M€. Creemos profundamente en el valor de la confianza y las relaciones humanas, y esto lo hemos llevado a los valores y principales políticas de la casa.
En este contexto, hemos utilizado Odoo como plataforma con la que disponer de la herramienta de gestión de personal y hemos ampliado su funcionalidad de manera muy inspiradora (gamificación, relaciones humanas, implementación del cálculo de bonus, etc.), llegando a haber desarrollado una Aplicación Móvil multiplataforma (iOS & Android) con la que facilitar el acceso de nuestros empleados y colaboradores a su información.
Versión Final de Presentación dada en Universidad Galileo Campus Quetzaltenango, Guatemala sobre Gestión de Empresas apoyándose en Soluciones de Software Libre.
Slides para la charla sobre Action-Domain-Responder del VLCTechFest 2018.
Action-Domain-Responder (ADR) es un patrón de arquitectura propuesto por Paul M. Jones pensado para sustituir MVC en el desarrollo backend.
Analizaremos MVC a fondo y veremos por qué no es un buen patrón para aplicaciones web y cómo ADR está pensado para suplir todas sus carencias.
Revelamos los secretos de cómo crear una arquitectura de aplicación escalable basada sobre Drupal. Cómo economizar tiempo de desarrollo, acelerar el roadmap del proyecto reutilizando código y creciendo la arquitectura conforme la demanda.
Combinación ganadora: Plone como CMS, tu framework preferido como frontendmenttes
Plone es un excelente sistema de gestión de contenidos. Recientemente ha sido elegido como el mejor CMS no-PHP en un popular concurso anual. A pesar de esto, muchos desarrolladores web de Python encuentran complejo a Zope, el framework con el que esta desarrollado el CMS.
Ahora, ¿qué tal si pudieras usar Plone solo como un gestor de contenidos y tu framework favorito, cualquiera sea, para implementar un front-end de forma transparente, obteniendo una configuración basada sobre una aplicación probada y de bajo mantenimiento, como backend siendo libre para escribir tu propia aplicación, usando el poder y flexibilidad de tu framework web?
En esta charla, se mostrarán ejemplos realizados con un par de productos de terceros de Plone y front-ends en varios frameworks.
Jornadas Odoo 2016 - Cómo crear temas multi-website con Odoo v8 - Antonio Esp...Pedro Manuel Baeza Romero
En esta conferencia realizaremos en directo un ejemplo práctico de creación de dos sencillos temas de website de Odoo con soporte multi-website. Analizaremos las posibilidades que nos ofrece el framework para disponer de dos websites con aspecto diferente. Instalaremos ambos temas en la misma base de datos y crearemos dos websites, asignado un tema diferente a cada una de ellas. Compartiremos con la comunidad a través de Github los addons necesarios para facilitar la creación de temas con soporte multi-website.
Jornadas Odoo 2016 - Proyectos y tareas: Tan sencillo como potente - Antonio ...Pedro Manuel Baeza Romero
En múltiples tipos de negocio los flujos de tareas e información son el core del negocio, siendo más críticos que la misma preventa o facturación. En base a la experiencia con varias empresas se presentarán los modelos detectados como estándar para actividades aplicables a esta solución, tras presentar las funcionalidades generales e integración con otros módulos.
Presentación de la suite de aplicaciones empresariales Odoo, con un resumen de sus características, sus beneficios, y aplicaciones en el mundo empresarial.
Con la nueva versión, Odoo ha anunciado un cambio en la licencia open-source utilizada, pasando de AGPL v3 a LGPL v3, lo que supone una serie de implicaciones que se analizarán en esta ponencia. También se expuso el panorama actual de licencias en torno a Odoo, con sus problemáticas, fortalezas y debilidades.
En esta charla se presentó el proyecto OdooMRP, un proyecto destinado a completar la funcionalidad de Odoo para las empresas de fabricación.
Se hizo un breve resumen de la funcionalidad ya implementada.
Jornadas Odoo 2015 - De oca en OCA... beneficios de trabajar en la comunidadPedro Manuel Baeza Romero
La Odoo Community Association, u OCA, es una asociación mundial sin ánimo de lucro cuya misión es soportar el desarrollo colaborativo de las características de Odoo y promocionar su uso. En esta charla, se explicará ampliamente su función, los beneficios de adherirse a ella, y cómo colaborar.
Contaremos con la presencia en remoto de Alexandre Fayolle, de Camptocamp, miembro actual del board de OCA, y destacado miembro de la comunidad, que ha realizado grandes tareas técnicas para OCA como el establecimiento del sistema de integración continua runbot o la coordinación de los code sprints.
Jornadas Odoo 2015 - Gestión de almacén personalizada para venta Flash. Caso ...Pedro Manuel Baeza Romero
Puede que por el nombre de la compañía no los reconozcas, pero probablemente hayas oído hablar de Expirit, Mamuky, Mimub, Molet, Matby, Nonabox o El Armario de la Tele. Todos estos portales online de comercio electrónico se engloban bajo el paraguas de eShop Ventures, un grupo que va camino de convertirse en un gigante del 'ecommerce' nacional.
En esta charla, desglosaremos las visicitudes de la implantación de Odoo en su almacén logístico de Coslada, 3 naves de más de 1000 m2 donde, una vez estudiado al milimetro cada uno de los procesos especiales que supone la venta flash, hemos logrado desarrollar una solución SGA a medida con terminales móviles. Esto ha supuesto una verdadera revolución en la empresa, y un auténtico valor añadido de cara al cliente final, dado que la eficiencia y la eficacia en su manera de trabajar se ha visto incrementada de manera espectacular. Todo ello en el marco de lo que ha supuesto el utilizar una solución de código libre como Odoo, que con su base modular y su capacidad de adaptación, ha sido capaz de transformarse en la solución ideal para los complejos problemas planteados.
Jornadas Odoo 2015 - Gánate a tu director financiero con la contabilidad de OdooPedro Manuel Baeza Romero
Jornadas Odoo 2015
Explicación de las principales ventajas de la contabilidad integrada en Odoo, su funcionalidad, características y justificación de sus principales funciones, así cómo resolver las dudas más habituales de los contables y departamentos financieros de nuestros clientes.
- Explicación de 430, 410, 400 sin subcuenta
- Como implantar la contabilidad de Odoo en mitad de un ejercicio fiscal
- Agilidad de Extractos Bancarios
- Tener toda la Información integrada
- etc...
La idea principal es realizar una conferencia con José Manuel Quintana, Responsable del Departamento de Administración de Wonkandy S.L.
Wonkandy S.L se dedica a la venta de golosinas y dulces de importación desde el año 2010. Cuentan con Clientes como El Corte Inglés, el Grupo Vip´s, Costco y otros muchos pequeños y medianos establecimientos dedicados a la venta del sector del dulce y la golosina.
Además, cuentan con una importante cadena productiva de dulces y actualmente están embarcándose en el Comercio Electrónico.
Wonkandy S.L posee una interesante proyección Nacional e Internacional, ya que están localizados en muchos puntos de España y en algunos puntos del Norte de Europa.
La conferencia que deseamos llevar a cabo, sería para poder dar a conocer las distintas opiniones que tiene Wonkandy S.L sobre Odoo, ventajas y limitaciones. ¿Por qué se decidieron por Odoo?
Wonkandy S.L venía de una primera implantación fallida de Odoo, pero decidieron contratar nuestros servicios para salvar el Proyecto. Básicamente tuvieron que empezar desde cero, el resultado de la Consultoría así lo consideró.
Aún continúan implantado Odoo, pero ya han pasado las primeras Fases del Proyecto, las cuales hoy están en Producción.
Es un Proyecto que irá creciendo con el tiempo.
Creemos que la charla podría ser interesante y satisfactoria para futuros Clientes que deseen escuchar opiniones sobre Odoo y sobre cómo orientar la implantación de un Proyecto de un ERP.
Esta charla incluye las pautas para crear paso a paso como una capa de presentación (tema o theme) web basada en Bootstrap. Incluye la creación de plantillas de página, modificación de CSS, creación de widgets, etc.
La nueva API de desarrollo supone un ahorro de tiempo, mayor eficacia y menos posibles errores, por lo que aunque Odoo sigue siendo compatible con la antigua API, es conveniente migrar tu código a la nueva versión.
En esta charla se darán las pautas para migrar código realizado en la antigua API de OpenERP a la nueva API que se ha introducido en la versión 8 de Odoo.
En esta charla explicaremos las iniciativas de I+D que estamos llevando a cabo en Eficent:
Integración de Odoo con TaskJuggler - Con esta integración buscamos automatizar la programación de proyectos, teniendo en cuenta las limitaciones impuestas por recursos.
Gestión de la empresa por Unidades Operativas. Las Unidades Operativas (UO) representan una entidad a nivel organizativo que subdivide a la empresa en unidades independientes. La gestión por UO's permite:
Particionar los datos con respecto a otras UO's
Definir secuencias propias
Administrar el acceso a datos para su tratamiento y reporte
Obtener informes de Pérdidas y Ganancias, y Balance de Situación particionados por UO.
Inteligencia Artificial y Ciberseguridad.pdfEmilio Casbas
Recopilación de los puntos más interesantes de diversas presentaciones, desde los visionarios conceptos de Alan Turing, pasando por la paradoja de Hans Moravec y la descripcion de Singularidad de Max Tegmark, hasta los innovadores avances de ChatGPT, y de cómo la IA está transformando la seguridad digital y protegiendo nuestras vidas.
3Redu: Responsabilidad, Resiliencia y Respetocdraco
¡Hola! Somos 3Redu, conformados por Juan Camilo y Cristian. Entendemos las dificultades que enfrentan muchos estudiantes al tratar de comprender conceptos matemáticos. Nuestro objetivo es brindar una solución inclusiva y accesible para todos.
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
Jornadas Odoo 2016 - Cómo realizar un módulo de Odoo compatible con todo - Pedro M. Baeza
1. Cómo hacer un módulo Odoo
compatible con todo
Jornadas Odoo 2016
@PedroMBaeza
pedro.baeza@tecnativa.com
2. ●
Al instalar un módulo, una cosa deja de funcionar
●
Al desinstalar un módulo de “prueba”, las cosas no se quedan
como estaban.
●
Al hacer una actualización completa (--update=all), saltan
errores por todas partes. “Solución”: no actualizar
completamente nunca.
●
Al actualizar, se pierden cosas que se habían puesto.
www.tecnativa.comCómo hacer un módulo de Odoo compatible con todo
Situaciones comunes
3. www.tecnativa.comCómo hacer un módulo de Odoo compatible con todo
Problema
En el 99% de los casos, no se ha respetado
la herencia
4. ●
Utilizar módulos de calidad contrastada (OCA). No todos
pueden garantizar 100% esa compatibilidad, pero la mayoría sí.
Si no la tiene, los módulos OCA lo indican en el README
●
Técnicas de programación
●
Evitar pruebas en BDs reales.
●
Técnicas de programación para desarrollos propios.
www.tecnativa.comCómo hacer un módulo de Odoo compatible con todo
¿Cómo solucionarlo?
5. ●
Utilizar las posibilidades de la nueva API:
– Declarar el campo de nuevo (nombre técnico y tipo), pero añadiendo sólo los
atributos que cambian:
field = fields.Type(readonly=True) # Hacer readonly
– selection_add para añadir valores a un campo selection:
selection_field = fields.Selection(selection_add=[('new_value', 'New value')])
– Campos compute entre comillas, y sólo habrá que redefinir el método (pero
llamando al super):
computed_field = fields.Float(compute=”_compute_computed_field”)
www.tecnativa.comCómo hacer un módulo de Odoo compatible con todo
Compatibilidad en modelos
6. ●
Herencia en métodos:
– Nunca sobreescribir un método y no llamar al super.
– TÉCNICAS:
●
Rescatar datos del valor devuelto y reprocesar el/los registros.
www.tecnativa.comCómo hacer un módulo de Odoo compatible con todo
Compatibilidad en modelos (II)
SUPER
def method(self):
record = self.env[‘model’].create({…})
return record.id
SOBREESCRITURA
def method(self):
record_id = super(Class, self).method()
record = self.env[‘model’].browse(record_id)
record.field = “...”
return record_id
7. ●
Herencia en métodos:
– TÉCNICAS:
●
Guardar "instantánea" antes y después de llamar al super.
www.tecnativa.comCómo hacer un módulo de Odoo compatible con todo
Compatibilidad en modelos (II)
SUPER
def method(self):
record1 = self.env[‘model’].create({…})
record2 = self.env[‘model’].create({…})
SOBREESCRITURA
def method(self):
old_records = self.env[‘model’].search([])
super(Class, self).method()
current_records = self.env[‘model’].search([])
new_records = current_records - old_records
# process new_records
8. ●
Herencia en métodos:
– TÉCNICAS:
●
Técnicas creativas.
https://github.com/odoomrp/odoomrp-wip/blob/0b55ab14925322b3e167f
ef24e7aa9d5b38fddb5/procurement_purchase_no_grouping/models/procu
rement_order.py#L13
https://github.com/odoomrp/odoomrp-wip/blob/0b55ab14925322b3e167f
ef24e7aa9d5b38fddb5/procurement_purchase_no_grouping/models/purch
ase_order.py#L17
www.tecnativa.comCómo hacer un módulo de Odoo compatible con todo
Compatibilidad en modelos (III)
9. ●
No hacer position=”replace”
– Si no se vuelve a añadir el campo
●
puede haber error porque otro elemento se posicione en base a él.
– Si se vuelve a añadir el campo en otro sitio:
●
Se pierden los atributos que se hayan modificado por herencia…
●
…y además se pierden los cambios que se puedan hacer en el campo original en
actualizaciones.
www.tecnativa.comCómo hacer un módulo de Odoo compatible con todo
Compatibilidad en vistas
10. ●
No hacer position=”replace”
– ¿qué hacer entonces?
●
Si solo se quiere ocultar el campo, hacer position=”attributes”, y luego <attribute
name=”invisible”>1</attribute>
●
Si se quiere mover de sitio…
– No lo hagas.
– No, en serio, no lo hagas. Odoo no siempre tiene la mejor disposición según qué sectores,
pero tiene unos criterios razonables. Convencer al cliente es la mejor opción.
– Si no hay manera, la manera de hacerlo es: A) crear campo related al campo que quieres
hacer el replace; B) ocultar el campo original; C) Insertar el campo related. Aún así,
perderás las posibles propiedades heredadas.
www.tecnativa.comCómo hacer un módulo de Odoo compatible con todo
Compatibilidad en vistas (II)
11. ●
De nuevo, no hacer position=”replace” (o bueno, no indiscriminadamente)
– Es común que otros módulos añadan datos a un informe estándar. Ejemplo:
https://github.com/OCA/bank-payment/blob/9dc92beb4c2f07dbf189487875f0405
385cb762e/account_payment_partner/views/report_invoice.xml#L5
– Si se tiene que cambiar mucho el formato, mejor hacer un replace de la plantilla
entera, que andar cambiando múltiples cosas. No se obtendrán los campos de los
módulos adicionales, pero por lo menos no dará error.
<template id="report_invoice_inherit" inherit_id="account.report_invoice">
<xpath expr="//t[@t-raw]" position="replace">
<t t-raw="translate_doc(…, 'custom.report_invoice_document_custom')"/>
</xpath>
</template>
www.tecnativa.comCómo hacer un módulo de Odoo compatible con todo
Compatibilidad en informes
12. ●
Se puede aplicar lo mismo que para los informes.
●
Los elementos que añadamos nosotros deben llevar el atributo id para
facilitar la herencia desde nuestros elementos.
●
Los que están estándar, si están bien hechos (definidas plantillas por
separado y con IDs), nos pueden permitir cierto juego de cambio de sitio
jugando con la prioridad de las vistas.
www.tecnativa.comCómo hacer un módulo de Odoo compatible con todo
Compatibilidad en website