Language:


- Búsqueda de Objetos, Clasificaciones de Ítem y Contactos

Puedes utilizar el método estándar (ver aquí) para establecer búsquedas en casi todos los campos de la ventana de especificación. Las tres excepciones a esto son las búsquedas de Objetos, Clasificaciones de Ítem y Clasificaciones de Contacto puesto que estos tres campos pueden contener varios datos separados por comas. Por ejemplo, un Contacto podría pertenecer a las Clasificaciones A, B y C en cuyo caso su campo de Clasificación contendrá “A,B,C”. El método estándar de búsqueda no permite correr la búsqueda de un Contacto con varias Clasificaciones ya que solo recae sobre campos que coinciden exactamente con lo ingresado en la ventana de especificación.

Si necesitas correr búsquedas en el campo Objeto, Clasificación de Ítem o Clasificación de Contacto, debes realizar un procedimiento diferente. En esta página describiremos cómo colocar una variable de Clasificación en la ventana de especificación del informe para de este modo activar la búsqueda de Contactos que pertenezcan a una Clasificación particular o Clasificaciones:

  1. Vuelve a la ventana de definición del informe y abre la solapa ‘Entrada’.

  2. Haz clic en el botón [Campo] para abrir la ventana de diálogo ‘Campo de Entrada’. Aquí podrás colocar una variable que se utilizará en la ventana de especificación para especificar aquello sobre lo cual se desea correr la búsqueda:

    Etiqueta
    Carga aquí un nombre para la variable el cuál se verá en la ventana de especificación. La Etiqueta debe indicarle al usuario qué dato debe ingresar dentro de la variable respectiva.

    Nombre Variable
    Carga aquí un nombre para la variable el cual representará el criterio de búsqueda (aquello sobre lo cual se desea correr la búsqueda). Debes incluir al menos un carácter alfa y no debes usar espacios o signos de puntuación inusuales. Puedes utilizar un guión bajo _ en lugar de espacios. Idealmente, el nombre de la variable debe indicar el propósito de esa variable.

    Tipo
    Pegado Especial    Tipos de Variables
    Especifica aquí el tipo de variable. Este dato determinará el tipo de información que irá contenida en la variable.

    En nuestro ejemplo, la variable contendrá la Clasificación que desea ser encontrada por el ejecutor del informe. Por esta razón, debe ser una variable de tipo “string”.

    Para tener una lista de los diferentes tipos de variables, por favor revisa la página Tipos de Campo y Variable.

    Valor Inicial
    Si deseas que se coloque un dato por defecto en la variable cuando la ventana de especificación se abra, especifica tal dato aquí.

    Pegar Registro
    Pegado Especial    Registros en HansaWorld Enterprise
    Si deseas que la persona que ejecute el informe pueda usar la funcionalidad Pegado Especial para extraer un dato hacia la variable, debes especificar aquí el registros cuyo contenido ha de aparecer en la lista Pegado Especial.

    Toma en cuenta que podría resultar mejor especificar aquí un bloque en lugar de un registro. Aunque los Bloques no están incluidos en la lista Pegado Especial que se despliega desde este campo, puedes abrir una selección de bloques interesantes pulsando el botón [Pegar Ventana]. Los bloques de esta lista son los siguientes:
    PerSClass
    opción Periodos de Informe

    VATCodeSClass
    opción Cód. IVA

    PasteCurDate
    ventana 'Pegar Fecha'

    LandSClass
    opción Idiomas

    PMSClass
    opción Formas de Pago
    Por ejemplo, si deseas que haya la posibilidad de seleccionar un Código IVA como criterio de informe, haz clic en el botón [Pegar Ventana] y selecciona "VATCodeSClass".

    Ancho
    Debes especificar aquí (en píxeles) la anchura que tendrá la variable en la ventana de especificación. Idealmente, la anchura de la variable deberá depender de la cantidad de caracteres que se ingresarán dentro de su espacio. Por defecto se carga -1 lo cual significa que la variable ocupará toda la anchura de la ventana de especificación (ver ilustración).

    h, v
    Estos dos campos sirven para especificar la posición de la variable en la ventana de especificación. Debes cargar coordinadas (en píxeles) para la esquina superior izquierda de la variable (no para la etiqueta): “h” (horizontal) se refiere a la distancia desde el borde izquierdo de la ventana de especificación, mientras que “v” (vertical) se refiere a la distancia desde el borde superior. Como verás, se ofrecen respectivamente dimensiones por defecto las cuales asumen el espacio vertical estándar de Hansa (20 píxeles entre variables).

  3. Una vez hayas cargado los datos correctos en la ventana de diálogo ‘Campo de Entrada’, haz clic en [OK]. De esta manera, la variable se agregará y podrás verla en la solapa ‘Entrada’ respetando la posición especificada en los campo ???h’ y ‘v’. De manera preliminar la solapa ???Entrada’ te muestra cómo la nueva variable afectará la apariencia de la ventana de especificación:

  1. Has insertado las variables vsCategory y vsCustNo en la ventana de especificación usando la ventana de diálogo ‘Selección’ (según lo descrito aquí). Básicamente, la ventana de diálogo ‘Selección’ ha servido tanto para insertar variables y para especificar la búsqueda que se efectuará cuando se ingrese un dato dentro de tales variables.

    Por su parte, la ventana de diálogo ‘Campo de Entrada’ solo inserta una variable en en la ventana de especificación pero no especifica qué pasará cuando algún dato ingrese en tal variable. Por tanto en este último caso, deberás especificar personalmente lo que sucederá cuando se cargue un dato dentro de la variable. En este sentido, necesitas especificar que si la variable vsClass contiene un dato, se correrá una búsqueda de todos aquellos Contactos cuyos campos de Clasificación contenga un dato igual o parcialmente semejante a los contenidos vinculados a la variable vsClass. Recuerda que la búsqueda automática de Contactos donde el CUType es 1, obviará todos aquellos Contactos que no sean Clientes.

    Ve a la solapa ‘Data’ y haz clic sobre la franja llamada “Registro: Contactos…” para especificar la búsqueda que ha de ejecutarse en el registro Contactos y luego haz clic en el botón [Imprimir Si]. De esta manera, se abrirá la ventana de diálogo ‘Imprimir Si’:

  2. Ingresa una Condición así:

    SetInSet se refiere a una función dentro de HansaWorld Enterprise la cual detecta campos que coinciden parcial o totalmente con el criterio de búsqueda. Esta función emplea dos parámetros (en los corchetes separados por comas) de la siguiente manera:

    1. la variable (inscrita en el paso 2) la cual contiene los criterio de búsqueda (vsClass en el ejemplo); y

    2. el campo que constituye el sujeto de búsqueda (vrContact.Classification en el ejemplo). Esta es una expresión que se refiere al campo Clasificación en el registro Contactos. Es una expresión en dos partes: la primer parte ("vrContact") es el nombre de la variable que contiene el registro Contactos. Este nombre fue dado a la variable en la ventana de diálogo ‘Registro’ (ver página Cómo especificar un Registro Primario). La segunda parte ("Classification") es el nombre interno del campo Clasificación en el registro Contactos. Como ves, las dos parte están separadas por un punto. Por lo tanto, la expresión "vrContact.Classification" significa “campo clasificación en registro Contactos”. Toma en cuenta que esta expresión respeta el uso de mayúsculas y minúsculas. No podrás referirte directamente al registro Contactos sino que deberás usar la variable vrContact.

    En nuestro ejemplo, la nomenclatura completa a la que se refiere la función SetInSet es:
    SetInSet(vsClass,vrContact.Classification)
  3. Cuando pulses [OK], se agregará una franja o línea conteniendo la condición que has especificado:

    Aparentemente para la persona que produzca el informe, no habrá diferencia entre vsClass y las otras dos variables:

    Cuando abras la ventana de especificación, si presionas la tecla Tab algunas veces, el cursor recorrerá las distintas variables siguiendo el orden que has especificado en la solapa ‘Data’. Notarás que las franjas “Imprimir Si:” siempre van debajo de las franjas “Selección:”. Es por esto que se recomienda colocar variables (en la ventana de especificación) usando el botón [Campo de Entrada] de tal modo que se posicionen por debajo de aquellas variables insertadas usando el botón [Selección] (como en la anterior ilustración).
También te verás obligado a utilizar “SetInSet” en un informe que conforme un listado de Actividades donde la búsqueda recaiga sobre una Persona o Cc.

Nosotros hemos usado “SetInSet” para dejar que el ejecutor del informe obtenga un informe después de especificar un rango de Clasificaciones de Contacto separadas por comas. Por ejemplo, si el ejecutor del informe especificó "1,2", el informe mostrará Contactos con las Clasificaciones "1,2" y "1,2,3" pero omitirá aquellos Contactos con Clasificación "1" y aquellos con Clasificación "2".

Una alternativa ofrecida para lo descrito anteriormente, es “SetInSet2”. Esta acción brindará flexibilidad extra al correr la búsqueda de Clasificaciones de Contacto. Así:

1,2
Listará Contactos con Clasificaciones 1 y 2 (incluyendo Contactos con Clasificaciones 1, 2 y 3). Esto también es posible con “SetInSet”.

1+2
Listará Contactos con Clasificaciones 1 o 2.

!2
Listará todos los Contactos excepto aquellos con Clasificación 2.

1,!2
Listará Contactos con Clasificación 1 y excluirá aquellos con Clasificación 2 (es decir que los Contactos con Clasificaciones 1 y 2 no aparecerán). Notemos el uso de la coma antes del signo de exclamación.

!1,!2
Listará todos los Contactos excepto aquellos con Clasificación 1 o 2 o ambas. Nuevamente, notemos el uso de la coma.

!(1,2)
Listará todos los Contactos excepto aquellos con Clasificaciones 1 y 2 (es decir que los Contactos con Clasificaciones 1, 2 y 3 no aparecerán).

!1+2
Listará Contactos sin la Clasificación 1 y aquellos con la Clasificación 2 (es decir que los Contactos con Clasificación 1 y 2 aparecerán).

(1,2)+(3,4)
Listará Contactos con Clasificaciones 1 y 2 y aquellos con Clasificaciones 3 y 4.
Por favor, haz clic en los vínculos correspondientes para conocer más sobre: