Skip to content

Visión General del Motor de Automatizaciones

El Motor de Automatizaciones es el núcleo de Axol Systems encargado de ejecutar reglas de negocio de manera automática ante cambios en los datos. Esto permite automatizar flujos operativos complejos (como movimientos de stock, sincronizaciones, ediciones automáticas de tablas y alertas) sin necesidad de modificar el código fuente de la aplicación.


El motor opera bajo una arquitectura de evento-reacción:

  1. Tabla de Origen (source_table): La tabla de la base de datos que se está monitoreando (por ejemplo, una tabla de movimientos de inventario o una tabla de pedidos).
  2. Evento Disparador (trigger_event): El cambio que activa la automatización. Puede ser al insertar un nuevo registro (INSERT), al actualizar uno existente (UPDATE) o al eliminarlo (DELETE).
  3. Reglas de Configuración (rules): Un objeto JSON que define exactamente qué debe hacer la automatización.
  4. Ejecución Pasiva/Activa: Las automatizaciones se ejecutan de manera transparente en la base de datos cuando se guardan los cambios de una fila (automatización pasiva), o se pueden activar mediante botones interactivos en la interfaz (automatización activa).

Cada automatización se registra en el sistema definiendo los siguientes campos principales:

CampoTipo de DatoDescripción
Nombre (name)TextoNombre descriptivo de la automatización.
Descripción (description)TextoExplicación detallada de qué hace la regla. Se muestra en la interfaz para ayudar a los administradores.
Tipo (type)TextoEl identificador de la automatización (ej. inventory_sync, inventory_transfer, inventory_movement, edit_table, request_movement, passive_conditional_edit).
Tabla Origen (source_table)TextoNombre físico de la tabla que dispara la automatización.
Evento Disparador (trigger_event)TextoEvento que la dispara: INSERT, UPDATE o DELETE.
Reglas (rules)JSONBloque de configuración estructurado en formato JSON que especifica el comportamiento detallado de la automatización.
Activo (is_active)BooleanoPermite activar o desactivar la regla rápidamente desde el sistema.

Para facilitar la administración y configuración, las automatizaciones se clasifican en los siguientes tipos:


Comparación entre Automatizaciones de Inventario

Section titled “Comparación entre Automatizaciones de Inventario”

El sistema cuenta con tres tipos nativos para gestionar stock. Es importante seleccionar el adecuado según el flujo físico de tu operación:

Característicainventory_syncinventory_transferinventory_movement
DirecciónEntrada o salida definida en una columna de la fila de origen.Bidireccional (origen y destino en la misma fila).Unidireccional (configurada fija como entrada in o salida out).
ImpactoModifica una única fila de stock.Descuenta del origen y suma al destino simultáneamente.Afecta una sola dirección. Se requieren dos automatizaciones separadas para hacer un traspaso completo.
Uso IdealSincronizaciones masivas simples o integraciones con sistemas externos donde el tipo de movimiento ya viene explícito.Traspasos de almacén clásicos donde un único registro en la base de datos representa todo el viaje de la mercancía.Operaciones donde se requiere auditar de forma independiente la salida (p.ej. merma) o entrada (p.ej. compras), o cuando se requiere enlazar listas de objetos en junction tables.

  • Usa inventory_sync si tienes un catálogo de movimientos simple donde cada registro dice "entrada" o "salida" en la misma columna y no te interesa rastrear ubicaciones físicas de origen/destino estructuradas en el mismo registro.
  • Usa inventory_transfer si tu operación física requiere que al registrar un traspaso se descuente inmediatamente del origen y se sume al destino, asegurando que el saldo neto general no cambie y se eviten discrepancias.
  • Usa inventory_movement si deseas controlar cada dirección por separado (por ejemplo, si quieres que al hacer una salida se ejecuten reglas específicas y al hacer una entrada se ejecuten otras totalmente distintas), o cuando solo te interese registrar un lado de la operación.