Las reglas de Workflow permiten definir la ejecución de un cierto número de acciones cuando eventos particulares ocurren en las aplicaciones Sage X3.

Las acciones posibles son:

  • el envío de mensajes por medio de la mensajería
  • la aparición de notificaciones en los planes de trabajo
  • la actualización de datos mediante la ejecución de acciones, ya sea directamente en el momento en que se produce el evento, o posteriormente, cuando el o los destinatarios de la notificación hayan reaccionado (acción de vista o de firma en el plan de trabajo, haciendo clic en un enlace del mensaje, doble clic para conectarse a un contexto asociado y realizar las actualizaciones manualmente)

Los datos procedentes del contexto de desencadenamiento podrán ser utilizados en los mensajes, las notificaciones, las acciones.

Los eventos en el origen de una regla de Workflow pueden ser diversos:

  • acción del usuario en una gestión de objeto (creación, modificación, desencadenamiento de una acción)
  • ejecución de una tarea batch, de una importación, de una edición.
  • acción de firma en una notificación anterior (en este caso, pueden existir circuitos complejos de firma imbricados)
  • proceso batch con barrido a un conjunto de tablas de la base

El envío de los mensajes está condicionado por la utilización de un servicio de mensajería que acepta la interfaz MAPI en el envío desde el puesto cliente o SMTP POP3 en el envío desde el servidor (caso de la mayoría de los servicios de mensajería del mercado).

Los destinatarios de las notificaciones del Workflow pueden ser parametrizados directamente en la regla, ya sea por un código de usuario, o por un código de tercero y de un tipo de interlocutor en el tercero. Pero también es posible crear tablas multi-criterios denominadas reglas de asignación para permitir a un usuario tercero definir los destinatarios en función de valores de criterios predefinidos.

Requisitos

SEEREFERTTO Consulta la documentación de Puesta en marcha

Gestión de Pantalla

La pantalla de parametrización de las reglas de Workflow se compone de 5 pestañas, de las cuales las 3 primeras definen la parametrización de base (basta con rellenar los campos esenciales de estas tres pestañas en los casos simples de notificación), y las dos siguientes sirven para realizar una parametrización avanzada:

  • La primera pestaña permite definir el contexto de desencadenamiento de la regla.
  • La segunda aporta la lista de destinatarios del mensaje o de las notificaciones.
  • La tercera permite capturar el cuerpo del mensaje, cuando éste debe enviarse, así como la descripción de los documentos adjuntos, si los hubiera.
  • La cuarta permite definir las posibles condiciones de firma, puesto que una regla de Workflow supone un encadenamiento de etapas posteriores y un proceso de firma.
  • La quinta se utiliza si es necesario desencadenar acciones particulares (por acción se entiende un sub-programa normalizado, o sea predefinido y documentado, como por ejemplo las acciones asociadas al compromiso de un presupuesto, o sea específicas, realizadas por un integrador para responder a una necesidad particular).

Cabecera

Una regla se identifica por medio de un código, pero se le puede asociar, por motivos de organización, una categoría definida en una tabla varia. Éstos son los datos que obtenemos en la cabecera de la pantalla.

Pestaña General

Esta pestaña define el contexto de desencadenamiento, dado por un tipo de evento y un código asociado, así como, en ciertos casos, los códigos de operación complementarios. También aparece un cuadro de condiciones: éstas deben ser verificadas para que la regla se desencadene. Para ciertos eventos que tienen influencia sobre los datos organizados según un esquema en cabecera de líneas, se precisará a qué nivel afecta cada una de las condiciones.

También se puede asociar una regla a un modelo de datos, que describe un conjunto de tablas complementarias que serán leídas mientras se prueba la regla. En el caso de una regla de tipo Manual, este modelo de datos es obligatorio, ya que el único contexto existente está asociado al modelo. En el caso de las reglas asociadas a objetos o a eventos varios, este modelo es opcional y permite simplemente completar las tablas en línea.

