Ventanas dinámicas

En función de los valores seleccionados en un campo o no de la ventana de Web Access o de Ivanti Workspaces, se puede establecer de forma dinámica si un campo de esa ventana es obligatorio, de solo lectura o está oculto.

Estos son algunos ejemplos de uso:

  • Mostrar campos adicionales al seleccionar una Categoría o Usuario.
  • Hacer que un campo sea obligatorio si se selecciona una Urgencia.
  • Hacer que un campo Ubicación sea editable si se selecciona la casilla de verificación Fuera de la oficina.

Las ventanas dinámicas solo están disponibles para Web Access y Ivanti Workspaces. Se diseñan mediante el uso de cálculos que se agregan a atributos en el Diseñador de objetos. Se han agregado nuevas Funciones de ventana al Editor de cálculos, y están disponibles para los Cálculos de ventana. Más adelante encontrará cálculos de ejemplo (consulte Ejemplos de cálculos de ventana). También están disponibles en el sitio web de la comunidad Ivanti.

Para obtener más información sobre cómo crear procesos y utilizar el Editor de cálculos, consulte Cálculos.

Las funciones de ventana son:

:SetHidden(atributo, Verdadero/Falso) (Muestra y oculta los atributos.)

:SetMandatory(atributo, Verdadero/Falso) (Hace que los atributos sean obligatorios o no obligatorios.)

:SetReadOnly(atributo, Verdadero/Falso) (Hace que los atributos sean de solo lectura o editables.)

(Atributo es el nombre del campo en el que se desea aplicar la función.)

Si todos los campos de un cuadro de grupo se ocultan, el cuadro de grupo también queda oculto. Si uno de los campos de un cuadro de grupo se hace visible, el cuadro de grupo también se hace visible.

Los atributos que están configurados como obligatorios en el nivel objeto del Diseñador de objetos no se pueden cambiar a no obligatorios mediante una función de ventana.

Estos cálculos solo existen para Web Access y Ivanti workspaces. No están disponibles para manipular las ventanas de la consola.

Planificación del diseño de ventanas

Los cálculos que controlan estas propiedades de las ventanas requieren que se agreguen tres atributos:

  • El atributo desencadenador: es el que provoca la ejecución del cálculo al realizar algún cambio. Este atributo debe tener la propiedad Es calcular al cambiar con valor Verdadero en el Administrador de ventanas. También hay que agregarlo al panel Dependencias del Editor de cálculos.
  • El atributo objetivo: es el que cambia como resultado del cálculo.
  • El atributo de cálculo: es el atributo de cadena del objeto de la ventana que almacena el cálculo.

Para identificar los atributos objetivo y desencadenador en los cálculos de ventana, es útil escribir un enunciado de requisitos de cálculo de la forma siguiente:

Cuando <campo desencadenador> recibe el valor <valor>, se cambiará la <propiedad> del campo <campo objetivo> a <verdadero/falso>.

Por ejemplo, si se desea que el campo CI aparezca cuando la Categoría de una incidencia sea Hardware, se escribe así:

Cuando Categoría recibe el valor Hardware, se cambiará la propiedad Oculto del campo CI a falso.

De esta manera, se puede identificar que el atributo desencadenador es Categoría, el atributo objetivo es CI y la Función de ventana que se desea utilizar es :SetHidden(,). Se debe establecer el valor de :SetHidden(,) como falso puesto que no se desea que el campo CI esté oculto.

Los atributos objetivo que se pueden actualizar dinámicamente son:

  • controles de fecha y hora,
  • listas desplegables,
  • listas de categorías.
  • campos de texto y numéricos.

Los cálculos se pueden desencadenar cambiando:

  • controles selectores de fecha,
  • controles booleanos (casillas de verificación y listas desplegables),
  • listas desplegables,
  • listas de categorías.

Aunque estos atributos tienen que estar en la ventana, pueden ocultarse si fuera necesario dando a la propiedad Mostrar en ventana el valor Falso desde el Administrador de ventanas. Puede ser de gran ayuda tener el atributo de cálculo a la vista durante el diseño de ventanas dinámicas para ayudar a escribir y depurar los cálculos para, a continuación, ocultarlo cuando la ventana se pone en producción.

Existen reglas sobre el uso de los cálculos de ventana. En el diseño de una sola ventana, es posible utilizar:

  • Muchos atributos de cálculo que actualicen distintos atributos objetivo.
  • Un cálculo con un atributo desencadenador que actualice muchos atributos objetivo.
  • Un cálculo con muchos atributos desencadenadores que actualicen distintos atributos objetivo,

Sin embargo, no se debe utilizar:

  • Muchos atributos de cálculo que actualicen el mismo atributo objetivo.

Si se siguen estas reglas, no es necesario leer la justificación que se ofrece más adelante. Todos los cálculos de ventana se realizan cuando se abre la ventana y cuando cambia el atributo desencadenador. Así se garantiza que al abrir la ventana aparezca con el aspecto apropiado en función de los valores que se muestren. Sin embargo, no es posible controlar el orden en que se ejecutan los cálculos al abrirse la ventana. Es necesario comprobar que cada atributo objetivo se actualice solo mediante un cálculo. En caso contrario los resultados serán impredecibles cuando se abra la ventana. Es posible crear cálculos que utilicen más de un atributo de origen para calcular un único atributo objetivo. También se puede crear un cálculo que actualice más de un objetivo. Sin embargo, no debe diseñar una ventana que contenga más de un cálculo para cada atributo objetivo.