Reglas Workflow
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
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.
Bloque Número 1
Código (campo CODE) |
Este campo identifica la regla de Workflow. |
Descripción (campo INTIT) |
Permite definir una descripción asociada a cada ficha. |
Bloque Número 2
Categoría (campo CATEG) |
Este campo permite agrupar reglas de workflow según su tipología. |
Activo (campo ENAFLG) |
Si esta casilla no está marcada, la regla de Workflow no se desencadenará. |
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.
Evento desencadenante
Tipo evento (campo TYPEVT) |
El tipo de evento Workflow puede tomar los siguientes valores:
|
Código evento (campo CODEVT) |
Este campo permite precisar el contexto desencadenante según el tipo definido con anterioridad:
Este campo sólo es obligatorio para el tipo de evento Vario. Si no está indicado, el evento se desencadena de forma genérica, sabiendo que siempre es posible probar con anterioridad el contexto para ser selectivo (gracias a las variables GFONCTION, GOLDETAT...) |
campo LIBEVT |
Título asociado al código introducido en la rúbrica anterior. |
Operaciones (campo OPERATION) |
Este campo permite precisar de forma más afinada el contexto de ejecución de la regla de Workflow. Según los tipos de Workflow, los datos capturados son diferentes:
|
Fin de transacción (campo TYPDEC) |
En caso de modificación de una ficha de un objeto simple, el Workflow puede desencadenarse antes de la actualización de las tablas (lo que permite definir los criterios para las clases [F] y [M]) o al final de la transacción de modificación (después de la actualización de las tablas)). |
Bloque Número 4
Modelo de datos (campo MODELE) |
Aquí se puede indicar un modelo de datos que define un conjunto de tablas vinculadas que deben estar disponibles en el contexto del Workflow. En caso de ser un evento de tipo Manual, este código es obligatorio para definir el contexto de ejecución; en otros casos, permite simplemente completar este contexto. |
Regla de asignación (campo REGLE) |
Este campo permite definir las reglas de asignación de los destinatarios de Workflow de forma externa a la regla. Hace referencia a una tabla de reglas en la que se define una lista de campos a los que afectarán los criterios de asignación de destinatarios. Una regla se evalúa en el momento del desencadenamiento del Workflow, en función del contexto, y reenvía uno o varios usuarios definidos por un cuadro de variables locales [L]USER, lo que permite bien dar una lista de destinatarios para un Workflow dado, o una cadena de destinatarios si se trata de un encadenamiento de reglas. Es importante señalar:
|
Bloque Número 5
Tipo workflow (campo TYPWRK) |
Define si se desencadena un Workflow en cada línea de detalle o sólo en la cabecera. Este campo es de sólo lectura:
Si no se da regla de asignación pero tiene asociado un modelo que integre los enlaces (1,N), se capturará el campo. Se puede escoger si el desencadenamiento se realizará en la línea o en la cabecera (sabiendo que las líneas pueden agruparse para enviar una notificación por grupo). |
Tabla línea (campo TABLIG) |
Permite definir el campo línea en el caso de una regla en la que el contexto integra las tablas de cabecera y las tablas de línea. |
campo ABRLIG |
Agrupación de líneas (campo GROUPE) |
Este campo permite definir los criterios de agrupación dando una lista de expresiones (o de campos) separados por ";". Esto permite agrupar las líneas de detalle para no desencadenar más que un Workflow en cada ruptura de los valores definidos por estas expresiones. Esto es posible en dos casos:
|
Tabla Condiciones
Tipo (campo TYPCND) |
Si el evento de Workflow es de tipo Línea, las condiciones pueden repercutir sobre la cabecera o sobre la línea, según la elección capturada aquí. |
Condiciones (campo CONDITION) |
Estos campos permiten añadir condiciones en forma de expresiones lógicas (Fórmula de cálculo) que incluyen variables en línea en el momento de la ejecución de la regla (contenidos de máscaras de pantallas o de tablas en línea, según la descripción del contexto, etc.). Si estas condiciones se cumplen, se envía el mensaje y/o se escribe la traza en el fichero log. Hay que tener en cuenta que si el contexto es de tipo cabecera de líneas, se puede filtrar una parte de las líneas vinculadas a una cabecera definiendo condiciones de líneas para no tener en cuenta las líneas para las que la condición es falsa. Si queda al menos una línea afectada y las condiciones de cabecera son ciertas, el desencadenamiento se realizará igualmente. |
Gestión
Activación mail (campo ENAMES) |
Indicador que permite activar o no el envío de los mensajes indicados en la pestaña correspondiente. |
Activación acción (campo ENAACT) |
Indicador que permite activar el desencadenamiento de las acciones indicadas en la pestaña correspondiente. |
Activación seguimiento (campo ENASUI) |
Este campo permite definir las reglas de asignación de los destinatarios de Workflow de forma externa a la regla. Hace referencia a una tabla de reglas en la que se define una lista de campos a los que afectarán los criterios de asignación de destinatarios. Una regla se evalúa en el momento del desencadenamiento del Workflow, en función del contexto, y reenvía uno o varios usuarios definidos por un cuadro de variables locales [L]USER, lo que permite bien dar una lista de destinatarios para un Workflow dado, o una cadena de destinatarios si se trata de un encadenamiento de reglas. Es importante señalar:
|
Depuración (campo DEBUG) |
Indicador que permite activar una ayuda para la actualización. Durante la ejecución de una regla y si esta opción está activa, el motor de workflow muestra en pantalla los posibles mensajes de error de evaluación sobre las condiciones, el log y el mensaje. |
Usar tema (campo USETHEMEFL) |
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.
Tabla Destinos
Condición (campo CNDDES) |
Este campo permite definir una condición lógica. Si la evaluación de esta condición reenvía un valor falso (es decir, nulo), la línea de destinatarios no quedará afectada por el evento. Hay que tener en cuenta que se dispone, aparte de las variables vinculadas al contexto del evento, del cuadro de variables L]COND, que permite, en una línea dada, hacer referencia a la condición de la línea número N (N es el índice). Así, por ejemplo, si se expresa una condición en la primera línea del cuadro, y en la segunda línea, se utiliza la expresión: not [L]COND(1), significa que los destinatarios de la segunda línea se tendrán en cuenta si la condición de la primera línea es falsa. |
Tipo (campo TYPDES) |
Un destinatario puede estar vinculado a un código de usuario (se buscan sus coordenadas en la ficha de usuario), o a un tercero (en este caso, se captura su función en el cuadro para identificar en la ficha terceros a los posibles destinatarios). |
Destinos (campo DESTIN) |
Función (campo FNCDES) |
Esta información sólo se indica si el tipo de destinatario es un tercero. Hace referencia al menú local que define las funciones de los interlocutores en la ficha terceros. |
Envío mail (campo ENVOI) |
Aquí pueden capturarse tres valores concernientes a los destinatarios de la línea:
|
Seguimiento (campo SUIVI) |
Este indicador precisa si los destinatarios de la línea recibirán una notificación en su plan de trabajo, según el valor capturado:
En cuanto se envíe una notificación a por lo menos una de las líneas de destinatarios, la pestaña Seguimiento definirá el texto que aparecerá en el seguimiento, así como las respuestas que se podrán dar en caso de solicitud de firma. |
Naturalezas (campo NATURE) |
Este campo puede ser utilizado para clasificar las líneas de seguimiento según su categoría. Es un criterio que puede figurar en el plan de trabajo o ser utilizado como filtro en una de sus pestañas. |
Opción delegación (campo OPTDEL) |
Este campo permite precisar la forma en la que se gestiona el hecho de que el destinatario identificado en la línea esté ausente (es decir, el hecho de que haya definido un usuario delegado para un periodo de tiempo que incluye el momento en el que se desencadena la regla). Si ha definido usuarios delegados Con poder, el valor de este campo define quién es el destinatario de la notificación o del mensaje:
|
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.
Mensaje
E-mail emisor (campo SENDMAIL) |
Objeto (campo OBJET) |
Este campo permite definir el contenido del campo Objeto del mensaje enviado, en forma de una expresión calculada que se evaluará en el momento del desencadenamiento del evento. |
Texto
Texto (campo TEXTE) |
Este campo permite definir el contenido principal del mensaje. Se realiza en forma de un texto libre que incluye expresiones lógicas (Fórmula de cálculo) entre dos barras verticales que sirven como separadores. De este modo, por ejemplo, se podrán escribir contenidos como: el evento ocurrido el | num$(date$) | dio lugar a este envío por | GUSER | Etiquetas específicas: "LIG" Permite insertar la expresión definida en el campo "Línea" de la regla workflow. |
Gestión
Línea (campo TEXLIG) |
La expresión calculada introducida en este campo se evalúa, en el momento del desencadenamiento del evento, para cada línea de detalle (en el caso de un Workflow de tipo línea con una agrupación de datos). Cada línea calculada de este modo se inserta en el cuerpo del mensaje en el lugar donde se encuentra la fórmula |LIG| |
Gestión
Envío (campo TYPMES) |
Este campo permite indicar si se debe realizar el envío localmente por medio del puesto (utilizando la interfaz MAPI), desde el servidor (mediante SMTP) o indistintamente desde el uno o el otro (en este caso, un parámetro general denominado TYPMES lo define). |
Icono de retorno (campo RETOUR) |
Esta casilla permite, si está marcada, insertar como documento adjunto en el mensaje enviado, un icono con el contexto que permite volver a llamar la ficha (haciendo doble clic en el icono). Esto sólo funcionará si la conexión está en modo cliente-servidor. |
Función de devolución (campo BAKFCT) |
Cuando un icono que permite volver a Sage X3 está adjunto al cuerpo del mensaje, este campo permite indicar una función de retorno diferente de la función que ha desencadenado el Workflow. En Workflow objeto, si se trata de la creación o modificación de una ficha, esto permite, en vez de conectarse a la ficha por defecto, ir a la ficha vinculada (la ficha de usuario que ha creado o modificado la información que ha desencadenado el Workflow, por ejemplo). |
Clave de vínculo (campo BAKLNK) |
Este campo permite, si la casilla Icono de retorno está marcada, definir la función a la que el usuario se conectará haciendo doble clic sobre el icono incluido en el mensaje. Si la función de retorno es de tipo objeto, no tendrá ninguna utilidad capturar la función más que si ésta es diferente del objeto de origen. En el caso de un Workflow Manual, el código de función es obligatorio si el icono de retorno está incluido (no puede tener valor por defecto en este caso). |
Bloque Número 6
Desktop (campo BAKSYRA) |
Clave de vínculo (campo BAKLNKSYRA) |
Móvil (campo BAKMOBILE) |
Clave de vínculo (campo BAKLNKMOBI) |
Bloque Número 7
Mensaje modificable (campo INTERV) |
Este indicador permite que el mensaje pueda modificarse antes del envío: se abre una pantalla para capturar las modificaciones. Esto sólo es posible si el desencadenante de Workflow se realiza de forma interactiva (en caso contrario, la ventana no se abrirá). |
Agrupación por destinatario (campo GRPENV) |
Si un evento de Workflow crea varias notificaciones, esta casilla sirve para agrupar los mensajes creados para el evento. Si el Workflow es de tipo línea, se producirán varias notificaciones, o si se trata del evento especial "ANU" (desencadenado tras la cancelación de firma). Las notificaciones se agrupan entre ellas si tienen las siguientes características en común:
|
Acuse lectura (campo REQREC) |
Esta casilla permite, si está marcada, enviar el mensaje con un acuse de recibo. Atención, esta solicitud de acuse de recibo sólo puede funcionar si el mensaje se envía desde el puesto cliente y no desde el servidor. |
Documentos adjuntos
Fichero traza vinculado (campo TRACE) |
Esta casilla sólo puede marcarse si el evento desencadenante corresponde al final de una tarea batch. En este caso, si está marcada, el fichero traza asociado a la tarea batch irá adjunto al mensaje enviado. |
Documento a adjuntar (campo JOINT) |
Este campo permite asociar un documento adjunto al mensaje, proporcionando un camino de acceso a la red en forma de una expresión calculada que se evaluará en el momento del desencadenamiento del evento. |
Documento adjunto (campo JOIOBJ) |
Cuando esta casilla está marcada, en un Workflow de tipo objeto, los documentos adjuntos a la ficha pueden ser enviados como adjuntos al mensaje. |
Todos los tipos (campo ALLTYPJOI) |
Este campo permite, si la casilla Todos los tipos no está marcada, definir un filtro para el tipo de documentos adjuntos a la ficha (tabla varia 902) que deben enviarse con el mensaje. |
Tipo documento adjunto (campo TYPJOI) |
Todas las categorías (campo ALLCATJOI) |
Esta casilla sólo se indica:
Si esta casilla está marcada, todas las categorías de documentos adjuntos a la ficha que desencadenan el Workflow se envían como documentos adjuntos al mensaje. En caso contrario, se capturaría la categoría necesaria. |
Categoría (campo CATJOI) |
Este campo permite, si los documentos adjuntos a una ficha deben enviarse como adjuntos al mensaje, filtrar los documentos por su categoría (menú local96) |
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.
Texto
Texto seguim (campo TEXSUI) |
Este campo contiene una expresión evaluada en el momento del desencadenamiento del Workflow. El resultado de esta evaluación es una cadena alfanumérica almacenada en la variable [AWS]TEXSUI. Este valor es el que aparecerá normalmente en el monitor Workflow para calificar el evento a firmar. |
Firma
Firma (campo FLGSIG) |
Si esta casilla está marcada, el seguimiento da lugar a un proceso de firma: aparece entonces en el cuadro, en la parte inferior de la pantalla, cierto número de firmas posibles. |
Fecha límite (campo DELSIG) |
Una vez marcada la casilla Firma, se puede definir una expresión de tipo fecha que defina la fecha más allá de la cual se considera que hay retraso si no se ha realizado la firma. El valor del campo correspondiente se almacena en el campo DATREL de la tabla de seguimientos AWRKHISSUI. Este campo puede utilizarse en el monitor Workflow para definir un orden de clasificación, una valoración por un estilo particular (condición de tipo date$>=[AWS]DATREL+1, por ejemplo). Pero también puede utilizarse para una gestión de relanzamiento de eventos en espera de firma, puesto que el campo [AWS]NBREL permite contar los relanzamientos realizados. |
Tabla Contexto
Contexto (campo VARCTX) |
Este cuadro contiene expresiones evaluadas en el momento de desencadenamiento de un Workflow. Estas variables:
El interés de estas variables es que permiten transmitir datos que no aparecen en las tablas en el origen del contexto desencadenante, y que por tanto no se transmiten automáticamente de un evento a la firma o al evento siguiente. Las tablas del objeto o las de la regla de asignación se transmiten automáticamente; en cambio, no se transmiten:
Por tanto, este tipo de variable es el más interesante de transmitir a través del contexto. Pero también es interesante definir en el contexto las variables transmitidas por otra parte en el contexto, simplemente para saber visualizarlas en el monitor de Workflow. |
Tabla Respuesta
Respuesta (campo ACTSIG) |
Este campo hace referencia a la tabla varia número 54, que define las opciones posibles en el momento de la firma (por ejemplo Validación, Rechazo). En el plan de trabajo de firmas, al hacer clic con el botón derecho en la línea a firmar, se podrá proponer dentro de la lista de opciones procedentes de esta lista, las opciones para las que se verifique la condición. |
Operación (campo OPESIG) |
Este código de operación, definido por la tabla varia 55, es el código que califica la firma. Corresponde al código de operación utilizado en un evento de tipo Firma consecutivo al evento firmado. Hay que tener en cuenta que varias líneas pueden llevar el mismo código de operación. Este código no se almacena en el histórico de Workflow tras la firma. Es el valor del campo Respuesta, que no admite homónimos entre las distintas líneas, que está almacenado. |
Condición (campo CNDSIG) |
Esta columna contiene una expresión lógica evaluada en el momento de la firma. Si se da esta condición, se propondrá entre otras opciones la respuesta definida en la línea. Esto permite, por ejemplo, disponer de varios niveles de firma, en función del número de firmas que ya hayan sido realizadas (la única firma que desencadena la actualización definitiva es la última). Del mismo modo, es posible definir una opción al parecer imposible (por una condición siempre falsa de tipo 1=0). Esta opción podrá ser forzada por una acción de firma desencadenada por otro evento de Workflow. De este modo se tratan, según los parámetros estándares, las escaladas en los procesos de firma. |
Motivo (campo REANUM) |
Esta columna permite indicar un número de tabla varia que contiene motivos de respuesta. |
Campo actualizado (campo FLDMAJ) |
Esta columna contiene el nombre de un campo procedente de una de las tablas del contexto desencadenante. Este campo será actualizado por el valor calculado a partir de la expresión siguiente, en el momento del proceso de firma. Así podemos, por ejemplo, actualizar un campo como ENAFLG (indicador Activo) del objeto actual en el momento de un proceso de firma. |
Valor (campo EXPVAL) |
Esta columna permite definir la expresión de un valor calculado en el momento de la firma. El valor correspondiente a la línea de respuesta escogida será el utilizado, en caso de firma:
|
Modificable (campo MODSIG) |
Si este campo tiene el valor Sí, se propone el valor calculado en la columna correspondiente, tras la elección de la firma, para permitir una posible modificación. Esto permite por ejemplo capturar un motivo detallo. El valor resultante de la captura será utilizado para realizar la actualización si existe, y transmitirlo a la variable [L]RESULT para su utilización en una acción complementaria. |
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).
Tabla Acción
Código acción (campo ACTION) |
Este campo contiene un código de acción cuya ejecución puede desencadenarse si están cumplidas las condiciones. Hay que tener en cuenta que para que se produzca esta acción, la casilla Workflow debe estar marcada, y por tanto, no puede interaccionar con la interfaz usuario (no hay ventana asociada). |
Desencadenamiento (campo DECACT) |
Este campo, cuyos valores están definidos por el menú local 2923, define las condiciones de desencadenamiento del Workflow. Se pueden utilizar los valores siguientes:
En el caso general del punto de vista de la transacción, hay que tener en cuenta que la acción forma parte de la transacción de Workflow del mensaje (si se realiza un Rollback en el momento de la constitución del mensaje, las actualizaciones realizadas en la acción se verán afectadas). Se realizará una transacción independiente para el seguimiento (pero al realizarse esta transacción a continuación, los valores que aporta la acción pueden utilizarse). En el caso particular del Workflow en objeto, todo se realiza en una sola transacción. Dicho de otro modo, si la creación o la modificación de una ficha no se realiza satisfactoriamente, se realiza un Rollback sobre el total de las actualizaciones llevadas a cabo por las acciones. Para el seguimiento, el proceso es similar: la transacción que sigue a la captura del seguimiento incluye el desencadenamiento de las acciones. |
Condición de ejecución (campo CONACT) |
Aquí se captura una expresión lógica, evaluada en el contexto de desencadenamiento de la acción. Si el resultado de la evaluación es verdadero (es decir, no nulo), la acción se desencadenará. Si el resultado es falso, la acción no se desencadenará. Si no se ha capturado ninguna expresión, la acción se desencadenará igualmente. |
Tabla Parámetros
Parámetro (campo PARAM) |
Tipo (campo TYPPAR) |
Retorno (campo ADRVAL) |
Valor parámetro (campo PARVAL) |
Aquí se captura una expresión evaluada que se transmite como un argumento a la acción en la que el código de una variable tendrá un valor de retorno (si el argumento es de tipo Puntero). Pueden utilizarse todas las variables del contexto de Workflow. |
Botones específicos
Copia
Este botón permite copiar un evento de Workflow hacia otro dossier, simplemente con aportar su código. En el cuadro que se abre hay una casilla a marcar que permite realizar la transferencia hacia todos los dossieres definidos en la tabla de los dossiers actual. Bloque Número 1
Bloque Número 2
|