KEPLIN Docs

Diseñar procesos

El canvas de los workflows — crear un proceso, elegir el registro del que trata, arrastrar pasos, declarar variables y leer los avisos del diseño.

Un workflow es un proceso de negocio diseñado en un lienzo: pasos conectados por flechas, decisiones que abren caminos, esperas que pueden durar semanas y tareas asignadas a personas. Es la pieza correcta para todo lo que tiene estados y gente en medio — una aprobación de gasto, el cierre de una oportunidad, el onboarding de un cliente nuevo.

Un workflow se distingue de un script programado en dos cosas:

  • Toda ejecución trata de UN registro. No es opcional: cada ejecución está agarrada a una fila de una entidad de la app — la oportunidad 42, la cuenta 17. Es ese registro el que los pasos leen y escriben.
  • Una ejecución puede dormir. Un script corre en segundos; un proceso puede quedarse tres semanas esperando a que alguien pulse un botón, y retoma exactamente donde paró.

A lo largo de este capítulo usamos el proceso Aprovação de oportunidade de la app Gestión de Clientes: las oportunidades por encima de 25.000 € pasan por la dirección antes de cerrar; por debajo de eso cierran solas.

Dónde viven los workflows

Los workflows son del lado de la UI de la app: abre el minitab UI y baja el árbol hasta el grupo Workflows, bajo las pantallas y los archivos. Cada proceso es una fila; hacer clic en el nombre abre el diseño en una pestaña del espacio de trabajo.

El grupo Workflows en el árbol de la app, con los procesos de la Gestión de Clientes
El grupo Workflows en el árbol de la app, con los procesos de la Gestión de Clientes

En una app que aún no tiene ninguno, el grupo muestra solo «Aún no hay workflows.».

Crear un workflow

  1. Pasa el ratón por la fila del grupo Workflows y haz clic en el botón Nuevo workflow (el icono de nodos, a la derecha del de carpeta).
  2. Rellena el Nombre — por ejemplo Aprovação de despesa. Es el nombre que aparece en el árbol, en el historial de las ejecuciones y en las listas donde el proceso se elige.
  3. Haz clic en Crear.

El diálogo Nuevo workflow, con el campo Nombre
El diálogo Nuevo workflow, con el campo Nombre

El proceso nace con un nodo de Inicio ya en el lienzo — sin él no hay por dónde empezar — y el diseño se abre de inmediato.

Consejo

El botón de carpeta de al lado crea carpetas dentro de Workflows. En una app con muchos procesos, agruparlos por área (comercial/, rh/) ahorra mucho tiempo de búsqueda.

El diseño

La pestaña de un workflow tiene dos vistas, Diseño y Ejecuciones, y el Diseño se divide en tres columnas:

El diseño de Aprobación de oportunidad: paleta, lienzo y propiedades
El diseño de Aprobación de oportunidad: paleta, lienzo y propiedades

Zona Qué es
Nodos (izquierda) La paleta con los tipos de paso. Se arrastra uno al lienzo.
El lienzo (centro) El proceso diseñado. Se arrastra para mover, se conecta salida con entrada para crear flechas.
El panel de la derecha Las propiedades — del proceso cuando no hay nada seleccionado, del paso cuando lo hay.

En la cabecera, a la derecha del nombre, quedan el identificador del proceso (un código como wf_4ef9ed11, que se copia con un clic — por él el código manda arrancar el proceso), el estado del guardado, y las flechas de deshacer y rehacer.

No hay botón de guardar: el diseño se guarda solo, un instante después de cada cambio.

La paleta de nodos

La paleta Nodos, con todos los tipos de paso
La paleta Nodos, con todos los tipos de paso

Para añadir un paso, arrastra el tipo de la paleta al lienzo. Para conectarlo, tira una flecha del punto de salida de un paso hasta el punto de entrada del siguiente. Para borrar, selecciona y pulsa Delete.

El nodo de Inicio es la excepción: existe siempre uno, y no se borra.

Cada tipo está descrito en la página siguiente, Pasos, decisiones y esperas. El resumen:

Grupo Nodos
Decidir y ramificar Condición, Paralelo, Unión, Ciclo
Esperar Esperar, Esperar evento
Actuar Escribir en el registro, Notificar, Email, Ejecutar script, Sub-workflow
Personas Tarea
Acabar Fin

En la paleta, los nodos están agrupados por tipología (Personas, Acciones, Control de flujo y Fin); cada grupo se pliega con un clic en el título, la caja Buscar de arriba filtra por nombre, y el ancho se arrastra por el borde derecho.

Bajo la cabecera está la barra de herramientas, la misma de las pantallas: las vistas Diseño y Ejecuciones, deshacer y rehacer, Duplicar nodo y Eliminar nodo (con un nodo seleccionado), y a la derecha Ajustar a la vista (encaja el proceso entero en el lienzo) y el zoom, con el porcentaje clicable para reponer el 100 %.

Las propiedades del proceso

Haz clic en cualquier zona vacía del lienzo para desmarcar el paso seleccionado — el panel de la derecha pasa a mostrar las propiedades del proceso.

Las propiedades del proceso, en el panel de la derecha
Las propiedades del proceso, en el panel de la derecha

