Saltar a contenido

Manual del Diseñador

Creación de procesos

La ventana de edición del proceso cuenta con los siguientes iconos:

  • Crear una nueva estación
  • Crear una nueva conexión
  • Crear una nueva línea funcional
  • Crear un proceso externo

A continuación se presentan algunos límites que tiene el diseñador de procesos actualmente, en cuanto a la cantidad de estaciones, conexiones, etc.

Elemento Máximo Comentarios
Estaciones 65,536 Por proceso
Conexiones 2,000,000,000 Sistema
Procesos 2,000,000,000 Sistema
Procesos externos 2,000,000,000 Sistema
Líneas ínter departamentos 2,000,000,000 Sistema

Si planea crear un proceso que exceda estos límites, es necesario que se ponga en contacto con nuestra empresa para evaluar como ajustar los parámetros a sus necesidades.

Abrir proceso existente

Al dar clic en la liga del menú "Procesos" se ve la colección de procesos existentes en el sistema agrupados por los grupos de procesos existentes.

Puede dar clic en la liga con el nombre de un proceso existente o puede dar clic en la liga que dice "Nuevo aquí" para crear un proceso dentro de grupo deseado.

Si se hace clic sobre un nombre de proceso se abre finalmente el proceso que se desarrolló anteriormente, como por ejemplo:

Antes de continuar con la explicación de la creación de procesos se va a detallar el significado de los elementos que aparecen dibujados en un proceso.

Recomendaciones de como desarrollar un proceso nuevo

A continuación se presenta un proceso con todos los símbolos descritos anteriormente.

La lectura de este proceso sería como sigue: Se de alta un folio en la estación 12 y se tienen dos opciones, finalizar el folio o continuar el folio paralelamente entre las estaciones 7 y 8. Si se decide continuar, el usuario en la estación 7 tiene dos opciones, continuar el folio a la 9 o moverlo a la estación 15. El usuario de la estación 15 solo puede mover el folio a la estación 17. Y el usuario de la estación 17 solo lo puede avanzar para que lo procese un programa externo.

El usuario de la estación 9 puede terminar el folio o avanzarlo a la estación 11. El usuario de la estación 10 solo puede avanzar el folio a la estación 11.

El folio aparecerá disponible para ser procesado en la estación 11 si y solo si, el folio de la estación 10 ya llegó, y el folio de la estación 9 también llegó. Por lo tanto si el usuario de la estación 9 dio fin al folio, nunca aparecerá el folio en la estación 11.

El usuario de la estación 11 solo puede finalizar el folio.

La forma más sencilla de crear un nuevo proceso es:

  • Se colocan todas las estaciones en el orden de izquierda a derecha como se irán ligando en el proceso. Y se ubican de arriba hacia debajo de acuerdo a los departamentos que vayan a existir.

  • Cuando aparezcan las ventanas de configuración de cada estación, se edita únicamente el nombre de las estaciones. Posteriormente se editarán todas las opciones restantes.

  • Cuando se terminan de crear todas las estaciones, se inicia la creación de todas las conexiones que existan entre las estaciones.

  • Al terminar todas las conexiones se configuran las propiedades del proceso (ver sección propiedades del proceso, principalmente la del folio electrónico que va a estar relacionado con el proceso).
  • Seguido configure los parámetros de todas las estaciones. En orden para que no deje alguna pendiente.
  • Se editan todas las vistas de los folios estación por estación.
  • Se crean las líneas funcionales que se consideren necesarias, se agregan procesos externos si hubiera necesidad de documentarlos.

Cuando se haya terminado con todos los pasos anteriores, se recomienda ir al navegador de Internet y validar todos los pasos del proceso, dando de alta folios, para asegurarnos que todo está funcionando como se espera.

Nueva estación.

Para agregar una nueva estación, se hace clic en el icono de nueva estación, aparece la estación en la hoja de trabajo y aparece una ventana emergente donde se capturan los datos de la nueva estación.

Si posteriormente desea editar estos datos de doble clic en la estación para abrir su propiedades. En el caso de Internet Explorer es con un Triple Clic.

Propiedades de la estación

  • Nombre de la estación
  • Tipo : Manual: el usuario actualiza. Automática: el sistema actualiza.
  • Costo : El costo de pasar por esta estación, el folio acumula el costo de pasar por las estaciones que tienen costo.
  • Email : a que email se envía el aviso de que hay folios con exceso de tiempo en la estación.
  • Despliegue de destinos: : Con que formato aparecerán las opciones de destino
  • Destino automático : Si selecciona como tipo de estación Automática, aquí puede definir a donde debe moverse el documento cuando el proceso automático lo mueva.
  • Mostrar actualizar comentarios : Indica si debe o no aparecer la opción de actualización comentarios al entrar a la estación.
  • Inactivar : Si la estación esta inactiva no se presenta en el diseñador y no se toma en cuenta al momento de presentar reportes.
  • Actualización múltiple : Si se pueden actualizar varios folios al mismo tiempo.
  • Confirmar destino al actualizar : Cuando el usuario selecciona una acción se le solicita confirme si es la correcta, esto evita en algún punto importante del proceso que se siga el camino deseado y no uno seleccionado por error.
  • Grupo : Que puestos procesa los folios recibidos
  • Grupo Apoyo : Puesto que puede ayudar procesar folios para cubrir vacaciones, ausencias, etc.
  • Grupo Supervisor : Puesto que accede a esta estación para supervisar el trabajo
  • Salto directo : Usuario debe continuar directamente la siguiente etapa sin pasar por la lista de pendientes.
  • Bloquear usuario en estación : el usuario está obligado a terminar la estación (el sistema lo obliga constantemente a entrar a esta estación).
  • En que orden se asignan los folios a los usuarios del grupo de trabajo.
  • Notificar al usuario que ha recibido nuevo folio.
  • Tiempo de alarma en el que la estación debe ser resuelta, de lo contrario se generan emails de aviso a los supervisores.
  • Página personal. Programador mete el código o página web que reemplaza el diseño de página
  • Post procesos : Se llaman antes de actualizar datos y después de haberlos actualizado.
  • Grupo de apoyo. Que grupo tiene derecho a ingresar a apoyar el movimiento de folios en caso de que haya una ausencia o se le acumule mucho trabajo a una persona responsable.

