Optimizando rejillas

A la hora de presentar una rejilla con datos en un formulario, se utiliza un “control objeto” sincronizador. Este tiene como entrada origen la ficha de la tabla del formulario y como salida una lista de la tabla destino

Si, por ejemplo, queremos cargar las líneas de un albarán haríamos un proceso con origen ficha del albarán y salida lista de las líneas. En su interior tendría:

Cargar plurales

Añadir lista a la salida

El problema que surge, es cuando en un formulario queremos cargar rejillas que pueden contener muchos registros, y seguro que no siempre los necesitamos todos. Como por ejemplo todos los albaranes de un cliente, todos los movimientos de almacén de un artículo,…..

En estos casos podemos usar un sistema mediante el cual por defecto se carguen vacias, alimentandolas mediante un evento cuando se necesite.

Vamos a desarrollar un ejemplo:

1.- Creamos el procesos sincronizador, pero no escribimos ninguna línea en él (es decir estará vacio)

2.- Creamos unas variables locales en el formulario principal para establecer las condiciones

Por ejemplo variables Desde/hasta fecha (FCH_DES, FCH_HST, FCH_ON), y variables para poder buscar por trozos, palabras,… (NAME, BUS_TIP)

3.- Ponemos en el formulario esas variables y un botón para buscar

4.- Creamos una búsqueda por variables (ver el artículo “búsqueda con variables locales”...)

5.- Ponemos un botón para buscar y lo asociamos a un evento que realiza la búsqueda en 3º plano (con lo que optimizamos más todavía)

6.- El evento tendrá lo siguiente:

De esta forma optimizamos al máximo.

Sobre esta idea se pueden hacer muchas variantes. Desde alimentar la rejilla sin condiciones (es decir que la búsqueda retorne todos los registros que retornaría con el sistema clásico), hasta que en el evento llame a una búsqueda con formulario para establecer las condiciones.

Anuncios

2 comentarios en “Optimizando rejillas

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s