Hola, ¿cómo podemos ayudar?

Búsquedas recientes: Tareas de SoftExpert Encuesta - Consultas de SoftExpert Encuesta - Revisar un modelo de encuesta - Incluir un grupo de preguntas

Configurar reglas en el formulario web

 

Prerrequisitos

  • Acceso al menú Registro > Formulario (FO005).
  • Formulario web previamente registrado y modelado.

 

Introducción

Las reglas son los mecanismos que hacen que el formulario muestre campos, los oculte o los haga obligatorios en diferentes situaciones. 

En las reglas, deben definirse las acciones que deben llevarse a cabo en función de la información llenada en el formulario. Las acciones permiten comparar la información que se ha introducido, cambiar las propiedades de los campos, mostrar un mensaje en la pantalla, ejecutar otra regla e incluso ejecutar un conjunto de datos para completar las variables del formulario con el resultado de esta ejecución.

Debido a las necesidades específicas de cada organización, corresponde al usuario definir y desarrollar sus fórmulas, adaptándolas a sus necesidades. Dependiendo de la complejidad de las reglas requeridas, puede ser necesario entender conceptos de lógica de programación.

 

Vea cómo se divide el área de trabajo del editor de fórmulas y aprenda a configurar algunos tipos de reglas en los formularios:

 

Área de trabajo del editor de fórmulas

Se puede acceder al editor de fórmulas de dos maneras:

Reglas generales del formulario

1. Acceda al menú Registro > Formulario (FO005).

2. Seleccione el formulario en el que desea configurar las reglas.

3. Haga clic en la flecha situada junto al botón y seleccione Editor de formulario.

4. En la barra de herramientas, haga clic en la flecha del campo Reglas y seleccione Cargar o Guardar/Finalizar.

 
 

Reglas relacionadas con un campo del formulario

1. Acceda al menú Registro > Formulario (FO005).

2. Seleccione el formulario en el que desea configurar las reglas.

3. Haga clic en la flecha situada junto al botón y seleccione Editor de formulario.

4. En el área de modelado, seleccione el campo deseado para que aparezcan sus Propiedades.

5. En la sección Reglas del campo Propiedades, seleccione el evento del formulario para el que será configurada una regla: Entrada, Salida, Modificación o Clic.

 
 

Después de acceder al área de trabajo del editor de fórmulas, la pantalla se dividirá de la siguiente manera:

A - Esta área muestra la barra de herramientas del editor de fórmulas. Los botones mostrados pueden variar, ya que pueden tener funciones específicas del componente en el que se ha accedido al editor de fórmulas.

B - Esta área muestra el área de edición. Las fórmulas o funciones se pueden escribir o seleccionar en la barra de herramientas.

C - Es el área de presentación de las fórmulas. Al introducir una función o fórmula en el área de edición, también se actualiza el área de presentación, sin embargo, en esta área, la información se muestra con su respectivo formato.

 

Configurar reglas

1. Acceda al menú Registro > Formulario (FO005).

2. Seleccione el formulario en el que desea configurar las reglas.

3. Haga clic en la flecha situada junto al botón y seleccione Editor de formulario.

4. Configure la regla deseada:

Regla para habilitar/deshabilitar campos del formulario

En un formulario, a menudo hay reglas que deshabilitan campos según la opción seleccionada. 

Un ejemplo sencillo es un conjunto de Radio buttons para identificar el estado civil (soltero/casado). En este ejemplo, al seleccionar la opción "Married" (casado) se debe habilitar el campo "Spouse name" del área "Spouse" (cónyuge). 

Para facilitar la comprensión de la regla antes de configurarla, una buena práctica consiste en escribir la fórmula (regla) de manera sencilla y resumida:

  • Cuando el usuario haga clic en el campo "Married", debe habilitarse el campo "Spouse name" en el área "Spouse". También deberá remover cualquier marcación realizada en los demás Radio buttons del área "Marital Status".

El "cuándo", de la descripción anterior, se determina por el evento de clic en el Radio button "Married". La acción de habilitar el campo "Spouse name" y de desmarcar los demás Radio buttons viene determinada por la función "ACCION". 

Haga un clic sobre la función, en el área de presentación y, en la pantalla de parámetros, seleccione todos los campos del formulario que serán modificados con hacer clic en el Radio button "Married". Utilice las columnas de la pantalla de parámetros para habilitar el campo "Spouse name" y limpiar los campos de los otros Radio buttons

Vea más detalles en la siguiente imagen:

 
 

Utilizar variables

Variables son utilizadas para guardar valores en distintos lugares de la fórmula. Un ejemplo común es buscar el valor de un campo y compararlo varias veces en la fórmula para habilitar/deshabilitar campos según un valor.

Para crear una variable, basta con escribir una letra o palabra seguida del carácter = (igual) y el valor de la variable. El valor puede ser un número (el resultado de un cálculo), un texto (en este caso, entre comillas simples) o un valor de un campo del formulario.

 
 

Utilizar condiciones (SI/SINO) para habilitar campos en función del valor de otro campo

Condiciones sirven para casos en los que se desea verificar el valor de un campo y, dependiendo del valor, habilitar algunos campos o deshabilitar/ocultar otros. 

Para habilitar/deshabilitar campos, siempre se debe usar la función ACCION. La siguiente imagen muestra un ejemplo que busca el valor de un campo y lo almacena en una variable para utilizarla en las condiciones:

A - Busca el valor del campo y lo almacena en la variable v (valor).

B - Si el valor de v es igual a 'John', es decir, si el nombre del emisor es igual a 'John', se aplicará la acción de habilitar el campo 'starttime'.

C - Si el valor de v es igual a 'Anne', es decir, si el nombre del emisor es igual a 'Anne', se aplicará la acción de que el campo 'starttime' sea de llenado obligatorio.

 

Para cada comando SI/SINO, es necesario el comando FIN. La función ACCION está asignada a una variable x, ya que al construir fórmulas es necesario que la función tenga una variable que devuelva el valor aplicado dentro de la función; en este caso, que devuelva la acción aplicada a los campos. 

Se puede también hacer DEVUELVE ACCION(...). La función VALORCAMPO utiliza 2 parámetros: identificador de la entidad e identificador del atributo de la entidad. Para facilitar las cosas, al abrir la pantalla de configuración del parámetro, el sistema ya la llena con la entidad del formulario actual.

 
 

Buscar el valor seleccionado en la lista (combobox/zoom)

La búsqueda del valor en la lista (combobox/zoom) es semejante a la búsqueda del valor en otro campo (input, etc.). Basta utilizar la función VALORLISTA en lugar de VALORCAMPO

La función VALORLISTA permite buscar el valor seleccionado que no es mostrado en la pantalla.

 Vea un ejemplo en la siguiente imagen:

La función VALORLISTA tiene 3 parámetros: identificador de la entidad, identificador de la relación (el mismo utilizado en las propiedades combobox/zoom del formulario) e identificador del atributo

Al abrir la pantalla de configuración de los parámetros de la función, el sistema completa automáticamente la entidad de origen del formulario actual. Basta seleccionar la relación y el atributo que se desee buscar.

 
 

Introducir un valor en un campo mediante una fórmula

Para llenar el valor de un campo mediante una fórmula, debe utilizar la misma función que habilita/deshabilita campos. El último parámetro puede ser una variable que contenga el valor a llenar. 

La imagen a continuación muestra un ejemplo:

 
 

Realizar cálculos con valores introducidos en el formulario

Para hacer cálculos, se utilizan funciones matemáticas: Suma, Multiplicación, etc. 

Vea más detalles a continuación:

A - Operaciones de suma.

B - Operaciones de multiplicación.

C - Operaciones de sustracción y división.

