Automatiza tu Odoo con acciones del servidor.
Odoo es un ERP muy automatizado, pero podemos llevarlo aún más lejos sin necesidad de ser programadores; solo necesitamos un poco de tiempo y conocimiento del módulo que queremos modificar. Por eso, en este blog te voy a explicar cómo automatizar tareas con las acciones del servidor. Exdoo v18 Odoo Enterprise Palabra clave: Acciones del servidor
Daniel Xithe
5/19/20255 min read


¿Qué son las acciones del servidor?
Son acciones que podemos ejecutar al presionar un botón o en el menú desplegable de acciones. Nos permiten actualizar registros, crear actividades, enviar correos electrónicos o SMS, crear registros, ejecutar código y mucho más. Es una herramienta muy potente que muchos pasamos por alto, pero que puede facilitarnos muchas tareas del día a día.
Estas acciones son útiles para:
Modificar registros de manera masiva sin tener que entrar uno por uno.
Enviar correos electrónicos automáticos a proveedores o clientes.
Actualizar precios de todos los productos con un solo botón.
Un mundo completo de posibilidades que muchos estamos dejando pasar.
¿Cómo acceder a las acciones del servidor?
Primero, vamos a los Ajustes de Odoo y activamos el Modo Desarrollador. Esto desbloqueará un nuevo menú donde podemos encontrar la opción "Acciones del servidor"




En este menú es donde podemos empezar a hacer magia para automatizar nuestras tareas del día a día.
Configurando nuestra primera acción del servidor.
Para usar esta herramienta, necesitamos:
Asignar un nombre a la acción.
Seleccionar el tipo de acción que vamos a realizar (actualizar un registro, crear una actividad, enviar un correo, SMS, crear registros, ejecutar código Python, etc.).
Elegir el modelo que queremos afectar.
Asignar un grupo si queremos limitar quién tiene acceso a usarla.
Configurar los detalles de la acción, que es donde indicamos qué se va a actualizar.


Ejemplo sencillo: actualizar un campo de registro.
Imagina que queremos cambiar la forma de pago de una cotización a "tarjeta de crédito". Podemos configurarlo usando el tipo "Actualizar registro", que simplemente modifica un campo del registro. Después, presionamos el botón "Crear acción contextual" para activarla.
Luego, solo tenemos que ir al formulario de la cotización, seleccionar nuestra acción en el menú desplegable y veremos cómo actualiza nuestro registro automáticamente.




Y veremos cómo actualiza nuestro registro.


Puede que esto parezca algo minúsculo, pero es solo el comienzo. Por ejemplo, con esta misma acción podemos cambiar el estado de varios registros al mismo tiempo. Solo necesitamos ir a la vista lista, seleccionar los registros que queremos modificar, presionar el menú de acciones y seleccionar nuestra acción.




Enviar correos electrónicos automáticos.
Otro uso interesante es enviar correos electrónicos automáticos, como notificaciones al equipo de almacén cuando una orden se confirma. Para esto:
Creamos una nueva "Acción del servidor" de tipo "Enviar correo electrónico".
Seleccionamos el módulo de ventas.
Elegimos una plantilla de correo.
Nota: El mensaje puede ser:
· Nota interna: Solo visible para los usuarios en el chat del registro.
· Mensaje: Publicado y notificado a los seguidores del registro.
· Correo electrónico: Enviado directamente a los destinatarios de la plantilla, sin registrarlo en el chat.
Una vez creada, solo necesitamos ir a nuestra venta y seleccionar la acción en el menú para que se envíe el mensaje automáticamente.


Después de crear la acción, solo tenemos que dirigirnos a nuestra venta y buscar nuestra acción en la ranura del registro.


Y como nuestra acción del servidor era de tipo mensaje, nos va a generar un mensaje que los seguidores de esta tarea podrán ver.


Automatizando descuentos con código Python.
Pero esto no es ni la mitad de lo que podemos hacer. Con un poco de conocimiento de Python, podemos automatizar tareas más avanzadas.
Por ejemplo, imagina que tienes una cotización y quieres aplicar el mismo descuento a todos los productos. En lugar de hacerlo manualmente, lo que podría llevar a errores, puedes usar una acción del servidor.
Primero, agrega un campo llamado "Descuento global" usando Odoo Studio (hablaré de esto en otro blog). Luego, usa el siguiente código para aplicar el descuento automáticamente:




El código es algo sencillo, pero te lo explicaré paso por paso para que tú puedas ir haciendo los tuyos poco a poco.
Records es una variable que establece Odoo, que podemos definir como el conjunto de registros. Estos los recorremos en un ciclo for, ya que de esta forma podemos seleccionar varias ventas desde la vista lista y realizar el cambio en cada una. Después obtenemos el valor de nuestro campo generado, que es x_studio_precio_global, y validamos que sea un monto entre 0 y 100, porque para que un código esté perfecto siempre tenemos que agregarle validaciones. Posterior a esto, recorremos order_line de nuestro registro para modificar su campo discount con nuestro valor, y si nos vamos a nuestra venta y ejecutamos la acción de servidor, vemos lo siguiente.




Lo que puedes hacer con estas acciones solo está limitado por tu imaginación. Con un poco de tiempo y práctica, puedes automatizar muchas tareas diarias, liberándote para enfocarte en lo que realmente importa.
En Exdoo podemos desarrollar cualquier módulo para Odoo en México, implementamos tu ERP con consultores experimentados no solo en Odoo sino en procesos de negocios, tenemos 10 años trabajando solamente con Odoo en México y otros países.
Exdoo TI S DE RL DE CV
10 años de experiencia en Odoo