Cómo visualizar un CSV como flujo de trabajo

Un flujo de trabajo es un proceso con retrabajo dentro. Cómo escribir una referencia hacia atrás en Línea a dentro de un CSV, poner tope al reintento para que las revisiones no den vueltas eternas, y distinguir un bucle real de una errata.

Un archivo CSV se convierte en flujo de trabajo y deja de ser una lista en cuanto una celda de Línea a guarda un número de fila menor que el suyo: esa referencia hacia atrás es el bucle de retrabajo que tiene todo proceso de aprobación y que casi ninguna exportación recoge.

En resumen

  • Un número de Línea a menor que su propia fila es una vuelta atrás. No hay ninguna otra marca.
  • Las filas de bucle son filas con varios destinos, así que sus celdas llevan comas y hay que entrecomillarlas en CSV.
  • Pon tope al reintento: una Decisión que cuenta el intento es lo que impide que un bucle dé vueltas para siempre.
  • Las filas de retrabajo pueden estar en cualquier punto del archivo: el bucle es la conexión, no la posición.
  • Una referencia hacia atrás a una fila que no rehace ningún trabajo es una errata, no un bucle.

Dónde se esconden los bucles en un archivo exportado

Las exportaciones CSV de un proceso salen de sistemas que registran lo que ocurrió: un histórico de aprobaciones, una exportación de tickets, la tabla de auditoría que hay detrás de un motor de flujos de trabajo. Son planas, con una fila por evento, ordenadas normalmente por marca de tiempo, y son completas sobre el pasado y mudas sobre la forma. Leer una como flujo de trabajo significa contestar a una pregunta que el archivo no contiene: cuando este paso se rechaza, ¿a dónde vuelve el trabajo?

En QueryChart la respuesta es un número. La columna Línea a guarda los números de fila en base 1 a los que se conecta una fila, y nada obliga a que ese número sea mayor que la fila en la que está. Una fila 16 apuntando a la fila 3 es un bucle: el trabajo vuelve a la fila 3 y avanza otra vez. Ese es el mecanismo entero. No hay una forma de bucle, ni un marcador de repetición, ni una columna de retorno aparte: un flujo de trabajo se distingue de un proceso en línea recta en que un número es menor de lo esperado.

El CSV hace que ese número sea más difícil de acertar que en una hoja de cálculo, por una razón propia del formato. Las filas que hacen bucle son las filas con más de un destino, así que su celda de Línea a dice 3,17 y su celda de Texto de línea dice Primera revisión,Segunda revisión. Las dos llevan comas, y una coma dentro de un archivo delimitado por comas hay que entrecomillarla o la fila gana columnas en silencio y se desalinea del encabezado. /es/guides/como-definir-las-conexiones-de-un-diagrama-de-flujo-en-csv cubre las reglas de emparejamiento; esta página va de qué significan esas celdas una vez que se leen bien.

El ejemplo de abajo es un flujo de aprobación de descuentos, el mismo diagrama que /es/templates/csv-a-flujo-de-aprobacion. Tiene tres referencias hacia atrás en veinticuatro filas: una revisión que vuelve al cálculo del margen, un escalado que vuelve al resumen para el director y una contraoferta del cliente que vuelve a la revisión. Abre el panel de la hoja de cálculo y lee la columna Línea a contra los números de fila.

Tres referencias hacia atrás en veinticuatro filas

Un flujo de aprobación de descuentos en cuatro grados de completitud. El panel de la hoja de cálculo bajo el lienzo muestra qué columnas están rellenas: vigila Línea a por si aparecen números menores que la fila en la que están.

  1. Formas, sin conexiones

    Las filas 1 a 6 con la columna Forma rellena y nada más: un Inicio para «Recibir del cliente una petición de descuento», tres filas de Proceso, la Decisión «¿Margen igual o superior al 40 %?» y la aprobación a nivel de comercial. Todavía no apunta nada a ningún sitio. Esto es más o menos lo que te da una exportación en bruto: una lista con una columna de tipo pegada encima, que es una tabla y no un flujo de trabajo.

  2. El camino hacia delante

    Línea a se rellena y aparece la escalera de aprobación: la fila 5 se bifurca a la 6 o a la 7, la fila 7 a la 8 o a la 10, la fila 10 a la 11 o a la 13, y cada nivel entrega la banda de margen a un aprobador más alto. Todos los números de este prefijo son mayores que la fila que los contiene, así que todas las flechas van hacia delante y el archivo aún se podría leer de arriba abajo como una lista.

  3. El número que apunta hacia atrás

    Las filas 15 a 17 añaden el bloque de retrabajo, y la fila 16 es donde el archivo deja de ser una lista. «¿Segunda devolución del mismo aprobador?» lleva un Línea a de 3,17 con un Texto de línea de Primera revisión,Segunda revisión: el 3 es menor que 16, así que una primera revisión vuelve a «Calcular el margen bruto tras el descuento», porque un precio distinto es un margen distinto y puede caer en otra banda. La segunda revisión va en cambio a la 17, que es el tope.

  4. El flujo de trabajo entero con carriles

    Las veinticuatro filas, con Oferta, Cálculo del margen, Aprobación, Revisión y Emisión a lo ancho y Comercial, Jefe de ventas, Finanzas y Director comercial a lo alto. La columna Revisión recoge ahora visiblemente las filas 15 a 17, que es por lo que el bucle es legible en el lienzo e invisible en la exportación. La última referencia hacia atrás está en la fila 20, donde «Pide más descuento» manda la contraoferta del cliente de vuelta a la fila 15 en lugar de a una oferta nueva.

