La funcionalidad de Workprocess permite crear tareas para ser ejecutados desde una forma dependiendo de la etapa (creación, edición o eliminación) de un registro. Se cuenta con 3 tipos de tarea:
- Tarea sendEmail. Envía un correo electrónico a uno o varios destinatarios.
- Tarea Transfer Data. Envía información de una forma a otra.
- Tarea Script. Crea un pseudocódigo para realizar una tarea más personalizada.
Para empezar a utilizarlo se colocará en el Diseñador de Aplicaciones; y este estará situado donde anteriormente estaba Batch Process.
Al ingresar a la funcionalidad de Workprocess, desplegará la siguiente pantalla.
- Form. La forma a la que desea agregar la tarea.
- Add task. Para agregar una nueva tarea.
- Event logs. Acceso a la información básica del log.
- Events. Etapa en la que puede agregar una tarea.
- Schedule. Periodo en el que se ejecutará una tarea.
Al tener varias tareas, se acomodarán por orden de prioridad, para cambiar el orden coloca el mouse en el icono, da clic y sin soltarlo lo arrastra para situarlo en el orden que desea se ejecuten sus tareas.
Como se puede observar, se cambiaron las prioridades de las tareas, de tal modo que “Edición de registro” paso a ser la primera que se ejecutará, luego “Actualización campo total” y por ultimo “Modificación venta mayor a $10,000”.
Para hacer saber que una tarea esta activa el icono se mostrará en color verle, si desea desactivar una tarea, debe de dar clic al icono del rayo y este modificara su color a gris.
Al dar clic en el icono aparecerán cuatro iconos más.
- Remove task. Eliminar la tarea seleccionada.
- Disable. Desactiva la tarea seleccionada.
- Enable. Activa la tarea seleccionada.
- Convert to Script. Convierte el sendEmail o Transfer Data a script
Para convertir una tarea a Script, selecciona la tarea y da clic en el botón Convert to Script, a continuación le mostrará un mensaje.
Al aceptar el mensaje, podra observar como se hace el cambio de tarea, ya que en Task type se cambiará en este caso de sendEmail a Script.
Al abrir la tarea podra ver que el sendEmail esta ahora escrito en código.
Nota:
- Puede convertir 1 o más tareas en Script.
En la parte izquierda aparece el menú de Events, que consta de cuatro etapas:
- On add. Al agregar un registro a la forma.
- Load. Al cargar la forma.
- Validate. Antes de guardar la forma.
- Success. Después de guardar la forma.
- On update. Al editar un registro de la forma.
- Load. Al cargar la forma.
- Validate. Antes de guardar la forma.
- Success. Después de guardar la forma.
- On update. Al editar un registro de la forma.
- On remove. Al eliminar un registro de la forma.
- Validate. Antes de borrar el registro.
- Success. Después de borrar el registro.
- On remove. Al eliminar un registro de la forma.
- On action. Permite crear acciones para la forma. Estas acciones funcionan justo como las acciones convencionales con la particularidad que permiten la ejecución de tareas de Work Process al resolverse.
- New action. Abre el editor para crear una acción nueva.
- Name: Nombre de la acción.
- Namespace: Se refiere si la acción afecta a la forma o a la fila.
Si es Row, significa más bien que afecta a un registro en específico. Se agrega un campo de la forma el cual se vería afectado por la ejecución de acción. Las opciones disponibles son de solo lectura, edición libre o asignarle un valor en específico con el área de escritura.
Ya creada la acción se le puede agregar tareas tanto tipo Script como Send Email y estas pueden ejecutarse en cualquier momento tras activar las acciones.
En las acciones de Workprocess que son de namespace = form, se agregó parámetros, estos parámetros estarán disponibles como si fuera el 'registro' (porque en este contexto, estas acciones No tienen un registro) y serán accesibles por la variable input.
Los tipos de parámetros soportados son: Date, Date time, File, Float, String.
Para soportar el parámetro File se agregó una función llamada File que le puedes mandar como argumento el parámetro File o un campo de tipo File (en caso de los campos File que puedes subir varios archivos, solo tomara el primero de ellos).
Las funciones disponibles del objeto File son las siguientes:
- getContent(): Obtiene el contenido del archivo, ya sea si es binario regresara ese código binario o si es un archivo de texto, pues regresara ese contenido.
- getExtension(): Obtiene la extensión del archivo.
- count(): Si el archivo es un ZIP, obtendrá el número de archivos, si es cualquier otro siempre regresara el valor de 1.}
Notas:
- Si el archivo es un Zip podrá ser usado en un foreach para interactuar con cada uno de los registros dentro del Zip.
- Los archivos que se suban con los parámetros no se guardan permanentemente, después de ser usados automáticamente serán eliminados.
- Tampoco se pueden insertar esos archivos en un registro de eBavel.