Language:


- Búsquedas Controladas por Radio Botones

Puedes crear Radio Botones para ofrecer algunas alternativas de búsqueda que no son compatibles entre sí. En este apartado, diseñaremos una Lista de Contactos cuya ventana de especificación tendrá tres radio botones que ofrecerán filtrar el informe por: 1) Solo Contactos con Nro. Fax, 2) Solo Contactos sin Nro. Fax y 3) Contactos con o sin Nro. Fax. Estos tres radio botones controlarán una única variable llamada rFax. El valor de rFax variará dependiendo del radio botón activado y se correrá una búsqueda diferente para cada alternativa (dependiendo del valor de rFax). El procedimiento es el siguiente:
  1. Crea un nuevo informe. Estando en la solapa ‘Data’, especifica que el registro Contactos ha de ser tu registro primario. Ve a la solapa ‘Diseño’ y diseña la diagramación de tu informe (según tus requerimientos).

  2. Pasa a la solapa ‘Entrada’ y haz clic en botón [Radio Button] para abrir la ventana de diálogo ‘Radio Button’:

    Etiqueta
    Ingresa aquí el nombre que llevará el radio botón tratando de usar un nombre que indique claramente su propósito.

    Nombre Variable
    Ingresa un nombre para la variable que estará controlada por el radio botón. Deberás incluir al menos un carácter alfa y no deberás usar ningún espacio ni signos de puntuación. Podrás usar un guión bajo en lugar de espacios. Lo ideal es que el nombre de la variable refleje su propósito.

    La variable especificada será configurada según el valor indicado en el campo ‘Valor’ (más abajo) si el usuario produce el informe habiendo seleccionado la alternativa respectiva.

    Deberás usar el mismo nombre de la variable para cada radio botón de un mismo grupo. En otras palabras, un radio botón con un nombre de variable diferente pertenece por definición a otro grupo.

    Valor
    Debes especificar aquí el valor que será asignado a la variable cuando el radio botón sea activado. La variable es de tipo “integer” de modo que deberás ingresar un número entero. Lo habitual será asignar 0 (cero) a la variable en función al primer radio botón del grupo, 1 al segundo radio botón y así sucesivamente. Cerciórate de no asignar un mismo valor a más de un radio botón puesto que esto ocasionaría que el informe no se producido y/o falle cuando presiones el botón [Check].

    Por Defecto
    Tilda esta casilla para hacer que el radio botón creado aparezca activado por defecto en la ventana de especificación. Si decides no usar el radio botón por defecto, entonces se usará aquel cuyo valor es 0. Cerciórate de no elegir más de un radio botón por defecto (dentro de un mismo grupo) puesto que esto ocasionaría que el informe no sea producido y/o falle cuando presiones el botón [Check].

    Ancho
    Este campo no se utiliza en radio botones.

    h, v
    Estos dos campos sirven para especificar dónde será colocado el radio botón dentro de la ventana de especificación. Por tanto, debes ingresar las coordenadas (en píxeles) en función a la esquina superior izquierda del radio botón (no de la etiqueta): “h” (horizonal) se refiere a la distancia desde el borde izquierdo de la ventana de especificación; “v” se refiere a la distancia desde el borde superior. El sistema te ofrecerá coordenadas por defecto las cuales asumen el espacio vertical estándar de HansaWorld Enterprise (20 píxeles) entre cada radio botón.

  3. Haz clic en [OK] para cerrar la ventana y visualizar el radio botón que has creado en la ventana de edición de tu informe. Así es como se verá la ventana de especificación de la Lista de Contactos que estás diseñando:

    El hecho de incluir un radio botón de esta manera tiene el efecto de “declarar” la variable y por ende no habrá necesidad de hacerlo en la solapa ‘Data’.
  1. Repite los pasos 2 y 3 para agregar dos radio botones más referentes a: Solo Contactos sin Nro. Fax y Contactos con o sin Nro. Fax. Recuerda usar el mismo nombre de variable que usaste para el primer radio botón creado; si quieres puedes decidir que uno de ellos sea el radio botón por defecto (si no lo hiciste en el primer radio botón). Se recomienda que estos dos radio botones impongan un valor a la variable usando las cifras 1 y 2 respectivamente.

  1. Hasta aquí, hemos logrado que los radio botones sean visibles en la ventana de especificación, ahora deberás especificar qué sucederá cuando el usuario seleccione cada uno de ellos. En nuestro ejemplo, si el usuario selecciona el primer radio botón y por ende coloca el valor de la variable en 0 (cero), se deberá correr una búsqueda de los Contactos que no tienen Nro. de Fax. Si el usuario selecciona el segundo radio botón, el valor de la variable será 1 y se correrá una búsqueda de los Contactos que tengan un Nro. de Fax. De lo contrario, no habrá necesidad de correr ninguna búsqueda y el informe mostrará Contactos con y sin Nro. de Fax.

    Ve a la solapa ‘Data’ y haz clic sobre la franja llamada "Register: Contactos..." para especificar que la búsqueda se correrá sobre el registro Contactos. Luego, haz clic en el botón [Imprimir Si].

  2. Ingresa una fórmula en la ventana de diálogo ‘Imprimir Si’ (la fórmula visible en la siguiente ilustración – notarás la fórmula completa):

    La fórmula es:
    (rFax==0 y !blank(vrContact.Fax)) o (rFax==1 y blank(vrContact.Fax)) o (rFax==2)
    Esto indica que si la variable rFax está con valor 0, se correrá una búsqueda de los Contactos que tengan Nro. de Fax. Si la variable rFax está con valor 1, se correrá una búsqueda de los Contactos que no tengan Nro. de Fax. Si la variable rFax está con valor 2, no se realizará ninguna búsqueda. Cabe resaltar que es necesario testear esto para ver si rFax ha sido configurada en 2 (aunque el sistema no realice ningún proceso en este caso).
  1. Haz clic en el botón [OK] para agregar la Selección a la sección “Register: Contactos…” (Ver anterior ilustración).

    Así los tres radio botones estarán disponibles en la ventana de especificación para ser seleccionados y correr la búsqueda respectiva (radio botones 1 y 2).

Por favor, haz clic en los siguientes subtítulos para ver la descripción detallada sobre: