<< Clic para mostrar Tabla de Contenidos >> Visible, editable, requerido usando expresiones |
Este artículo presenta ejemplos de cómo usar una expresión para establecer las propiedades básicas del control. Estas propiedades incluyen si los controles son visible, editable o requerido.
Suponga que una empresa de Transporte y Logística tiene un proceso llamado Proceso de Envío para manejar y monitorear los envíos internacionales. La primera tarea de este proceso permite al cliente ingresar la información y estimar el costo del cargamento.
La compañía cubre envíos desde y hacia Brasil, Irlanda y Estados Unidos. También tiene tres medios de transporte: aire, mar y tierra. Si el transporte elegido es aire, se debe ofrecer servicio express para que el paquete sea entregado el mismo día que se envía.
La forma usada para obtener esta información es:
•Si el país destino es Brasil o Estados Unidos, el Código ZIP debe ser editable y requerido. De lo contrario no aplica y debe ser de solo lectura.
•La compañía ofrece el servicio express solo para transporte aéreo. Esta opción debe mostrarse cuando ese medio es elegido.
El Código ZIP no aplica para países fuera de Brasil y Estadios Unidos. Por lo tanto se debe evaluar si es o no editable tan pronto se elige un país. Crearemos una expresión en la propiedad Editable:
1. En la forma dé clic sobre el control Zip Code. Sus propiedades se desplegarán en el Panel izquierdo.
2. En la pestaña de Propiedades Básicas encontrará la propiedad Editable. Dé clic en el combo para mostrar las opciones disponibles.
3. Seleccione la última opción: Expresión. Una nueva ventana se desplegará.
Para crear una nueva expresión dé clic en Nueva.
El editor de expresiones booleanas se desplegará.
4. Configure las condiciones requeridas. En este caso nuestra condición se relaciona con el atributo de país destino..
Recuerde que una expresión booleana siempre retorna Verdadero o Falso. En este caso, si retornará verdadero (si el país es Brasil o Estados Unidos) el control será editable. De lo contrario será de sólo lectura.
5. Para evaluar esta expresión la forma debe refrescar cuando al seleccionar un país. Para ello, cree una acción y haga uso del comando Actualizar.
En el Portal de Trabajo, seleccione Irlanda como país destino e intente ingresar un Código ZIP. Note que el control Código ZIP es de sólo lectura.
Seleccione Brasil o Estados Unidos y observe cómo el control queda disponible para edición.
Opción predeterminado en el comando cambiar editabilidad de acciones y validaciones
En las Acciones de forma, el comportamiento de editabilidad de los controles difiere a cómo funciona en las Expresiones.
Cuando se crea una Acción para ser editable o de solo lectura, la instrucción se hereda para el set de controles completos donde están siendo usados. Si los atributos están dentro de un grupo (como un Grupo, Panel o forma reusable), la instrucción aplica para todos de la misma manera sin tener en cuenta su estado inicial.
En las expresiones cuando se retorna true, los controles son editables o de solo lectura de acuerdo a su estado inicial donde se crearon.
Existe una opción Por defecto, en las Acciones, que se usa para que el comportamiento de editabilidad de los controles contenidos en un Grupo, Panel o Forma reusable, que retorna la propiedad original de dichos controles.
Refiérase a Hacer un control editable o de solo lectura.
Configurar un control requerido
Siguiendo el mismo ejemplo anterior, si al paquete se le deben aplicar impuestos, se debe ingresar un valor en Declared value. Para asegurarse de que este control tiene un valor es necesario configurar que sea Requerido. Si el usuario final no ingresa un valor se debe desplegar un mensaje.
Para saber que un paquete aplica impuestos usaremos el atributo booleano Duitable. El control Declared Value debe ser Requerido de acuerdo a si Duitable está o no seleccionado. Por lo tanto, se debe usar una expresión para evaluar esta condición:
1. En la forma, dé clic sobre Declared Value. Sus propiedades se desplegarán en el Panel izquierdo.
2. En la pestaña de propiedades Básicas ubique la propiedad Requerido. Dé clic en el combo para mostrar la lista de opciones.
3. Seleccione la última opción: Expresión. Para crear una nueva expresión, dé clic en Nueva.
El editor de expresiones booleanas se desplegará para evaluar la condición requerida.
4. En este caso nuestra condición se relaciona con el atributo Duitable. Agregue una condición donde Duitable es igual a Verdadero.
5. La condición debe ser evaluada cada vez que el usuario cambie el valor para el control Dutiable material. Para hacerlo, cree una acción y utilice el comando Actualizar.
En el Portal de Trabajo, cuando el usuario final seleccione Duitable el campo Declared Value será requerido. Esto puede identificarse por la pequeña raya roja que aparece al lado izquierdo del control.
Si el control Duitable no está seleccionado, el control Declared Value no será requerido.
Siguiendo el ejemplo anterior, el servicio express ofrecido por la empresa sólo está disponible para envíos por aire. El cliente debe decidir si tomar o no este servicio adicional.
Recomendamos ampliamente que si elige controlar la visibilidad por medio de Expresiones, 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. Si desea configurar la visibilidad de un control, recomendamos que use Acciones & Validaciones. |
Para evitar seleccionar el servicio express diferente a por aire, el control Express Service solo debe verse cuando el Medio de Transporte es por aire. Para configurar esto, siga los pasos a continuación:
1. En la forma, dé clic sobre el control Express Service. Sus propiedades se mostrarán en el Panel izquierdo.
2. En la pestaña de propiedades Básicas encontrará la propiedad Visible. Despliegue la lista de opciones de la propiedad.
3. Seleccione la última opción: Expresión. Para crear una nueva expresión dé clic en Nuevo.
La Expresión Booleana será desplegado para evaluar la condición requerida.
4. La condición se refiere al valor del control Medio de Transporte. Agregue una condición donde TransportationMean es igual a Aire.
5. La condición necesita ser evaluada cada vez que el usuario cambie el valor del control Medio de Transporte. para hacer esto, cree una acción y use el comando Actualizar.
6. Nuevamente, dé clic sobre el control Express Service. Sus propiedades se mostrarán en el Panel izquierdo. En la pestaña de propiedades Avanzadas encienda la propiedad Submit on change.
Usar la propiedad Submit on change podría producir demoras o timeouts en la forma. Si desea configurar la visibilidad de un control, recomendamos que use Acciones & Validaciones. |
En el Portal de Trabajo, seleccione Aire como medio de transporte. Note cómo el control Servicio Express se muestra.
Seleccione Marítimo como medio de transporte. Note que el control de Servicio Express se oculta.
Mostrar u ocultar controles usando expresiones de script.
Algunas condiciones que deben ser evaluadas son más complejas y no pueden ser hechas con la funcionalidad de arrastrar y soltar en la interfaz de Reglas de Negocio. Por ello es necesario usar Script booleano.
Por ejemplo, suponga que la empresa de transporte ha decidido ofrecer el servicio express de acuerdo a la combinación de país origen-destino. La tabla muestra las combinaciones para las que aplica el servicio:
Origen |
Destino |
Servicio express |
---|---|---|
Brasil |
Irlanda |
No |
Brasil |
EEUU |
Yes |
EEUU |
Irlanda |
Yes |
EEUU |
Brasil |
Yes |
Irlanda |
EEUU |
No |
Irlanda |
Brasil |
No |
Para no permitir que la selección de una ruta para los envíos que no sea aire o seleccionar una ruta incompatible para el envío, el control de Servicio Express solo se debe mostrar cuando se cumplan las condiciones requeridas.
Este comportamiento no se puede configurar mediante una expresión booleana ya que la condición se refiere a diferentes combinaciones de rutas de envío. Por lo tanto, es necesario implementar una expresión de Script Booleano.
1. En la forma, dé clic sobre el control Express Service para mostrar sus propiedades se mostrarán en el Panel izquierdo.
2. En la pestaña de propiedades Básicas encontrará la propiedad Visible. Despliegue la lista de posibles opciones.
3. Seleccione Expresión para mostrar el administrador de expresiones.
4. Se abrirá la ventana del Administrador de Expresiones para seleccionar la regla (Si ya fue creada) o crear una nueva.
5. Seleccione la opción Nueva y luego Scripting.
6. Dé clic derecho en la línea vertical de la regla y agregue una Expresión.
7. Esta expresión requiere la definición de Constantes definida previamente en el vocabulario. Por la cual se referencian valores específicos de entidades.
Estas definiciones contendrán el código interno, el cuál, es un atributo de la entidad, del país específico o del medio de transporte.
8. Escriba el siguiente código y guarde la expresión:
//Se inicia asumiendo falso.
var result = false;
//Obtenga el código de transporte aéreo del vocabulario
var AirCode=CHelper.resolveVocabulary(Me,"Air");
//Obtenga el código de Brasil del vocabulario
var BrazilCode=CHelper.resolveVocabulary(Me,"Brazil");
//Obtenga el código de USA del vocabulario
var USACode=CHelper.resolveVocabulary(Me,"USA");
//Obtenga el código de Irlanda del vocabulario
var IrelandCode=CHelper.resolveVocabulary(Me,"Ireland");
//Evaluar si es aire
if (<Shipping.TransportationMean.Code>==AirCode)
{
//Evaluar origen destino
if (<Shipping.CountryFrom.Code>==BrazilCode && <Shipping.CountryTo.Code>==USACode)
{
//Asignar true
result = true;
}
if (<Shipping.CountryFrom.Code>==USACode && <Shipping.CountryTo.Code>==IrelandCode)
{
//Asignar true
result = true;
}
//Evaluar origen destino
if (<Shipping.CountryFrom.Code>==USACode && <Shipping.CountryTo.Code>==BrazilCode)
{
//Asignar true
result = true;
}
}
//Retorne el resultado
result;
9. Es necesario evaluar esta propiedad cada vez que se selecciona un origen, destino o medio de transporte.
Cree una acción y utilice el comando Actualizar.
10. Nuevamente, dé clic sobre el control Express Service. Sus propiedades se mostrarán en el Panel izquierdo. En la pestaña de propiedades Avanzadas encienda la propiedad Submit on change.
Pruebe la propiedad en el Portal de Trabajo.
Seleccione un origen-destino que ofrezca Servicio express y luego seleccione Aire como medio de transporte.
Note que el control del Servicio Express se muestra en el grupo Información del servicio.
Seleccione una combinación de origen-destino que no ofrezca servicio express y seleccione Aire como medio de transporte. Note que el control no es mostrado.
Cuando se aplican estos comportamientos sobre las columnas de una tabla, estos serán aplicados a la columna entera, independientemente de su visibilidad, dado que las columnas se encuentras incluidas en la metadata del proyecto. Si usted desea saber cómo configurar visibilidad y editabilidad a nivel de celda consulte Configurar visibilidad y editabilidad de celdas |
Last Updated 7/21/2023 10:43:05 AM