A continuación se presenta una descripción más detallada de las opciones de configuración anteriores.

Nombre

Nombre descriptivo para esta estación (es un buen hábito escribir el mismo nombre del estatus de un folio en ese punto), pensando en que este es el nombre que verá el usuario en su lista de pendientes cuando vea el trabajo acumulado en la estación. Por ejemplo, si en la estación se va a registrar cuando un usuario está realizando labores de cobranza judicial de una cuenta incobrable, la estación se podría llamar "cobranza judicial". O si la estación corresponde a la actividad de enviar un producto por mensajería, la estación se puede llamar "Entregar producto a mensajería".

Tipo de estación

Si la estación se configura como manual. El folio se asigna a un usuario responsable de atenderlo y el usuario debe entrar a procesar y avanzar el folio de esta estación.

Si es automática, el folio se asigna al usuario del sistema y se calcula una fecha en base a la fecha de entrada más la cantidad de tiempo de activación. El tiempo de activación se captura en el campo "Tiempo de Alarma".

El tiempo de activación debe estar expresado en segundos. Para facilitar la conversión, el formulario le permite seleccionar una unidad de tiempo y la cantidad.

Estaciones manual / automática son útiles para :terminar documentos que los usuarios ignoran en las etapas finales de un proceso. En estas etapas haga la estación Manual / Automática, dele un tiempo estándar de 5 días. Si al vencimiento el usuario no ha terminado el folio, el sistema lo hará. También sirve en conjunto con post-procesos para escalar un documento cuando no ha sido resuelto en un tiempo determinado.

Costo

Es un valor numérico. Sin tipo de moneda que se acumular conforme se pasa de estación por estación. Representa el costo fijo de pasar por esta estación.

Email y Retrasos

Con la combinación del combo retrasos y el campo email se puede configurar las diferentes formas con las cuales el sistema va a notificar los retrasos en los folios. Las opciones son :

  • No notificar
  • Notificar a grupo supervisor
  • Notificar a un email fijo
  • Escalar notificaciones cada días hasta llegar a la Dirección General.

Despliegue destinos

Con esta opción se da formato a la forma en la que se van a desplegar las opciones de destino del folio al usuario, estas opciones son:

  • Omitido No se despliega ninguna opción
  • Escondido Se esconde en una etiqueta hidden el destino que corresponde a la misma estación.
  • Select Se presentan las opciones de destino con un select
  • Radio Se presentan las opciones de destino con botones radio

Destino Automático

Cuando se selecciona que la estación se mueve en forma automática o Manual / Automática, se requiere indicarle al sistema a donde se debe mover el folio para que termine en un lugar deseado por el programados. Si este campos se omite, se enviará por omisión al primer destino que aparece al momento de desplegar esta estación. El programador puede en los postprocesos detectar el movimiento y corregir el destino en base a cualquier algoritmo que desee. Lea el manual del programador para tener los detalles sobre como interactuar bajo esta modalidad.

Mostrar leyenda "Actualizar Comentarios"

Si esta opción está activada aparecerá el letrero Actualizar comentarios entre las opciones de destino, de lo contrario aparecerán únicamente el restos de las opciones.

Esta opción le sirve al usuario para que no avance el folio a ninguna estación, pero le permite capturar datos y comentarios del folio, así puede reportar las actividades que realizar y porqué no ha terminado de avanzar este folio.

Confirmar destino al actualizar.

Al hacer clic en alguno de los destinos aparece una ventana de JavaScript indicándole la opción que seleccionó y si se solicita que confirme su selección. Si decide cancelar se cancela su selección, si la confirma se queda activa. Esto sirve para evitar en algunos puntos importantes del proceso que el usuario no seleccione el destino equivocado por un error de lectura o selección del destino.

Actualización Múltiple

Al activar actualización múltiple el sistema permitirá al usuario seleccionar varios folios y avanzarlos en grupo. Esto ahorra el tiempo de ir avanzando uno por uno.

Limitaciones

Debido a que el formulario permite avanzar muchos folios de forma conjunta, los valores que se capturen se deben compartir con todos los folios seleccionados.

Esto quiere decir que este tipo de configuración, solo sirve si los folios a avanzar, van a compartir los mismos valores capturados y acciones.

Si quiere hacer 2 acciones diferentes lo tendrá que realizar en 2 transacciones.

Los valores ocultos que vayan en la configuración se van a pasar a las rutinas de postprocesos por cada folio movido individualmente.

Ejemplo de una etapa con actualización múltiple.

En un mismo envío de mensajería salen estos 2 productos al mismo proveedor.

