Editar campos de forma masiva en Odoo
Aprenda a editar registros de forma masiva en Odoo con la ayuda del módulo de OCA Mass Editing
4 octubre, 2023 por
Editar campos de forma masiva en Odoo
Ángel García de la Chica Herrera


En determinadas ocasiones necesitamos actualizar múltiples registros al mismo tiempo. A partir de la versión 14 de Odoo podemos editar de forma masiva los campos con dos métodos. Por un lado, el método que viene por defecto en Odoo y por otro, utilizando el módulo de OCA llamado mass_editing disponible desde la version 6.1 de Odoo (por aquel entonces OpenERP). En este post vamos a ver cómo funciona el módulo Mass Editing y lo compararemos con el método que dispone las últimas versiones de Odoo.

 1. ¿Qué nos permite hacer el módulo Mass Editing? 

Con Mass Editing podemos hacer lo siguiente:

  • Editar en masa múltiples campos en una sola acción.

  • Agregar un grupo para limitar el uso de esta acción a personas determinadas.

  • Filtrar los elementos que el usuario puede actualizar en masa.

  • Editar en masa cualquier campo con widgets, como por ejemplo, campos de color o de imagen.

Cabe destacar que a partir de la versión 16 de Odoo el nombre técnico del módulo deja de llamarse mass_editing y pasa a llamarse server_action_mass_edit.

2. Configuración 

Para configurar el módulo tendrá que activarse el modo desarrollador y acceder a:

Ajustes > Técnico > Acciones -> Acciones de Servidor

 


A continuación, crearemos una nueva acción y pulsaremos en Acción a realizar para seleccionar Mass Edit Records.

Los campos principales que hay que tener en cuenta son los siguientes:

  • Nombre de acción: es el nombre de la acción al que se le puede dar cualquier valor.

  • Modelo: es el modelo que queremos editar de forma masiva.

  • Acción a realizar: en este caso seleccionaremos Mass Edit Records.

Por otro lado, nos encontramos con las siguientes pestañas:

2.1 Campos 

En esta pestaña podemos añadir todos los campos que queramos editar del modelo seleccionado. Tenemos los siguientes campos:

  • Campo: campo que queremos editar.

  • Opción de Widget: seleccionaremos qué widget utilizaremos, por ejemplo many2many_tags para etiquetas o color para colores.

  • Apply Domain: marcaremos esta casilla si queremos que se aplique el dominio del campo. También existe la posibilidad de utilizar el módulo de OCA Server Action Domain para aplicar filtros de dominio personalizados antes de ejecutar la acción en los registros.

2.2 Mensaje  

En esta pestaña podremos añadir un mensaje personalizado para que salga en el asistente de edición masiva.

2.3 Seguridad