D - Por ejemplo, al dividir un número decimal, multiplica el valor decimal por 1 y luego realiza la división.

 

Las funciones SUMA y MULTIPLICACION tienen parámetros, que son los valores de la operación, separados por punto y coma (;). 

Al dividir un número decimal, se debe multiplicar el valor por 1 antes de realizar la división, ya que el sistema necesita convertir el separador ("," o ".") de los decimales a un formato único.

Toda la información de un campo incluida en las reglas a través de la función VALORCAMPO retorna a la regla como texto. Los datos deben transformarse en un número para que los cálculos se realicen correctamente. Para ello, se utiliza la función de multiplicar por 1.

 
 
 

Introducir un valor en el campo con el resultado del cálculo

Para llenar el valor del campo con el resultado del cálculo, basta con realizar el cálculo y utilizar la función ACCION para definir el valor del campo. 

La siguiente imagen muestra un ejemplo donde se multiplican dos campos y se completa el valor con el resultado en el campo total:

 
 

Introducir un valor en el campo con el nombre del usuario conectado

Para llenar el valor en el campo con el nombre del usuario conectado, se utilizará la función ACCION. El nombre del usuario conectado puede obtenerse mediante la función USUARIOCONECTADO

Vea más detalles en la siguiente imagen:

 
 

Introducir un valor en el campo con el iniciador del proceso

Para llenar el valor en el campo con el iniciador del proceso, se utilizará la función ACCION. El nombre del iniciador del proceso puede obtenerse a través de la función INICIADOR

Vea más detalles en la siguiente imagen:

Esta función solo puede comprobarse ejecutando un proceso en SoftExpert Workflow.

 
 
 

Habilitar campos del formulario según la actividad del proceso

Para habilitar campos según la actividad, primero se debe buscar el Identificador o el Nombre de la actividad a utilizar en las condiciones. Para ello, se utiliza la función ACTIVIDAD, que busca la actividad actual en la que se está visualizando el formulario.

Después, es necesario crear las condiciones (SI/SINO) y utilizar la función ACCION para habilitar/deshabilitar campos. 

La imagen a continuación muestra un ejemplo:

 
 

Utilizar la matrícula del usuario para que el sistema busque un nombre, la edad, etc.

Este ejemplo se utiliza en los casos en que el usuario ingresa la matrícula o el código y el sistema busca, en las demás entidades (tablas), el nombre, la edad, el estado civil, etc. 

Para ejecutar esta tarea, realice el siguiente procedimiento:

  • En el evento de salida del campo de matrícula, cree una fórmula.
  • En la fórmula, primero se debe buscar el valor del campo matrícula (usrregistry) y almacenar en una variable (usr_registry). Utilice la función VALORCAMPO.
  • Cree un filtro (filter) con el valor de la matrícula en la entidad que tiene los datos de nombre, edad, etc. (entidad 'E002 - Employee'). Utilice la función FILTROTABLA.
  • Busque el nombre y la edad en la entidad (E002 - Employee) utilizando el filtro creado anteriormente y almacénelos en variables ('var_nm' y 'var_age'). Utilice la función VALORCAMPOFILTRO.
  • Introduzca el nombre y la edad en los campos del formulario utilizando la función ACCION.

Vea la aplicación paso a paso en la imagen:

A - Busca la matrícula (usrregistry) llenada por el usuario en el formulario.

B - Crea un filtro en la entidad 'E002 - EMPLOYEE' por el atributo 'registryid'.

C - Busca el nombre y la edad en la entidad 'E002' utilizando el filtro.

D - Llena los campos Nombre y Edad en el formulario con el valor de las variables.

 
 

Calcular el total de la columna del grid

No es necesario que la columna se muestre en el grid, ya que se considera una columna de la tabla. 

Para calcular el valor de la columna total, se debe utilizar la función TOTALGRID. En esta función, es informada la relación, la tabla del grid (los mismos datos que en las propiedades del grid), el campo que se quiere calcular y la operación (Suma, Promedio, Máximo, Mínimo, Contador). Tras el cálculo, es posible llenar el resultado en un campo del formulario mediante la función ACCION.

A - Calcula el total de la columna (TOTALVL) del grid.

B - Llena un campo decimal con el resultado.

 
 

Deshabilitar todos los campos del Fieldset

Para aplicar acciones a todos los elementos posicionados en un FieldSet, se puede utilizar la función ACCIONGRUPO. Es necesario introducir el Identificador del FieldSet y las acciones a realizar. 

Esta opción se utiliza en los casos en que se desea ocultar o deshabilitar varias secciones del formulario. Para aplicarlo a más de un FieldSet, solo hay que repetir la línea cambiando el identificador para cada FieldSet.

 
 

Ocultar/mostrar un título o imagen

Para ocultar o mostrar campos del tipo Título o Imagen, se debe utilizar la función ACCIONITEMGRAFICO. Esta función es similar a ACCIONGRUPO

Es necesario introducir el Identificador del ítem de Título o Imagen y las acciones a realizar.

 
 

Introducir un valor en el título

Para llenar el valor del título, se utiliza la función ACCIONITEMGRAFICO. Es necesario informar la variable con el valor a ser llenado solamente en el último parámetro. 

La imagen a continuación muestra un ejemplo:

 
 

Ejemplo para calcular la edad a partir de la fecha de nacimiento

Para calcular la edad, es necesario utilizar algunas funciones del botón de fecha en la barra de herramientas. 

La imagen a continuación muestra un ejemplo:

A - Busca la fecha de nacimiento llenada en el formulario.

B - Busca la fecha de hoy utilizando la función HOY().

C - Separa las fechas en año, mes y día.

D - Calcula la edad restando el año actual del año de nacimiento

E - Verifica si el usuario ha cumplido años en el año en curso. Si no es así, disminuye la edad en un año.

F - Llena el valor del campo edad con la edad calculada.

 
 

Cálculo con campo Hora

Es posible calcular el número de horas entre dos campos del tipo Hora

La siguiente imagen muestra un ejemplo entre un campo Hora y la hora actual:

 
 

Utilizar las funciones ACCION, ACCIONGRUPO y ACCIONITEMGRAFICO en la misma fórmula

Es posible utilizar las funciones ACCION, ACCIONGRUPO y ACCIONITEMGRAFICO en combinación. Existen casos en los que solo se desea mantener un elemento habilitado en un FieldSet y el resto deshabilitado. 

Para ello, es posible deshabilitar todos los elementos del FieldSet con la función ACCIONGRUPO y, a continuación, habilitar el campo deseado con la función ACCION. La secuencia de las acciones es respetada. 

La imagen a continuación muestra un ejemplo:

A - Deshabilita todos los elementos del FieldSet.

B - Habilita únicamente el campo Total.

 
 

No está permitido guardar fórmulas que contengan alguna de las funciones obsoletas EXECUTESQL, ABRIRZOOMSQL y UPDATEGRIDZOOMSQL, ni al crear ni al editar la fórmula.

 

 

Ejemplo práctico

Un ejemplo de regla podría ser comprobar el valor de un campo y realizar acciones en otros campos. Las acciones son: habilitar, deshabilitar, marcar como requerido, no requerido, mostrar, ocultar, limpiar, cargar y aplicar valor a un campo.

En el ejemplo utilizado, se han incluido campos para aprobar la solicitud de viaje. Utilizando las reglas, es posible deshabilitar el Checkbox “No” cuando el Checkbox “Yes” está marcado y viceversa.

 

Conclusión

Es posible crear un número infinito de fórmulas para manipular los campos del formulario según sea necesario. Consulte el artículo Editor de fórmulas para obtener más detalles sobre la creación de fórmulas.


¿Le ha resultado útil este artículo?