Cuando crea un Workprocess que está asociado a una acción se puede definir si el Workprocess se ejecuta bajo el contexto de un registro seleccionado o se ejecuta bajo el contexto de toda la forma (namespace). Si es de tipo row se puede hacer referencia al registro seleccionado y si es de tipo form entonces se pueden pedirle parámetros al usuario al ejecutar una acción. Por ejemplo, si usted ejecuta la acción "Autorizar vacaciones" usted puede preguntarle al usuario que ejecuta la accion "¿Cuantos días de vacaciones se autorizarán?" y ese numero de días puede ser referenciado dentro del código del Workprocess.
Definiendo el contexto bajo el cual se ejecuta la acción: namespace
Cuando se ejecuta bajo el contexto de un registro se permite hacer referencia al registro seleccionado dentro del workprocess. Si es por Form entonces no se puede hacer referencia al registro a procesarse en curso pero se permiten pedir parámetros.
- 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.
Parámetros de un Workprocess
En las acciones de Workprocess que son de namespace = form, se pueden agregar 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.}
IMPORTANTE
- Solo se toma en cuenta el primer archivo seleciconado
- 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