Optimizando rejillas
Publicado por Nacho en 2 mayo 2011
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.


Pepeto's blog » Blog Archive » Guia V7: proyectos de aplicación escribió
[...] Optimizando rejillas (NachoV7) [...]
Pepeto's blog » Blog Archive » Consejos para mejorar el desarrollo en la nube escribió
[...] Para el punto nº 6, tenemos otro ejemplo perfecto y origen de una buena técnica de progamación en el blog de nuestro amigo Nacho: Optimizando rejillas [...]