Saltar al contenido principal

Flujos de trabajo (Workflow Manager)

¿Para qué sirve?

Un flujo de trabajo convierte una columna en el estado de un proceso: en vez de escribir "listo" a mano, el usuario ve botones con las únicas acciones válidas desde donde está.

Es el motor de estados del sistema. Otros plugins (notificaciones, tableros Kanban, formularios) se enganchan aquí.

¿Cuándo lo necesitas?

Si tus registros pasan por etapas que tienen un orden y reglas de quién puede avanzarlas. Ejemplos:

  • Pedidos: recibido → en preparación → listo → entregado (con anular disponible desde cualquiera).
  • Visitas: programada → en proceso → completada (con reprogramar como desvío).
  • Solicitudes: nueva → en revisión → aprobada / rechazada.

Si tus datos son planos (se crean y no cambian de estado), no lo necesitas.

Cómo activarlo

  1. Registra workflow-manager.
  2. Aparece Flujos de trabajo en el menú.

Configuración inicial

  1. En la tabla, crea una columna de tipo Workflow (por convención se llama estado).
  2. Ve a Flujos de trabajo en el menú. Tu módulo aparece en la lista de la izquierda; haz clic en él.
  3. En Estados define cada situación posible: un color, un identificador interno (recibido, preparacion, listo, entregado, anulado) y una etiqueta visible (Recibido, En preparación, Listo, Entregado, Anulado).
  4. En Transiciones define los caminos permitidos:
    • Nombre interno (preparar, entregar, anular).
    • Desde qué estados se puede (uno o varios).
    • Hacia cuál lleva.
    • Etiqueta del botón (Preparar, Entregar, Anular).
    • Qué roles pueden ejecutarla.
  5. Si quieres pedir datos al cambiar de estado, elige un formulario en Formulario requerido.

Cómo se usa día a día

Al abrir un pedido, el usuario ve su estado actual como pastilla de color, y solo los botones que corresponden desde ese estado.

Ejemplo — pedido en Recibido solo ofrece Preparar y Anular. Nadie puede saltarse pasos ni escribir un estado inventado.

Ejemplos reales del sistema:

MóduloFlujo
Pedidosrecibido → en preparación → listo → entregado, con anular disponible desde cualquiera.
Visitasprogramada → en proceso → completada, con reprogramar como desvío.

Formularios requeridos en transiciones

Cada transición puede exigir un formulario del Form Builder que el usuario debe llenar antes de confirmar el cambio de estado.

Ejemplo: para "Rechazar solicitud", exigir un formulario con "Razón del rechazo" (obligatorio) y "Notas internas".

Se conecta con

  • Notification Manager — envía email/campana cuando una transición se ejecuta.
  • Form Builder — exigir formulario antes de una transición.
  • Board Manager — tablero Kanban donde arrastrar una tarjeta ejecuta la transición correspondiente.
  • Task Boards — tiene su propio sistema de transiciones dentro de sus columnas Estado.

Preguntas frecuentes

¿Puedo tener varios workflows en la misma tabla? No en la misma columna. Puedes tener varias columnas tipo Workflow si necesitas dos "líneas de estado" independientes (ej. estado del pedido + estado del pago).

¿Puedo cambiar los estados después de tener registros? Sí, pero con cuidado: los registros que ya están en un estado que decides eliminar quedarán huérfanos. Mejor agregar estados nuevos y solo desactivar los viejos.

¿Se guarda historial de cambios? Sí. Cada transición queda registrada con quién la ejecutó y cuándo. Se consulta desde el registro o desde Logs.

¿Puedo automatizar transiciones por tiempo? La automatización basada en tiempo (ej. "después de 24h en nuevo pasa a vencido") no viene de fábrica — requiere script programado (cron) o desarrollo custom.

¿Qué sigue?