Grupo de trabajo

Es uno de los grupos que dimos de alta en el paso de alta de grupos. Este grupo recibe folios y es responsable de actualizarlos a la siguiente estación

Grupo de acceso

Este grupo es el que tiene acceso para ver y mover folios. Generalmente es el grupo que en jerarquía se encuentra arriba del grupo de trabajo. A este grupo no se le pueden asignar folios, pero puede ver todos los que están a su cargo y puede moverlos, editarlos, actualizarlos.

Grupo de apoyo

Este grupo es el que tiene acceso para ver y mover folios en la estación en la que se la autoriza apoyar. Este grupo de apoyo está conformado principalmente por personas que pertenecen al mismo grupo de trabajo y que por lo tanto conocen la operación.

Obligatoria

Esto es importante cuando un usuario entra a un punto dentro del proceso donde es necesario que continúe y no deje el trabajo pendiente.

La secuencia normal de pasos para actualizar una estación, es que el usuario primero ve todos los folios que tiene asignados, después selecciona uno para procesarlo y por último lo actualiza. Si la siguiente estación es normal, entonces su ventana regresa a mostrarle todos los folios que tiene a su cargo, pero si la siguiente estación está marcada como obligatoria entonces le aparece la siguiente estación sin que el la seleccione de la lista de folios asignados.

Casos de usos : En un proceso de venta de inmuebles. El vendedor actualiza una estación donde dice que vendió un inmueble, la siguiente estación es conseguir documentación (para elaborar un contrato de compraventa).

Cuando el vendedor actualiza diciendo que ha recabado los documentos, entonces se le obliga a pasar directamente a la estación de elaboración del contrato, una vez que lo elabora se le pasa a la estación de impresión y firma del contrato. El vendedor está obligado a realizar estos tres pasos seguidos sin que los deje para después.

Bloqueada

Si la estación es obligatoria pero no bloqueada. Cuando el usuario actualiza se le transfiere a la ventana de la siguiente estación. Pero como no está bloqueada, el puede hacer clic en otro menú y dedicarse a hacer otras cosas. Sin embargo, si la estación es obligatoria y bloqueada, el usuario va a ser retenido en esa estación hasta que la termine. Si decide cerrar el navegador y entrar más tarde, de todos modos se le envía a la estación "bloqueada" para que la termine.

Permite cancelar

Esta opción cuando está activa, agrega una liga a la derecha del nombre de la etapa, que permite cancelar el folio en esta estación, si así lo desea el usuario. Esta opción cancela "todos" los documentos en paralelo que existan, no el de la estación únicamente. Cancelar, se entiende como abortar todo el trámite no solo ese paso dentro del proceso. Si desea cancelar un documento paralelo en un paso en particular, cree una liga de fin con la leyenda "Cancelar".

Siguiente usuario

Esta opción designa el criterio lógico que se va a seguir para asignar un folio al grupo de usuarios responsables de una estación.

Las reglas generales son: no se toman en cuenta los usuarios con estatus de inactivos o ausentes.

Tipo asignación Descripción Comentarios
Secuencial todos los usuarios activos Asigna los folios secuencialmente a todos los usuarios que pertenecen a un grupo de trabajo. Es un método muy rápido pero se pueden asignar folios a usuarios que no están trabajando y ocasiona que el trabajo quede pendiente hasta que el usuario entre.
Secuencial solo usuarios registrados Asigna el folio en orden secuencial a los usuarios que se encuentran registrados Si no hay usuarios disponibles, no se puede actualizar la estación, retrasando el trabajo.
Usuario de la estación previa Asignar al mismo usuario que tiene el folio en la estación que se está actualizando. Bueno cuando quieres que una persona se haga responsable de varios pasos del proceso
Usuario definido en página web Se asigna el usuario que venda en la variable "user" de la página web. La página web debe tener un campo donde se asigne un número de usuario válido. Útil cuando se requiere asignar usuarios manualmente desde la página web
Cola de usuarios Se asignan los folios a una cola del sistema y cuando haya un usuario disponible (registrado y que tenga menos de 5 folios pendientes) se le asigna trabajo Es el método más cómodo de asignación, pero con mayor carga de cómputo, pueden hacerse colas del sistema muy largas. Los folios no son visibles para ningún usuario mientras están en la cola, lo que impide adelantar el trabajo de algún caso especial mientras esté en la cola.
Usuario que actualiza Útil cuando quieres hacer responsable de un proceso al usuario que mueve el folio. Probablemente porque al moverlo el está empapado del caso.
Usuario de que dio de alta el folio Útil cuando se requiere regresar información o una estación a quien inició el folio, quien es en muchos casos el interesado
Jefe del usuario que actualiza Es muy usado en casos en los que se requieren autorizaciones
Jefe del usuario que inició el folio Útil cuando se requieren autorizaciones o notificaciones a los jefes
Usuario fijo Útil cuando solo existe un usuario que pueda resolver una actividad. Es la asignación más rápida.
Usar función getNextUser El siguiente usuario se obtiene de llamar la función getNextUser. Esta función debe estar declarada en el postproceso de la estación de donde sale el folio. Ya que es este el postproceso que se está ejecutando en ese momento al actualizar la estación. Debe crear una función llamada getNextUser en el postproceso de la etapa y este debe regresar una lista con número de usuario ($user) y el número de usuario real ($ruser) válido para asignar la actividad. (Ver manual del programador).

Notificar usuario de folios nuevos

Es importante seleccionar correctamente esta opción para no crear envíos innecesarios de correos electrónicos a usuarios. El criterio es el siguiente:

Si un usuario utiliza el sistema a menudo, todos los días se debe registrar y revisar trabajos pendientes, no es necesario que se le notifiquen de la llegada de nuevos folios. Ejemplos: usuarios de línea donde el trabajo diario es estar en el sistema actualizando actividades.

Si el usuario no se registra continuamente o en un proceso en particular si intervención es muy esporádica y no va a registrarse todos los días para ver si hay algo pendiente entonces se debe de notificar a este usuario. Ejemplos: autorización de unas vacaciones, en este caso el usuario no va a entrar todos los días a enterarse si alguien ha solicitado vacaciones.

As notificaciones se realizan por medio de correo electrónico y son parecidas a la que se presenta a continuación.

En ese momento el usuario tiene dos opciones, hacer clic a la primera liga y abrir temporalmente la estación o hacer clic en la segunda y registrarse completamente en el sistema. Las opciones para notificar son:

  • No notificar : No notificar a nadie
  • Usuario : Notifica al usuario únicamente.
  • Usuario + Jefe : Notifica adicionalmente al jefe directo.
  • Usuario + Jefes : Notifica a toda la cadena de jefes arriba del usuario.

Tiempo alarma

Es el intervalo de tiempo (en segundos) que debe tener un folio en esta estación antes de que se genere una alarma (email de aviso a supervisores). La conversión a segundo se realiza internamente, solo seleccione una unidad de tiempo y la cantidad correspondiente a la misma unidad, ejemplos : 4 días, 1 mes, 8 horas, etc.

Usos de la alarma : Cuando se desea dar seguimiento a un grupo de clientes n días, meses o años después. Se puede dar el proceso de automático y que el desarrollador haga una rutina para mover el folio cuando se han cumplido una serie de condiciones.

Página personal

El espacio para página personal se usa en el caso de que usted tenga una rutina que despliegue la estación.

  • Los usos principales son:
  • Extender la funcionalidad de la página de captura del usuarios agregando rutinas de JavaScript para hacer más interactiva la página.
  • Realizar validaciones de conectividad o valores en otros sistemas antes de presentar la información.
  • Cargar información en eFlow proveniente de otros sistemas

Ejemplo del esqueleto de una Página personal con terminación .pl:

sub main_page {
    print "Control antes de iniciar página estándar";
}

sub main_page2 {
    print "Control antes de imprimir datos del folio";
}

sub main_page3 {
    # En esta sección podemos generar nuestro código JavaScript.
    print "Control después de imprimir el folio y antes de los comentarios";
}

sub main_value {
    print "Control antes de imprimir cada campo del folio";
    if ($no_imprimir) {
        return 1;
    }
    return 0;
}

1;

Post procesos

Para conocer en que momento se ejecutan los post procesos durante el procedimiento de actualización de un folio lea el manual del programador.

El uso más común de postprocesos es la creación de códigos de validación que nos permitan controlar el flujo del proceso, detener una actualización si no se cumplen ciertos requisitos, etc.

Al momento de dar clic en el icono de postproceso, se nos presenta la siguiente ventana de trabajo:

Si la estación no tiene un postproceso asignado ya, entonces el área de texto nos presenta el esqueleto vacío de la declaración de las rutinas. De lo contrario carga el programa que está salvado para que lo editemos.

Para entender el uso, aplicaciones y como sacar provecho a esta funcionalidad es necesario que conozca Perl y lea al manual del programador en la sección de postprocesos.

Es importante notar que esta funcionalidad se ofrece para editar postproceso cuando no se tiene forma de editarlos directamente en el servidor. Ya sea porque no contamos con el acceso al mismo o porque queremos realizar un cambio menor.

Cuando salva el proceso, se ejecuta una verificación de sintaxis, si esta verificación arroja algún error, se le regresa a la página de edición con el mensaje de error que regresa el compilador de Perl. Como se muestra en el siguiente ejemplo :

Aun cuando las funciones para editar código dentro de un área de texto son muy limitados, el uso del tabulador es útil para dar formato al código.

IMPORTANTE

Para que se pueda editar y salvar un postproceso, se requiere que esté declarada la ruta (path) en las variables generales del proceso.

Otro uso práctico es el de creación de librerías que insertadas en una estación producen funciones sobre los folios. Por ejemplo, veamos el siguiente ejemplo :

Se ha insertado una librería que se llama: print_doc.pl

Y se le pasan los parámetros: garantía.htm,1,1

Esta librería toma el nombre del archivo (garantía.htm) y lo abre. Lo lee y sustituye los campos (en base a una codificación) por valores del sistema y del folio que se está procesando. Se manda la salida al navegador y activa la impresión.

Con esta librería se pueden generar documentos impresos en diferentes puntos del proceso sin que el usuario decida hacerlo.

Para editar la ejecución de un postproceso, de clic en el icono del engrane para configurar.

Así hemos terminado con todos los parámetros que se deben configurar en una estación para que esta realice las actividades deseadas.

Ejemplo del esqueleto de un postproceso1 con terminación .pl:

use utf8;
binmode (STDOUT,':utf8');

sub main1 {
    # Ejecutar antes de mover el folio
}

sub main2 {
    # Ejecutar después de mover el folio
}

sub getNextUser {
    # Ejecutar cuando la siguiente estación tiene asignada opción : getNextUser()
}

1;

Campos adicionales

Cuando un usuario entra a ver su listado de folios asignados se presenta una ventana como la siguiente.

Esta ventana se diseñó para lograr tener la mayor cantidad de información disponible de primera vista y que permita procesar folios en el orden más conveniente para el usuario. Así por ejemplo dependiendo de la estación en la que se encuentra un folio un usuario va a requerir de datos diferentes para hacer su trabajo, siguiendo el ejemplo de arriba:

Confirmar recepción con el proveedor

Esta estación está asignada a un usuario de soporte que debe asegurarse que el producto enviado a garantía ha sido recibido, el necesita par llamar al proveedor, el # de guía con que se envió el producto, la mensajería y proveedor para que se ponga en contacto con ese proveedor en particular.

Producto con proveedor

Esta estación está asignada al personal de soporte y es para que sepan que el producto X está con el proveedor Z y que hay un RMA que le sirve de seguimiento para el trámite de la garantía.

En cada sección se tiene el último comentario, sirve para pasar información adicional, observaciones o recomendaciones a la persona que va a seguir la siguiente fase del proceso, o para reportar avances de lo que sucede en la estación actual.

En campos adicionales se configura que dato debe aparecer en cada columna. Estos datos se extraen de la base de datos del folio, o de una base de datos externa.

Seleccione los campos que desee vayan a aparecer en el listado de pendientes y asigne un título a la columna.

Vista de documento.

Esta opción sirve para seleccionar que datos del documento electrónico no se deben ver (nada marcado), si se debe ver el dato pero no se puede editar

  • V(er) activado, si se puede editar la información
  • E(ditar) activado o si el dato debe ir oculto en la página web
  • H(idden) activado.

Por ejemplo, en el caso de un envío de garantía al proveedor, nos interesa que el usuario pueda ver los datos del cliente, el diagnóstico de soporte y debe capturar la mensajería, proveedor y número de factura del proveedor.

Los demás campos como se no se podrían capturar al inicio y no tendría sentido desplegarlos.

Una vez seleccionados, se puede tener una vista previa de esta estación haciendo clic en vista previa. En este caso vamos a ver como se ve un folio en la estación de Enviar producto al proveedor.

Como se puede apreciar, solo salieron los campos marcados, y los editables son los únicos que tienen controles de entrada de datos.

Campo hidden

El formato hidden se usa principalmente cuando el campo no se debe editar (es visible o no) pero queremos que se transfiera con la información del formulario. Ya sea como referencia para nuestros postprocesos o para validar el formulario, probablemente el campo se cambió por medio de un JavaScript en una ventana emergente o por medio de una actualización de los datos en la base de datos y se recargó la página nuevamente.

Vista Previa

Si llena los campos y ejecuta la actualización de la etapa va a ejecutar un módulo que rastrea una actualización del documento, este módulo mandará a ejecutar sus postprocesos (si estuvieran programados en la etapa), validaría los campos, calculará el usuario que debe recibir el documento si se cuenta con la información suficiente, etc.. Es muy bueno ejecutar estas etapas en vista previa porque nos permiten validar si el documento se va a entregar correctamente al usuario que le corresponde atender, si nuestros postprocesos se ejecutan correctamente o tienen errores, etc.

Ejemplo de salida de una vista previa ejecutada.

* Validar que el folio aun se encuentre disponible

* Ejecución de PostProceso1: /home/hans/Projects/pptest.pl

* Antes de mover el folio

* Selección de usuario:
Usuario asignado en PostProceso (/home/hans/Projects/pptest.pl) getNextUser()

* Insertar folio en:
Estación : Producto entregado a mensajería
Asignar a usuario : Juan Gonzalo González

* Salvar datos del folio
# de cliente (ff11) -> ff11  
Descripción de la falla (cliente) (ff16) -> ff16
Diagnóstico Soporte (ff17) -> Test postproceso
Proveedor (ff21) -> 1
Número Factura Proveedor (ff22) -> 2342342
Número de serie (ff66) -> 03948230948234820

* Otros datos
comments ->
ef_selection -> 1
folio ->
help ->
max ->
opt_station -> 12
process -> 2
req -> ff66|Número de serie|ff17|Diagnóstico
Soporte|ff21|Proveedor|ff22|Número Factura Proveedor|
search ->
station -> 5
supervise ->
view_process ->
view_station ->

* Calculo de estadísticas de tiempos del folio

* Actualizar log para estación : 12

* Llamada a main2 de Postproceso1: /home/hans/Projects/pptest.pl

Después de actualizar el folio.

-- FIN DE LA ACTUALIZACIÓN --

Validación del formulario

El sistema tiene una rutina de JavaScript que realiza validaciones básicas : campos obligatorios, que el usuario haya seleccionado una acción y confirmar la acción seleccionada si el sistema se ha parametrizado para solicitar confirmación.

Validaciones personalizadas con JavaScript

El sistema valida si se ha creado una función "myvalidation()".

Si la función existe, se ejecuta para darle oportunidad a su código de Javascript de realizar cualquier tipo de validación de los elementos del formulario. Si la validación es exitosa su rutina debe regresar "true", de lo contrario debe regresar "false".

Debe adicionalmente presentar un mensaje de error al usuario.

Edición de conexiones

Una vez que han terminado de crear todas las estaciones del proceso, tiene que iniciar la creación de conexiones. Las conexiones nos van a indicar el destino que va a seguir un folio de una estación a la siguiente.