Campo Qué hace
Descripción «Para qué sirve este proceso.» Texto libre, solo para quien construye.
Activado Apagado, «el proceso no arranca por ningún evento — solo existe para diseño». Sigue pudiendo editarse; simplemente no corre.
Ejecuciones sobre el mismo registro Cuantas hagan falta o Solo una a la vez.
Entidad La entidad de la que cada ejecución trata — una de las APIs de tabla de la app.
Campo de la clave El campo que identifica el registro (normalmente la clave primaria).
Variables Ver la sección siguiente.

Sobre la concurrencia: con Solo una a la vez, «emitir el evento otra vez mientras haya una ejecución viva no arranca nada». Es lo que se quiere en una aprobación — la misma oportunidad no debe tener dos procesos de aprobación corriendo al mismo tiempo. En un proceso tipo «solicitud de vacaciones», donde el mismo empleado puede tener varias solicitudes, se elige Cuantas hagan falta.

Atención

Sin Entidad elegida, el diseño acusa error y el proceso no corre: «Falta elegir la entidad — toda ejecución trata de un registro.» Es lo primero que hay que definir en un proceso nuevo.

Variables del proceso

Las variables son «lo que la ejecución lleva consigo: comentarios, valores calculados, decisiones». Viven mientras la ejecución viva, y son independientes del registro — el comentario que la dirección escribió no tiene que quedar grabado en la tabla de las oportunidades para que el proceso pueda usarlo tres pasos más adelante.

Ábrelas en el botón … de la fila Variables:

El diálogo Variables del proceso
El diálogo Variables del proceso

  1. Haz clic en Añadir variable.
  2. Dale un Nombre (sin espacios — así es como los pasos la llaman).
  3. Elige el Tipo: Texto, Número, Sí/No o Fecha.
  4. Opcionalmente, un Valor inicial.

A partir de ahí, cualquier paso que pida un valor puede ir a buscarlo a la variable, y los pasos Ejecutar script y Tarea pueden escribir en ella.

Los avisos del diseño

Bajo el lienzo aparece una barra siempre que hay problemas — «{n} error(es), {n} aviso(s) en el diseño». Hacer clic en ella abre la lista; hacer clic en una fila selecciona el paso en cuestión.

La barra de avisos de un proceso por terminar
La barra de avisos de un proceso por terminar

Los problemas más comunes:

Mensaje Qué quiere decir
«El proceso no tiene nodo de inicio.» Error. Sin inicio no arranca.
«Falta elegir la entidad — toda ejecución trata de un registro.» Error. Falta rellenar Entidad en las propiedades.
«Esta tarea no dice a quién debe asignarse — la ejecución va a fallar aquí.» Error. Una tarea sin destinatarios nunca llega a nadie.
«Esta tarea no tiene decisiones: la persona no tendría dónde pulsar.» Error. Ver Tareas para personas.
«Solo puede haber un Inicio: quién manda arrancar lo dice el workflow, no el paso.» Error. Borra los inicios de más.
«La salida "X" no va a ningún sitio.» Aviso. Hay un camino por conectar.
«Este paso no es alcanzable desde el inicio.» Aviso. Un paso suelto en el lienzo.
«El proceso no tiene nodo de fin.» Aviso.

Nota

Los avisos nunca impiden guardar. Se valida al usar, no al escribir — un proceso lleva días de diseño y nadie quiere perder el trabajo por una flecha que falta. Pero un proceso con errores no debe activarse.

Activado o desactivado

La insignia junto al nombre muestra Activado o Desactivado. Es el interruptor Activado de las propiedades el que lo comanda, y la regla es simple: desactivado, el proceso no arranca por nada — ni por un botón de una pantalla, ni por un script. Sirve para diseñar con calma, y para parar un proceso con problemas sin borrarlo.

Consejo

Desactivar un proceso no cancela las ejecuciones que ya están corriendo. Las que están vivas siguen su camino; lo que deja de ocurrir es el arranque de nuevas.

Un usuario de la app solo inicia un proceso, o le envía una señal, sobre un registro que puede ver (decide el ámbito del rol). Cada ejecución avanza de una en una: dos tareas completadas a la vez, o un temporizador y una señal, hacen cola en vez de repetir pasos. Si el servidor se reinicia a mitad de un paso, la ejecución se reanuda cuando arranca el programador, y ese paso se ejecuta de nuevo.

Renombrar, mover y borrar

En el menú ⋮ de la fila del workflow, en el árbol:

  • Renombrar — cambia el nombre de presentación. El identificador del proceso (wf_…) no cambia, por eso nada de lo que lo llama se rompe.
  • Mover — a otra carpeta dentro de Workflows.
  • Eliminar — borra el diseño. Las ejecuciones que ya corrieron dejan de tener proceso al que pertenecer.

Preguntas frecuentes

Edité el diseño con ejecuciones a medias. ¿Qué pasa con las que están corriendo? Nada. Cada ejecución guarda la copia del diseño con el que arrancó — quien está a mitad de un proceso no ve el suelo cambiar. La versión nueva vale para las ejecuciones que empiecen a partir de ahí.

¿Puedo tener dos nodos de Inicio? No. Quien manda arrancar el proceso es la pantalla, el script o el proceso padre — no el diseño. Un segundo Inicio es un error señalado en la barra de avisos.

El proceso está Activado pero no arranca. Verifica tres cosas: si la Entidad está elegida; si la concurrencia está en Solo una a la vez y ya existe una ejecución viva sobre ese registro; y si quien manda arrancar está de verdad llamando al proceso — ver Tareas para personas, sección «Formas de arranque».