Para añadir los grupos de permisos que pueden realizar la edición masiva que estamos configurando. Esta opción es muy recomendable, ya que nos permite limitar quién puede editar los campos de forma masiva.

    3. Caso de uso 

    Para mostrar el funcionamiento del módulo vamos a plantear el siguiente caso de uso sobre el modelo de Iniciativas / Oportunidades. El objetivo es aplicar los siguientes cambios sobre múltiples registros:

    • Establecer un nuevo comercial.

    • Eliminar el Equipo de ventas.

    • Añadir más Etiquetas a las oportunidades.

    3.1 Creación de la acción de servidor

    En primer lugar, crearemos una nueva acción de servidor con la siguiente información:


    3.2 Añadir los campos que queremos editar

    A continuación añadiremos los campos en la pestaña Campo que queramos editar. En este caso :

    • Comercial.

    • Equipo de ventas.

    • Etiquetas.


    3.3 Añadir un mensaje personalizado 

    Este mensaje será el que se mostrará en el asistente de edición masiva. No es obligatorio introducirlo.

     

        3.4 Configurar el grupo de permisos

        Indicar los grupos de permisos que podrán realizar la edición masiva. Este paso es opcional, pero muy recomendable.

        3.5 Guardar y crear una acción contextual

        Una vez creada la acción de servidor deberemos pulsar en Guardar y en Crear acción contextual para que lo podamos ver desde el menú Acción del módulo de CRM.

                                                                3.5 Edición masiva de los campos seleccionados

                                                                Una vez creada la acción de servidor vamos a ver cómo ejecutarla. Para ello nos dirigiremos al módulo CRM y seleccionaremos todas las oportunidades que queramos editar. Si pulsamos en el menú Acción, podremos ver la acción que acabamos de crear Edición Masiva Iniciativa/Oportunidad.


                                                                Si pulsamos sobre esta opción veremos el siguiente asistente:


                                                                Como podemos ver, el asistente contiene toda la información que hemos configurado al crear la acción de servidor: la cabecera con el nombre de la acción de servidor, la descripción con el mensaje que hemos configurado y los campos que queremos editar con las siguientes opciones:

                                                                • Establecer o Eliminar para las variables que no sean many2many.

                                                                • Establecer, Eliminar o Añadir para las variables many2many.

                                                                Realizamos los cambios que queramos sobre os registros seleccionados y pulsaremos en Aplicar.


                                                                En la siguiente imagen podemos ver cómo se han modificado de forma masiva todos los registros seleccionados.


                                                                Por otro lado, si vamos a cualquiera de las oportunidades podremos ver cómo se han añadido las dos etiquetas Formación y Consultoría.



                                                                4. Edición masiva con Odoo (a partir de la versión 14)

                                                                Para ver cómo funciona la edición masiva con Odoo vamos a realizar el mismo caso de uso que hemos llevado a cabo en el apartado anterior. Es decir, desde el módulo CRM:

                                                                • Establecer un nuevo comercial.

                                                                • Eliminar el Equipo de ventas.

                                                                • Añadir más Etiquetas a las oportunidades.

                                                                Para ello nos dirigiremos al módulo CRM, cambiaremos el tipo de vista para ver todos los registros en modo lista y seleccionaremos todos los registros que queramos editar.


                                                                4.1 Edición del campo Comercial

                                                                Para cambiar el comercial de todos los registros seleccionados pulsaremos sobre la casilla Comercial de cualquier registro seleccionado y escogeremos el nuevo comercial. A continuación, pulsaremos en Aceptar para confirmar los cambios. 

                                                                4.2 Eliminación del campo equipo de ventas

                                                                Para eliminar un campo de todos los registros seleccionados, pulsaremos sobre la casilla de Equipo de ventas de cualquier registro seleccionado y borraremos el campo para dejar la casilla vacía. A continuación pulsaremos Enter y confirmamos los cambios pulsando en Aceptar.

                                                                4.3 Añadir más etiquetas

                                                                En este caso Odoo solo nos permite editar de forma masiva las etiquetas de tal manera que todos los registros seleccionados tengan las mismas etiquetas. Es decir, no nos permite añadir más etiquetas, si no editar el campo etiquetas para que todos los registros seleccionados tengan las mismas.

                                                                Para editarlas seleccionaremos cualquier casilla de Etiquetas y seleccionaremos las etiquetas que queramos. A continuación, confirmaremos los cambios pulsando en Aceptar.

                                                                5. Comparación entre los dos métodos

                                                                Después de realizar el mismo caso de uso utilizando los dos métodos hemos observado las siguiente ventaja de utilizar Odoo en vez de el módulo de Mass Editing:

                                                                • No requiere de ninguna configuración previa. Por lo tanto, si solo vamos a utilizar la edición masiva de forma ocasional y para los campos que aparecen en la vista lista, la mejor opción es usar Odoo.

                                                                Por otro lado, hemos encontrado las siguientes ventajas de utilizar el módulo de Mass Editing con respecto a Odoo:

                                                                • Nos permite añadir campos en las variables many2many.

                                                                • Nos permite utilizar los widgets de los campos como por ejemplo, many2many_tags o color.

                                                                • Podemos editar cualquier campo de forma masiva, no solo aquellos que aparecen en la vista tree.

                                                                • Posibilidad de configurar un grupo de permisos para cada acción de servidor.

                                                                Por lo tanto, si vamos a utilizar de forma habitual la edición masiva de campos, vemos muy recomendable utilizar el módulo de Mass Editing.

                                                                 En Sygel trabajamos cada día para adaptar a diferentes escenarios las opciones que tanto Odoo como la Odoo Community Association (OCA) ofrecen. Somos conscientes de que cada empresa tiene unas características específicas y, por ello, el trato personalizado se traduce en la implantación del ERP para que cumpla tanto con las expectativas como con las necesidades de nuestros clientes. A la vez, compartimos nuestros avances con el resto de la comunidad, para que cada día se beneficie más gente.