Para realizar una conexión, hacemos clic en el icono de "Conectar Etapas". Al hacer clic en este icono el cursor cambia a una cruz.

De clic sobre una estación y posteriormente de clic en la segunda. La primer estación se considera la estación Origen y la segunda la estación Destino de la conexión que se va a crear.

Cuando haga clic en la estación Destino, aparecerá una ventana pidiéndole seleccionar el tipo de conexión que está creando. Puede cancelar la creación simplemente cerrando la ventana en ese momento.

Dependiendo de las conexiones previas, origen y destino pueden aparecer una o más opciones de tipo de línea.

Tipos de conexiones

  • Normal : Se crea una relación origen destino que apareceré en las opciones de destino del usuario al entrar a actualizar una estación. Cuando la estación es normal, el programa le solicita que escriba el nombre de la acción que debe tomar el usuario para tomar este camino. Escriba nombres descriptivos de una acción como pueden ser: Autorizar, Rechazar, Enviar a revisión, Solicitar autorización, Confirmar pedido, etc.

Caminos excluyentes

Las líneas normales se representan con el color azul y son caminos excluyentes. Esto es: el folio puede continuar al camino A , B o C.

  • Paralela : Primeramente debe existir una conexión normal antes de que se pueda seleccionar una conexión paralela. Cuando ya existen conexiones anteriores, se agregan líneas a una conexión existente para que se configuren como destinos paralelos.
    Cuando seleccione esta opción le aparecerán un combo con todas las líneas normales previamente creadas, para que seleccione a cual desea asociar esta conexión como paralela.

Caminos Paralelos

Las líneas paralelas se representan con el color verde el folio se divide simultáneamente en los caminos A , B y C.

  • Unir : Cuando selecciona una línea como unión, la estación destino se configura para que reciba dos o más folios en paralelo. Las estaciones de unión, reciben folios que vienen de caminos paralelos. Lo que se le indica a la estación, es que debe esperar a que todos los folios provenientes de las estaciones que se declaran como "unión" hayan llegado hasta esta estación para que se acepte continuar con el folio. Mientras esta condición no se cumpla el folio no estará disponible a ningún usuario.

Unión

Las uniones se representan con el color negro. La etapa receptora espera a que lleguen todos los folios de los distintos caminos paralelos para presentar el avance en la etapa que sigue.
Importante. Si genera 3 caminos paralelos y solo crea 2 caminos de unión el folio quedará perdido en el sistema. Debe generar la misma cantidad de ligas de unión que de caminos paralelos.

  • Fin : Se crea una actividad que permite crear una acción de terminar el trámite. En este caso solicita únicamente el nombre de la acción que va a aparecer al usuario
  • Proceso externo : En este caso, no aparecerá ninguna opción al usuario pero quedará registrado en el proceso la existencia de un programa que de alguna forma traslada el folio de un punto a otro.

Al terminar la creación de la conexión, aparecerá la nueva línea uniendo las dos estaciones.

Edición de conexiones existentes

Si desea editar conexiones existentes, de doble clic en la estación para abrir su propiedades y en la barra de iconos aparece uno que indica "Edición de Líneas"

La ventana se ve como aparece a continuación.

Para borrar una conexión, haga clic en el recuadro marcado con el checkbox y después seleccione el botón Guardar.

Para cambiar el nombre de una acción, haga clic sobre el campo de texto de la acción que desea modificar y presione el botón "Guardar". El programa guarda todos los nombres que aparecen en los cuadros de texto.

Como caracter informativo esta ventana le da información de los destinos que se tiene programados en la etapa que acaba se encuentra editando.

Configuraciones generales del proceso

Finalmente faltan unas configuraciones generales del proceso, antes de que quede totalmente terminado.

Para acceder a la configuración del proceso, haga clic en el primer icono de la barra de comandos, donde se localiza el nombre del proceso.

Los campos a configurar en esta ventana son:

  • Nombre : El nombre del proceso para que se identifique en el sistema.
  • Versión : Puede declarar un número de versión del proceso. Este campo no está disponible si la bandera de ISO Control está activa, ya que en estos casos debe de generarse la versión desde el proceso.
  • Color : Marca define un color a desplegar en el proceso. Ayuda a distinguirlos visualmente en el sistema cuando hay muchos.
  • Nivel de seguridad : Como se mencionó anteriormente eFlow tiene una serie de reglas para dar acceso tanto a la información histórica como para acceder a ciertos documentos durante la actualización. Si la seguridad se "relaja" estas reglas se hacen menos estrictas. Este parámetro se puede configurar por proceso.
  • Grupo : Permite reasignar un proceso a un grupo diferente al que pertenece actualmente.
  • Documento asociado : Aquí se selecciona el documento que va a estar asociado a este proceso. Una vez que el proceso está activo y tiene folios ya no se puede cambiar. El combo contiene una lista de todos los documentos que no se han usado en otro proceso. Una vez que se asigna un documento a un proceso este ya no está disponible para otros procesos.
  • Ruta : rutas, separadas por comas, donde el sistema buscará librerías y programas que el programador actualice en los campos de preprocesos, post procesos, etc.
  • Folio Nuevo : La estación a la que se envía un folio nuevo.
  • Eliminar folios cuando : Permite seleccionar la opción de cuando se deben eliminar los folios de los datos históricos. Eliminar los folios es importante para mantener un buen rendimiento de la base de datos. El tiempo adecuado dependerá de la cantidad de registros que se acumulen. En la medida de lo posible, intente eliminar los folios en un intervalo que permita tener menos de 1,000,000 de registros en las tablas de folios. Principalmente para disminuir los tiempos de queries a la base de datos.
  • Eliminar archivos cuando : Permite seleccionar cuando se deben eliminar los archivos anexos de un folio electrónico. Esto permite que se puedan eliminar los archivos anexos sin necesidad de que se pierda el folio completo, esto ahorra espacio de disco duro.
  • Estatus
  • Activo (se pueden procesar folios y dar de alta nuevos)
  • Inactivo (no se pueden procesar ni dar de alta nuevos)
  • Activo pero sin poder dar de alta nuevos folios.