En función del tipo de regla y del modelo que tiene asociado, podrá definirse si el workflow se refiere a los datos de cabecera o a los datos de línea. En este caso, se definirá cómo se agrupan las líneas.

Se puede aportar una regla de asignación para definir la forma en que se definirán los destinatarios del mensaje. Una regla de este tipo puede dar como resultado uno o varios destinatarios. Los destinatarios en cuestión podrán recibir la notificación procedente de la regla, o ser transmitidos a una regla siguiente, en el caso de firmas encadenadas.

En el anexo técnico hay información sobre el contexto de ejecución.

Pestaña Destinatarios

Esta pestaña permite la captura de la lista de destinatarios de los mensajes o notificaciones. Un destinatario puede definirse como un usuario (su dirección de mensajería aparece en la ficha de usuario) o como un tercero (en tal caso se identifican los contactos implicados por medio de su función).

Cada línea del cuadro define uno o varios destinatarios (según la opción delegados elegida) y estos destinatarios pueden recibir:

  • un mensaje
  • una notificación necesitada de un seguimiento simple (vista) o una firma
  • o ambos

El grupo de destinatarios definidos por un línea del cuadro se considera como solidario desde el punto de vista de las firmas: basta que uno de lo miembros del grupo haya firmado para que la línea se considere firmada (el nombre del firmante se propagará en las firmas en espera para el grupo).

En cambio, si hay varias líneas, la firma de uno de los destinatarios de una línea no se propaga a las demás líneas. Se podrá probar, en un contexto de firma, el número de grupos (de líneas) que ya hayan firmado para provocar una actualización teniendo en cuenta a los otros firmantes.

Pestaña Mensaje

Esta pestaña permite definir el contenido del mensaje enviado a los destinatarios interesados. Un mensaje está compuesto de:

  • un campo "objeto" (expresado en forma de una fórmula de la aplicación que incluye si es necesario, constantes, funciones y variables procedentes del contexto). Este contexto se define de manera más precisa en el anexo técnico de la documentación.
  • un texto principal definido en el bloque correspondiente. Se pueden incluir fórmulas de la aplicación delimitándolas con barras verticales. La fecha actual, por ejemplo, se expresará con el formato | date$ | y el código de usuario como | GUSER |. Se puede insertar un clob (5 como máximo) escribiendo |CLB/CLOB|; en esta fórmula CLOB es una variable de tipo clob o una expresión cuyo resultado es un clob.
  • un posible texto de línea, que corresponde a un subdetalle de línea cuando el Workflow es de tipo cabecera/línea. El cuadro de las líneas asociadas a cada cabecera está insertado en el texto principal, donde se define la fórmula |LIG|.
  • posibles enlaces que permiten desencadenar firmas solicitándolo a un servidor http. Estos enlaces se escriben con formulas del tipo |SIG/CÓDIGO/MENSAJE|, donde CÓDIGO es el código de la respuesta que se hará.

    Así, por ejemplo, podemos escribir :
        |SIG/VAL/"Para firmar, haga click en :"|
        |SIG/REJ/"Para rechazar haga click en :"|
    Luego aparecerá en el cuerpo del mensaje :
        Para firmar, haga click en enlace desencadenante de la firma
        Para rechazar, haga click en enlace desencadenante del rechazo
    Estos enlaces son, por supuesto, enlaces http variables como el contexto necesario para transmitir la información necesaria.

Independientemente de estos elementos, cierto número de campos complementarios definen las condiciones del envío, así como la información (documentos adjuntos) que se puede insertar en el mensaje.

El parámetro general TYPMES tiene que ser igual al Servidor para poder enviar los documentos adjuntos. Si no es el caso, sólo se enviará el primer documento adjunto (aparecerá un mensaje de aviso cuando se impone un envío por Cliente). Además, los documentos adjuntos deben estar accesibles a través del servidor de aplicación (por un camino de red, si no están almacenados en la base).

El envío de los mensajes está condicionado por la utilización de un servicio de mensajería que acepta la interfaz MAPI en el envío desde el puesto cliente o SMTP POP3 en el envío desde el servidor (caso de la mayoría de los servicios de mensajería del mercado).

Los destinatarios de las notificaciones del Workflow pueden ser parametrizados directamente en la regla, ya sea por un código de usuario, o por un código de tercero y de un tipo de interlocutor en el tercero. Pero también es posible crear tablas multi-criterios denominadas reglas de asignación para permitir a un usuario tercero definir los destinatarios en función de valores de criterios predefinidos.

Pestaña Seguimiento

Esta pestaña permite definir la forma en que se realizan las notificaciones de tipo Seguimiento en los planes de trabajo de los usuarios destinatarios, y también las condiciones de firma asociadas, si las hay. Estas condiciones de firma sólo son aplicables si en el cuadro de destinatarios de la pestaña correspondiente, los usuarios destinatarios aparecen en seguimiento Con firma.

Entonces se define, en forma de expresiones evaluadas, el mensaje que aparecerá en el plan de trabajo, y la fecha límite de firma esperada si se espera una firma.

A continuación se muestra un cuadro que permite precisar las respuestas que el usuario podrá realizar al firmar, con la posibilidad de actualizar directamente un campo de la ficha actual si el Workflow es de tipo Objeto.

Hay que tener en cuenta que los elementos evaluados en el cuadro de respuestas lo son en el momento de la firma, mientras que los elementos relativos a la notificación o al mensaje asociado lo son en el momento del desencadenamiento del Workflow de origen. Esto significa que el contexto no es exactamente el mismo. Así, en un contexto Workflow de tipo objeto, se tiene en línea:

  • en el momento del desencadenamiento, el conjunto de variables de las pantallas y tablas vinculadas al objeto, así como las posibles tablas complementarias vinculadas a un modelo de datos y a una regla de asignación, y las variables globales vinculadas al contexto del firmante (GUSER representa el código del usuario que ha desencadenado el evento).
  • en el momento de la firma, se tiene en línea el registro de la tabla principal del objeto, así como las posibles tablas descritas en un modelo de datos y una regla de asignación, pero ya no se dispone de las pantallas en línea, y las variables globales son las del contexto de la firma (GUSER representa en este caso el código del usuario que firma).

Para permitir transmitir los valores del contexto de desencadenamiento hacia el contexto de firma, se dispone de un cuadro denominado Contexto. Las expresiones que se describen aquí, se evalúan y transmiten en el momento de la firma en forma de un cuadro de variables locales denominadas [L]CTX. Estas variables pueden utilizarse en la parametrización de los planes de trabajo, en las condiciones y los valores vinculados a la firma, y también en las variables y los valores vinculados a las Acciones de la pestaña siguiente, si se trata de acciones desencadenadas en el momento de la firma.

Pestaña Acción

Esta pestaña describe, en un primer cuadro, una lista de acciones que pueden desencadenarse en el momento del desencadenamiento del evento o en la fase de firma. Esto permite llamar bien acciones estándares predefinidas para este fin (la lista está en el anexo técnico correspondiente), bien acciones específicas. Observación: la acción en cuestión sólo se llama si se realiza la condición de ejecución.

La tabla situada por debajo se carga automáticamente con la lista de parámetros de la acción, para permitir capturar en frente una lista de expresiones evaluadas en el contexto y transmitidas (ya sea como valores o como punteros: en este último caso, los valores de retorno se utilizarán posteriormente).

Botones específicos

Validación

Este botón permite generar y compilar el proceso automático asociado al evento de Workflow. Este proceso se codifica por medio de los caracteres WMK seguidos del código de Workflow. Como la validación se realiza de forma automática en el momento del registro o de la modificación de un Workflow, este botón sólo sirve para validar un evento que habría sido transferido por copia desde otro dossier.