<< Clic para mostrar Tabla de Contenidos >> Ejecutar acciones sobre colecciones |
Las acciones se pueden usar para afectar el comportamiento de las colecciones (tablas en el Portal de Trabajo). Las siguientes son las opciones disponibles para trabajar con colecciones en las acciones:
•Cambiar el comportamiento de celdas específicas en una tabla.
Por ejemplo, cambiar el color de una sola celda de acuerdo a una condición.
•Afectar a toda la tabla.
Por ejemplo, esconder toda una tabla de acuerdo a una condición.
•Afectar el comportamiento de controles fuera de una tabla basado en el valor de registros de la tabla.
Por ejemplo, calcular un valor total de acuerdo a la suma de registros de la tabla.
Tenga en cuenta que este escenario funciona cuando se usa Adición En línea y Edición En línea.
Cuando necesite afectar una celda específica de una tabla, es necesario seleccionar una opción avanzada que permita cambiar el contexto y trabajar con una tabla elegida, en lugar de toda la forma. Esta opción se encuentra en la parte superior de la acción y se llama Contexto. El contexto se refiere al objetivo de la acción; puede ser el Formulario completo (seleccionado por defecto) o una tabla específica.
Decimos que el contexto cambia cuando se selecciona una de las colecciones. La acción creada con el contexto de una tabla se aplica solo a la colección elegida. Una vez el contexto es modificado al de una colección específica, se aplicarán las siguientes restricciones:
•Solo los elementos (columnas) de la colección estarán disponibles para ser evaluados en condiciones.
•Las acciones evaluarán cada fila de manera independiente.
Usted no puede utilizar Acciones y Validaciones para manipular colecciones filtradas con el mismo XPath. Cuando se utilicen dos tablas filtradas, usted deberá utilizar las expresiones de control (visible, requerido, editable). |
Ejemplo: Usar una acción para afectar el color de una celda
Ejemplo: Usar una acción mostrar u ocultar una tabla
Ejemplo: Usar acciones para asignar valores a controles fuera de la tabla
Usar acciones para cambiar el color de una celda
Cuando usted necesita afectar una columna o celda de una tabla, tendrá que cambiar el contexto.
Suponga que usted esta definiendo una forma para una actividad en un proceso de Solicitud de Crédito. En la actividad de Registrar Solicitud, un analista de crédito ingresa la información relacionada a una solicitud presentada por un Cliente.
Un Cliente puede solicitar varios productos en la misma solicitud. Cada uno de ellos posee un Monto solicitado y, de acuerdo a su capacidad de pago y a un análisis de riesgo, se define un monto máximo permitido.
Si el monto solicitado de un producto es menor al monto máximo permitido para ese producto, la celda del monto solicitado debería mostrarse con fondo verde, de lo contrario, debería mostrarse con fondo rojo.
1. Construya la forma.
Observe que los productos solicitados se incluyen en una tabla denominada Productos. Incluya el Nombre del producto, Monto Solicitado y Monto máximo como columnas de la tabla.
2. Cree la acción.
En el diseñador de Formas, seleccione Acciones y Validaciones y agregue una nueva acción.
3. Defina el contexto de la acción.
Para este caso la acción se evaluará y aplicará sobre elementos especificos de la colección Productos, por lo cual se selecciona Productos en el campo de Contexto.
4. Incluya la condición (Si).
Seleccione el control, operador y valor de la siguiente manera:
Productos.MontoSolicitado es mayor a Productos.MontoMaximo
Observe que cuando se definen acciones a nivel de colección, los elementos de la colección (columnas) se identifican por su nombre seguido de un punto (.) y el nombre del elemento (es decir, colección.nombre_de_la_columna).
5. Incluya la acción (Entonces). Haga clic en el botón Agregar y defina lo que pasará si se cumple la condición.
cambiar color de fondo para Productos.MontoSolicitado a rojo (código de color hexadecimal #ff0000)
Nuevamente, tenga en cuenta que se hace referencia a las columnas de la colección Productos.
6. Defina la acción alterna (Si no), que se ejecutará si NO se cumple la condición.
cambiar color de fondo para Productos.MontoSolicitado a verde (código de color hexadecimal #008000)
Así se comportará el Portal de Trabajo de acuerdo a los valores ingresados:
Usar acciones para mostrar u ocultar una colección
En este caso usted puede mostrar u ocultar una tabla de la misma manera que muestra u oculta cualquier otro control en la Forma. No hay necesidad de cambiar el contexto.
Recomendamos ampliamente que si elige controlar la visibilidad por medio de Acciones, todas las definiciones de visibilidad se deben hacer de esta misma forma. Tenga en cuenta que si combina Acciones y Expresiones para controlar la visibilidad lo más probable es que tenga problemas en el Portal de Trabajo. |
Suponga que usted esta definiendo una forma para una actividad en un proceso de Solicitud de Crédito. En la actividad de Registrar Solicitud, un analista de crédito ingresa la información relacionada a una solicitud presentada por un Cliente.
Un Cliente puede solicitar varios productos en una misma solicitud. Cada uno de ellos posee un Monto solicitado y, de acuerdo a su capacidad de pago y a un análisis de riesgo, se define un Monto máximo permitido.
Si la capacidad de pago del cliente es menor a 1000, no se podrá solicitar ningún tipo de producto y por lo tanto la tabla de Productos no debería mostrarse al usuario final.
Con el fin de mostrar u ocultar la tabla de Productos de acuerdo al valor ingresado en el campo de Capacidad de pago, usted puede utilizar acciones.
1. Cree la acción.
En el diseñador de Formas seleccione Acciones y Validaciones y agregue una nueva acción.
2. Usted no necesita cambiar el contexto de la Acción. En el campo Contexto, mantenga la opción Forma.
3. Incluya la condición (Si).
Seleccione el control, operador y valor de la siguiente manera:
Capacidad de Pago es menor a 1000
4. Incluya la acción (Entonces). Defina lo que pasará si se cumple la condición.
En este caso, oculte la colección Productos.
cambiar la visibilidad para Productos a No
Observe que las colecciones son referenciadas de la misma manera que los atributos.
5. Defina la acción alterna (Si no), que se ejecutará si NO se cumple la condición.
cambiar la visibilidad para Fecha de Salida a Sí
Así se comportará el Portal de Trabajo de acuerdo a los valores ingresados:
Tenga en mente que incluso si una columna no es visible, esta está disponible y es afectada cuando se definen acciones, ya que la columna está incluida en la metadata del proyecto. |
Usar acciones para asignar valores a controles fuera de la tabla
Las acciones se pueden utilizar para definir cuándo cambia una columna. Esto permite ejecutar las acciones deseadas sin actualizar toda la forma. Solo se actualizarán los controles especificados.
Ejemplo
En un proceso de Solicitud de Compras, se requiere calcular el costo total de la solicitud incluyendo impuestos y descuentos.
Si el Precio Total de un producto de la tabla cambia o el usuario borra una fila, se ejecuta una expresión para obtener el costo total.
Como queremos que solamente el control Costo Total sea actualizado si la columna Precio Total cambia o el usuario borra una fila, debemos usar una acción.
1. Cree la acción.
Seleccione Acciones y Validaciones y agregue una nueva Acción.
Como estamos incluyendo controles FUERA de la tabla en esta acción, el contexto debe ser Forma.
2. Incluya la condición (Si).
Seleccione la tabla de la columna en el campo de controles. La opción cambios estará disponible para identificar cuándo cambia este campo. Agregue también, una acción para identificar cuándo se ha eliminado un registro de la tabla.
La condición será
Productos Solicitados.Precio Total cambia
o Productos Solicitados ha eliminado un registro
3. Incluya la acción (Entonces). Defina qué va a pasar si se cumple la condición anterior.
Seleccione ejecutar regla como comando y después encuentre la regla en el editor de expresiones.
En este caso, la regla para calcular el total de la solicitud se llama Calcular Costo Total.
La acción debe ser ejecutar regla Calculo Costo Total
4. Actualice los controles afectados.
Haga clic en el botón Agregar y defina los controles que van a ser actualizados después de la ejecución de la regla. Para esto, use el comando refrescar.
En este caso, el control a refrescar es Costo Total.
refrescar Costo Total
5. Defina la acción alterna (Si no). En este caso no se ejecutará ninguna acción si NO se cumple la condición, así que deje la configuración de la acción tal como está.
Last Updated 7/21/2023 10:57:03 AM