Si el proceso ya tiene un Documento asociado, entonces aparece adicionalmente una lista con todos los elementos disponibles del documento para que seleccione los que quiere que sean visibles durante una consulta histórica.

Procesos externos.

El icono de procesos externos tiene la única función de documentar programas externos a eFlow que están interactuando con el sistema y probablemente están moviendo folios.

Y sus conexiones, son únicamente para simbolizar la relación que tienen con las estaciones con las que interactúan. Al momento de crear un proceso externo, se solicita un comentario y nos sirve para que nos recuerde a que se refiere este proceso externo y que función desempeña, así como dejar información del nombre del script, donde se encuentra, etc.

Líneas funcionales.

Estas líneas cruzan horizontalmente toda la hoja de diseño. Y todas las estaciones que se encuentran debajo de esta línea y antes de otra línea funcional, quedan catalogadas dentro de un grupo funcional. Esta clasificación por departamentos es muy útil visualmente para distinguir las áreas funcionales involucradas, así como clasificar las estaciones en áreas de responsabilidad para que al momento de ver un análisis de cuellos de botella se distingan las áreas de responsabilidad involucradas.

Documentación

En el menú "Reportes" > "Empresa" existe un programa preinstalado que ayuda a integrar la documentación de los procesos dentro del mismo sistema.

Al dar clic en la liga Empresa y navegar por "Documentación De Procesos" > "Documentación"

Llegamos a una página como la siguiente:

Dependiendo de los permisos del usuario puede aparece más o menos procesos y acciones en el listado.

Por defecto, eFlow permite ver a todos los usuarios, la documentación de todos los procesos existentes y activos en el sistema.

La opción de edición para documentar los procesos está disponible únicamente a los usuarios que cumplen con los siguientes requisitos:

  1. Que tenga activo el permiso de administrador, o
  2. Que tenga activo el permiso de "Dueño de Procesos" y que participe en el proceso que desea editar.

Si el usuario cuenta con permisos de edición y da clic en el ícono la ventana muestra un formulario similar al siguiente.

Si da clic en Editar o cambia de "Estación", el marco inferior abre inmediatamente un formulario que le permite editar información referente a esta etapa.

El recuadro de edición le permite editar el contenido para resaltar párrafos y líneas, así como alinear el texto o incluso agregar imágenes que se encuentren depositadas en el servidor.

De clic en "Guardar" en cualquier momento para salvar el texto escrito. El procedimiento de guardar, graba los datos y le regresa a la edición para que continúe en el punto donde se quedó.

Si desea agregar imágenes al documento

De clic en el icono de la imagen. Esto le lleva a un formulario donde se le solicita que seleccione la imagen de su disco duro para subirla al servidor.

Seleccione la imagen, de clic en "Subir" y lo más importante, después de que el sistema ha subido la imagen al servidor le va a aparecer un listado con todas las imágenes relacionadas al proceso. Copie la liga de la imagen que desee ligar.

Ejemplo del lista de imágenes:

Posteriormente en el editor de clic en el icono de "Agregar Imagen". Ingrese la liga (sin el dato http://)

La imagen aparece en el punto donde se encontraba el cursor en ese momento. Salve su documento.

El resultado final.

Al finalizar su documentación. Se puede dar clic en la liga del proceso y entonces obtenemos la imagen del proceso y la documentación de todas las etapas que lo integran. En la documentación de las etapas de conjunta la información que genera eFlow por medio de la parametrización y la que el usuario agrega al editar los documentos de las etapas.

El formato de la documentación puede ser ajustado a sus necesidades completamente modificando el programa process_report_def.pl que se localiza en eflow/reports

Menú Diseñador Archivo

IMPORTANTE

Los procedimientos de exportar e importar no garantizan que el proceso importado en el servidor funcione sin modificación alguna o sin la necesidad de ajustar sus parámetros de configuración al ambiente del nuevo servidor.

Aunque se ha hecho un esfuerzo importante por implementar un algoritmo que permita migrar los programas asociados a los procesos, pueden existir condiciones que impidan que el proceso importado funcione correctamente: acceso a servidores externos con bases de datos, rutas y contraseñas diferentes, uso de nombres de variables, campos, etc; programados por el usuario que creó el proceso, que confundan al proceso de importación no permitiéndole modificar el código correctamente al momento de importar. Revise siempre el código importado para ver que el proceso de importación se haya realizado correctamente. Limitantes y cuestiones de seguridad a considerar.

Para exportar procesos

Seleccione un proceso de la lista de procesos existente. Y aparece la venta de exportación:

Las opciones a configurar en esta ventana son:

  • Nombre del archivo. De un nombre al archivo de exportación. Por omisión se presenta el nombre del proceso con los espacios convertidos en guiones bajos.
  • Código de Instalación. Si su paquete requiere de realizar acciones antes, durante o después de la instalación puede seleccionar un archivo con las instrucciones que desee ejecutar para esto.
  • Archivos a incluir. Posteriormente aparecen diferentes renglones con un icono de búsqueda. Al hacer clic sobre este icono, se abre una ventana emergente que le permite incluir archivos a exportar junto con su proceso.
  • Comentarios. Por último puede escribir comentarios, avisos o instrucciones referentes al proceso que está exportando, para que le sean presentadas al usuario que importe este proceso.

    Para que exporte correctamente los archivos que van relacionados con su proceso es necesario que conozca la lógica con la que estos son agregados al paquete de exportación.
  • Código de Instalación. Esta ventana le permite localizar en el directorio cgi-bin, un archivo para ser incluido dentro del paquete y que contiene las instrucciones para realizar actividades programadas por usted.
    Si el archivo seleccionado tiene errores de compilación o no cumple con la estructura de subrutinas para poder ser importado, entonces aparecerá una advertencia y no será anexado al paquete.

El archivo de instalación debe estar escrito en Perl como una librería y debe contener la siguiente estructura para que se pueda anexar normalmente.

sub before {
    # Ejecutar antes de iniciar la instalación
}

sub after {
    # Ejecutar después de la instalación
}

sub file_process {
    my $file = shift;
    my $filename = shift;
    my $CODE_ref = shift;
    # Ejecutar sobre cada archivo anexo antes de grabarlo en el disco duro
}

1;
  • Librerías eFlow, Crons y Otros programas. En todos estos casos el sistema de selección le permite seleccionar únicamente archivos. Los directorios donde estos se localizan, se crean automáticamente cuando estos son importados en el servidor destino. Si en alguno de estos casos requiere crear un directorio en estas ubicaciones, tiene dos opciones :
    • Seleccionar un archivo vacío "dummy" para que el directorio se cree automáticamente o puede crearlo con un programa de instalación personalizado.
    • Web. Le permite seleccionar directorios. Pero esta acción no significa que se va a exportar todo el contenido del directorio, sino es una instrucción para indicarle al sistema que cree ese directorio en el servidor destino.
    • Bases de datos y Tablas. En este caso el sistema le presenta una forma con las bases de datos locales que tiene disponibles y puede exportar una base de datos completa o únicamente alguna de sus tablas. En todos los casos el sistema no exporta los datos. Si requiere exportar datos va a tener que realizar esto utilizando un código de instalación personalizado.

Una vez terminada la selección de todos los archivos que debemos incluir en nuestro paquete para que el proceso importado en otro equipo funcione correctamente. Entonces damos clic en "Crear Archivo".

Al finalizar el procedimiento de exportación el sistema presenta la siguiente ventana indicando que puede descargar el paquete creado.

Al dar clic sobre la liga de descarga puede salvar el proceso en su equipo y distribuirlo por email o cualquier otro medio. Los paquetes quedan comprimidos para ocupar el espacio más pequeño posible.

Importar procesos.

Seleccione el grupo en donde desea que se agregue el proceso importado o de clic en "Repositorio de procesos".

Repositorio de procesos

Al dar clic en esta opción el sistema le presenta una lista de grupos o clases de procesos que se han creado en el repositorio.

La lista presenta el nombre de la categoría y la cantidad de procesos que se localizan en la categoría correspondiente.

Si da posteriormente clic en el nombre de la categoría, aparece una lista detallada de los procesos que se han subido.

La información de esta lista incluye : Nombre del proceso (en el idioma local del autor y en inglés), el idioma en el que se encuentra el proceso y el autor del mismo. Los iconos al final nos permiten descargar el proceso, sus manuales o ambos.

Importar proceso

Si seleccionó un grupo de proceso, aparecerá el siguiente formulario. Si el grupo no existe, debe crearlo primeramente.

Seleccione el archivo en su máquina local y de clic en el botón "Validar Archivo"

Lo siguiente que aparece es un formulario que le permite ver que acciones va a tomar el instalador de acuerdo a las instrucciones que se tienen programadas en el paquete de importación que hemos seleccionado.

Si el proceso que estamos importando no existe, la ventana que veamos será similar a la de arriba.

En algunas ocasiones, procesos comparten librerías o incluso estructuras de bases de datos, en estos casos el validador va a presentar los archivos que se intentan importar y los marca como "Ignorar", esto es que nos quedemos con la versión actualmente instalada. A menos que el usuario que creó el proceso indique que debemos reemplazar la versión existente, es mejor no reemplazar los archivos ya existentes.

Las bases de datos cuando ya existen no son importadas. Se importan únicamente las tablas nuevas, y esto si el usuario que creó el paquete las seleccionó individualmente.

El siguiente es un ejemplo de como se ve un proceso que cuenta con archivos que ya se habían importado previamente mediante otros procesos.

Si el paquete que vamos a importar tiene un código de instalación personalizado, el sistema presenta una ventana con el código que se tiene incluido de forma que pueda verlo y decidir si desea continuar con la importación del proceso.

En algunas ocasiones el paquete puede contener comentarios con instrucciones, recomendaciones o avisos que el creador del paquete quiere darle a conocer.

Una vez que esté listo puede crear el proceso en su equipo dando clic en "Crear proceso"