Manejando búsquedas

En el artículo anterior, explicabamos como hacer una búsqueda clásica de v6, mediante variables locales, aprovechando que la v7 recoge de forma automática las variables locales del formulario que tiene asociado, si estas existen también en la búsqueda.

Bien, ahora vamos a independizar el formulario de la tabla, y por tanto también de la búsqueda. Antes teníamos un formulario PAI_BUS (con origen la tabla PAI)  y una búsqueda PAI_BUS con el formulario anterior asociado.

Ahora copiamos el mismo formulario anterior, pero le quitamos la tabla, dejándolo como un formulario sin origen (BUS_VAR), como todos los datos que pedíamos eran de variables locales, funcionará sin errores. Copiamos también la búsqueda a PAI_BUS_VAR, quitándole el formulario asociado.

Ahora crearemos un proceso sin origen, y con destino lista de la tabla PAI.

En este proceso, primero debemos llamar al formulario sin origen, para pedir las variables, y a continuación pasarle las variables a la búsqueda y ejecutarla. Todo esto se consigue gracias a las instrucciones de manejo de objetos.

En el proceso crearemos las mismas variables locales que habíamos creado en el formulario y la búsqueda

Propiedades del proceso

Sigue leyendo

Anuncios

Búsquedas con variables locales

Uno de los grandes cambios entre v6 y v7 son las variables. En la v6 casi todo pasaba por variables en memoria globales, y ahora en la v7 son las variables locales las grandes protagonistas.

Hasta el punto de no recomendar el uso de variables globales, salvo casos muy claros. Esta variables locales, han pasado a ser la forma natural y limpia de conectar valores entre procesos y objetos. Hoy vamos a explicar su uso con las búsquedas.

En las búsquedas se pueden definir variables locales, pero lo primero que nos preguntamos es ¿como les damos valor?.

Bien el caso más habitual es que la búsqueda tenga asociado un formulario, y resulta que todas las variables locales que tenga ese formulario, si coinciden en nombre con variables locales de la búsqueda su valor es enviado a ella. Por lo tanto lo único que tenemos que hacer es crear un formulario con variables locales del mismo nombre.

Vamos a desarrollar el ejemplo: Tenemos una tabla con los índices clásicos:

– ID.- Código

– NAME.- Alfabético

– WORDS.- Palabras

– PARTS.- Trozos

– MOD_TIM.- Fecha de modificación

y queremos hacer una búsqueda que no permita utilizar cualquiera de esos índices. En la búsqueda definimos las siguientes variables locales:

– ID.- Numérica, y nos permitirá buscar un código determinado

– NOM.- Alfabético, texto a buscar por los índices NAME, WORDS o PARTS.

– BUS_TIP.- Alfabético. Esta variable recibirá el tipo de búsqueda a realizar con el texto recibido en NOM. Vamos a permitir 4 tipos (A.- alfabético, P.- todas las palabras, G.- alguna palabra, T.- trozos)

– FCH_ON.- Booleana. Índica que queremos buscar por la fecha de modificación.

– FCH_DES.- Fecha. Fecha desde la que buscar

– FCH_HST.- Fecha. Fecha hasta

Sigue leyendo