Cómo funciona

  1. Reordena la exportación al orden del proceso

    Las exportaciones de sistemas salen en orden de marca de tiempo o de ticket, que es el orden en que ocurrieron las cosas y no el orden en que corre el proceso. Ordena las filas en la secuencia que recorre un solo caso antes de escribir un único valor de Línea a, porque esos valores son posiciones de fila y reordenar el archivo después los invalida todos.

  2. Comprueba que la fila de encabezado sobrevivió a la exportación

    Las columnas se emparejan por nombre de encabezado, así que la fila de encabezado es la única parte del archivo que tiene que estar exacta. Confirma que dice Forma, Texto de la caja, Línea a, Texto de línea. Una marca de orden de bytes de una exportación UTF-8 se pega al primer nombre de encabezado, y una exportación delimitada por punto y coma de un sistema europeo mete la línea entera en una sola celda: en los dos casos la columna no se reconoce y viaja como un extra sin usar en lugar de fallar en voz alta.

  3. Escribe primero el camino hacia delante

    Rellena Línea a solo para el caso que sale recto, donde todos los números son mayores que la fila en la que están. Deja el flujo de trabajo corriendo de punta a punta sin ningún retrabajo. Los bucles añadidos sobre un camino que aún no has verificado son casi imposibles de releer, porque no puedes distinguir una conexión de retorno de un número equivocado cuando los dos apuntan a una fila de la que no estás seguro.

  4. Añade una fila de retrabajo y apunta hacia ella la conexión de retorno

    Dale a la revisión su propia fila («Revisar el descuento, el precio o las condiciones») y manda a esa única fila todas las Decisiones que rechazan, en lugar de duplicar un paso de retrabajo bajo cada aprobador. Escribe después la conexión de salida del bloque de retrabajo, apuntando a la fila donde se vuelve a evaluar el dato que ha cambiado. En el ejemplo esa es la fila 3, el cálculo del margen, y no la fila 1.

  5. Pon tope al reintento

    Un bucle sin tope es un flujo de trabajo que puede correr para siempre, y en un proceso real eso no ocurre. Añade después de la fila de retrabajo una Decisión que pregunte cuántas veces ha vuelto esto (la fila 16, «¿Segunda devolución del mismo aprobador?») con un Línea a de 3,17: una vuelta al bucle, escalado en la segunda pasada. Entrecomilla esa celda para que la coma se quede dentro.

  6. Suelta el archivo y lee las flechas hacia atrás

    Arrastra el .csv al área de la hoja de cálculo de un diagrama nuevo, o pega el texto dentro, y el diagrama se dibuja. Lee después cada flecha que corre hacia atrás. Cada una debería ser un caso que sepas nombrar en voz alta: una revisión, un escalado, una contraoferta. Una flecha que no puedas nombrar es un número de fila transpuesto, y esta es la única vista en la que resulta evidente.

Errores que debes evitar

  • La coma dentro de la celda de Línea a

    Una fila con dos destinos guarda 3,17 y una con tres guarda 19,15,22. Sin comillas dentro de un archivo delimitado por comas, esas se convierten en tres y cuatro columnas, todas las columnas posteriores se desplazan a la izquierda, y el desajuste cae justo sobre las filas que llevan los bucles. Las hojas de cálculo entrecomillan esas celdas por defecto al exportar; los archivos escritos a mano o generados por un script muy a menudo no.

  • Ordenar el archivo después de haberlo numerado

    Los valores de Línea a son posiciones de fila y no identificadores, así que una sola ordenación de la hoja renumera todas las filas y deja todas las referencias apuntando a lo que ahora ocupe esa posición. El diagrama se sigue dibujando y está completamente mal. Fija primero el orden (mira /es/guides/como-estructurar-un-csv-para-diagramas-de-flujo) y numera después.

  • Un bucle que vuelve a entrar demasiado pronto

    Apuntar la conexión de retorno a la fila 1 reinicia la recepción, lo que afirma que el cliente presentó una segunda petición. Mándala a la primera fila cuyo resultado cambie de verdad por culpa del retrabajo. En el ejemplo la revisión vuelve al cálculo del margen, porque el precio cambió y el margen se deriva del precio.

  • Ninguna salida del bucle

    Una conexión hacia atrás sin un contador al lado hace un flujo de trabajo que no termina nunca y esconde el caso que todos temen: la operación que da tres vueltas y muere igualmente. El tope es una Decisión con una segunda rama de salida: la fila 16 va a la 17, y la 17 o escala al director o acaba en «Operación abandonada por margen insuficiente».

Abre el ejemplo de flujo de aprobación

Abre el ejemplo como tu propio diagrama, sustituye después las filas por las de tu archivo y comprueba que cada número hacia atrás cae donde el trabajo se rehace de verdad.

Abre el ejemplo de flujo de aprobación

Guías relacionadas

Preguntas frecuentes

¿Puede un valor de Línea a apuntar a una fila anterior?

Sí, y ese es el mecanismo entero del retrabajo. Línea a toma la posición en base 1 de la fila de destino y nada la obliga a ser mayor que la fila en la que está, así que un 3 en la celda de la fila 16 dibuja una flecha de la 16 de vuelta a la 3. El trazado la enruta alrededor de las cajas; tú no la colocas. Como no hay ningún marcador de bucle aparte, leer un CSV en busca de sus bucles significa buscar números menores que su propia fila: esa es la única señal que hay en el archivo.

¿Cómo evito que un bucle de retrabajo dé vueltas para siempre?

Pon en el camino de retorno una Decisión que cuente el intento. En el ejemplo, la fila 16 pregunta «¿Segunda devolución del mismo aprobador?» y lleva un Línea a de 3,17 con un Texto de línea de Primera revisión,Segunda revisión, así que la primera pasada da la vuelta y la segunda sale del bucle hacia la fila 17, «¿Mantener el descuento o dejar la operación?». La cuenta no se guarda en ningún sitio: el diagrama documenta la regla, y la regla es lo que sigue la gente. Lo que importa es que el bucle tenga una salida etiquetada en el diagrama y no una implícita en la cabeza de alguien.

¿Cómo distingo un bucle real de un número de fila equivocado en el archivo de otra persona?

Tres pruebas. ¿La fila de destino rehace un trabajo que el retrabajo ha cambiado de verdad? Un bucle que vuelve a un paso cuyo resultado no puede ser distinto esta vez es un error. ¿La conexión hacia atrás sale de una Decisión? Una fila de Proceso cuyo único Línea a apunta hacia atrás, sin salida hacia delante, deja inalcanzable el resto del archivo y es casi siempre una transposición. ¿Y está etiquetada la rama? Los bucles reales llevan un Texto de línea que nombra el caso; las erratas nunca, porque nadie etiqueta una conexión que no quería dibujar.

Mi exportación tiene una fila por evento de aprobación, no una por paso. ¿Qué hago?

Contráela. Una tabla de auditoría repite el mismo paso una vez por ocurrencia, así que una operación revisada dos veces aparece como dos filas de «devuelta al solicitante», e importarla directamente produce el diagrama de un caso y no la definición del proceso. Saca los pasos distintos, quédate con una fila de cada uno, y deja que la referencia hacia atrás cargue con la repetición: esa sustitución es justamente para lo que existe el bucle. Si solo quieres ver primero el archivo dibujado, el generador de flujos de trabajo desde CSV tiene la versión corta de esto.

¿Sigue siendo legible el diagrama cuando los bucles cruzan los carriles?

El trazado se calcula en lugar de dibujarse, así que una conexión de retorno de la columna Revisión a la columna Oferta se enruta alrededor de las cajas sin que muevas nada. Lo que hace ilegible un flujo de trabajo con bucles no son las flechas sino el orden de las filas: mantén juntas las filas de retrabajo, como están las filas 15 a 17 del ejemplo, en lugar de repartir un paso de revisión bajo cada aprobador. Tres aprobadores con una fila de retrabajo cada uno producen tres bucles que en realidad son uno.

La plantilla detrás de esta guía

Plantilla de flujo de aprobación desde CSV (descuentos por margen) — Un flujo de aprobación de descuentos que puedes pegar como CSV: tres bandas de margen, cuatro carriles de aprobador, y bucles de revisión cuyos valores de Línea a apuntan hacia arriba, a un número de fila menor que el suyo.