Cargar Vista de Datos desde evento de formulario


([N4] info) #1

Hola a Todos:

Yo creo que ya mas de uno sabreis mejor que yo como podemos utilizar los eventos del formulario
para manejar las vistas de datos.

No se realmente en este momento, si al final esto es más laborioso que hacerlo directamente desde procesos
pero a lo mejor en "ALGUNA OCASION" puede ser de utilidad, por si acaso lo pongo y me dais vuestra opinión.

El asunto esta entonces en tener en un formulario con o sin origen, una o varias rejillas de la misma o distintas tablas, alimentadas
por una vista de datos y que lo que se carge en las listas no provenga de un proceso sino de eventos en el formualrio.

A nivel general se podría hacer lo siguiente:

1. Creo una tabla que uso para cualquier cosa, ni siquiera tiene que tener datos, vamos a llamarla Dummy
(en honor a mi amigo Fran que le gustaba y me imagino que sigue utilizando el nombre, UN SALUDO FRAN)
2. Ahora necesitamos un SOLO proceso VDDES_TABLAYY con destino salida de lista por cada una de las tablas que queramos ver en una vista de datos
y origen Lista de la tabla Dummy. Es decir este proceso me valdrá para todas las vistas de datos con salida la lista de esa tabla.
3. Tambien necesitamos un SOLO proceso VDORI_TABLAXX con origen el de la tabla o ninguno, del formulario desde donde queremos ver la lista de datos
y destino Lista de la tabla Dummy. Es decir este me valdrá para cualquier formulario/objeto cuyo origen sea el de la tabla o ninguno si no tiene origen.

4. Ahora pongo en el formulario una vista de datos, como primer objeto pongo VDOORI_TABLAXX, que tiene origen el de la tabla y destino la lista de Dummy
5. Ahora como segundo objeto pongo VDDES_TABLAYY, que tiene origen lista de Dymmy y destino la lista de la tabla YY
6. como tercer objeto la rejilla de la tabla YY

Nota: podemos hacer que en el proceso (2) VDDES_TABLAYY se cargue toda la rejilla o mejor nada, para elo cargamos por ID y resolvemos con "zz" por ejemplo.

Cuando lancemos el formualario apareceran las rejillas vacias.

ahora creamos el siguiente evento:

Cesta:Crear cesta local (TABLAYY@DATA, cesta1)
Cesta:Limpiar (cesta1)
Interfaz: procesar(VISTADEDATOS, Todas)
Cortar lista (0, 1)
***** Nota VISTADEDATOS es el nombre del control vista de datos en el formulario, aunque parece obvio para que quede claro
Cargar lista (TABLAYY@DATA,ID...)
Cesta: Agregar Lista a la cesta (cesta1)
***** Aqui añadimos toda la lista de la tabla, pero se podría disparar un objeto busqueda para obtener lo que se desee.
Interfaz: procesar(VISTADEDATOS)
Cesta: Agregar a la lista en curso (cesta1)

al ejecutar este evento la vista de datos se cargará con lo que queremos desde le evento.

Nota.NO lo he probado pero creo que igual podría cruzarse. añadir lista etc...
En principio parece un poco rollo, pero en ****ALGUNA OCASION*** esto puede ser de utilidad, ya que al manejar las vista de datos desde los eventos de formulario, no necesitamos por ejemplo variables globales
para el proceso de origen normal de la vista de datos. Ademá dentro del formulario tenemos los datos que necesitamos. Y solo necesitamos un proceso por tabla origen y otro por tabla destino
y los eventos que necesitemos.

En fin no se si os valdrá para algo es una put... elucubración.

un saludo
Miguel

[attachment=19827,1582] [attachment=19827,1583] [attachment=19827,1584]a


([N1] Pepeto) #2

Muchas gracias por la aportacion, Miguel.

En realidad, claro que es valido, y funciona. Lo he usado en alguna ocasion.
Pero lo que no entiendo es la utilidad de la tabla DUMMY (otro saludo para FRAN).

un saludo
José Luis
http://www.ascsl.com


([N4] info) #3

Hola Pepeto
Lo que trato es de usar un solo proceso para cada tabla de salida y de entrada y como no puedo unirlos a traves de un proceso intermedio de origen ninguno/destino ninguno, (simplemente porque a velneo no le gusta) se meocurro hacerlo con la tabla intermedia y chutó.
un saludo
Miguel