Visible, editable, requerido usando expresiones

<< Clic para mostrar Tabla de Contenidos >>

Navegación:  Automatización de Procesos con poco código > Studio Cloud -ambiente de autoría > Bizagi Studio > Asistente de Procesos > Reglas de Negocio > Ejemplos de reglas de negocio > Casos y actividades > Manejo de la interfaz de usuario >

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:

 

ManagingUserInterface

 

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.

 

Configurar editabilidad

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.

 

ManagingUserInterface5

 

2. En la pestaña de Propiedades Básicas encontrará la propiedad Editable. Dé clic en el combo para mostrar las opciones disponibles.

 

ManagingUserInterface6

 

3. Seleccione la última opción: Expresión. Una nueva ventana se desplegará.

Para crear una nueva expresión dé clic en Nueva.

 

ManagingUserInterface7a

 

El editor de expresiones booleanas se desplegará.

 

ManagingUserInterface7

 

4. Configure las condiciones requeridas. En este caso nuestra condición se relaciona con el atributo de país destino..

 

ManagingUserInterface1

 

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.

 

ManagingUserInterface52

 

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.

 

ManagingUserInterface3

 

Seleccione Brasil o Estados Unidos y observe cómo el control queda disponible para edición.

 

ManagingUserInterface4

 

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:

 

ManagingUserInterface10

 

1. En la forma, dé clic sobre Declared Value. Sus propiedades se desplegarán en el Panel izquierdo.

 

ManagingUserInterface11

 

2. En la pestaña de propiedades Básicas ubique la propiedad Requerido. Dé clic en el combo para mostrar la lista de opciones.

 

ManagingUserInterface12

 

3. Seleccione la última opción: Expresión. Para crear una nueva expresión, dé clic en Nueva.

 

ManagingUserInterface7a

 

El editor de expresiones booleanas se desplegará para evaluar la condición requerida.

 

ManagingUserInterface13

 

4. En este caso nuestra condición se relaciona con el atributo Duitable. Agregue una condición donde Duitable es igual a Verdadero.

 

ManagingUserInterface14

 

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.

 

ManagingUserInterface53

 

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.

 

ManagingUserInterface16

 

Si el control Duitable no está seleccionado, el control Declared Value no será requerido.

 

ManagingUserInterface17

 

Mostrar u ocultar un control

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.

 

note_pin

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.

 

ManagingUserInterface8

 

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.

 

ManagingUserInterface18

 

2. En la pestaña de propiedades Básicas encontrará la propiedad Visible. Despliegue la lista de opciones de la propiedad.

 

ManagingUserInterface19

 

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.

 

ManagingUserInterface20

 

4. La condición se refiere al valor del control Medio de Transporte. Agregue una condición donde TransportationMean es igual a Aire.

 

ManagingUserInterface21

 

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.

 

ManagingUserInterface54

 

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.

 

ManagingUserInterface65

 

 

note_pin

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.

 

ManagingUserInterface23

 

Seleccione Marítimo como medio de transporte. Note que el control de Servicio Express se oculta.

 

ManagingUserInterface24

 

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.

 

ManagingUserInterface18

 

2. En la pestaña de propiedades Básicas encontrará la propiedad Visible. Despliegue la lista de posibles opciones.

 

ManagingUserInterface19

 

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.

 

ManagingUserInterface36

 

5. Seleccione la opción Nueva y luego Scripting.

 

ManagingUserInterface35

 

6.  Dé clic derecho en la línea vertical de la regla y agregue una Expresión.

 

ManagingUserInterface37

 

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.

 

ManagingUserInterface49

 

8. Escriba el siguiente código y guarde la expresión:

 

ManagingUserInterface48

 

//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.

 

ManagingUserInterface55

 

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.

 

ManagingUserInterface65

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.

 

ManagingUserInterface40

 

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.

 

ManagingUserInterface41

 

note_pin

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