Esta es una técnica muy interesante que facilita la búsqueda dentro de un determinado found set. Es bastante habitual «aterrizar» en una presentación vía GTRR, lo cual nos da como resultado un determinado found set. Por ejemplo. si estamos en una Empresa A y queremos ver las personas de esa empresa utilizaríamos el paso de guión GTRR para establecer el found set objetivo. Ahora bien, una vez tenemos la lista de las personas de la Empresa A, lo más habitual, es que necesitemos realizar búsquedas dentro de ese found set – recordemos que para buscar dentro de un found set, tenemos que utilizar el paso de guión Constrain Found Set en lugar del Perform Find, que nos buscaría en todos los registros de la tabla -. Realizar un Constrain Found Set, obviamente nos va a modificar el found set. Ahí se nos plantea un problema. ¿Cómo restablecemos el found set original cuando dejemos vacía la search box?

Hay dos soluciones para resolver este problema:

1. Regenerando el found set

Cuando queremos restablecer el found set original (al dejar la search box vacía), cambiaremos a la presentación desde la cual habíamos lanzado el GTRR desde un botón. Puesto que FileMaker recuerda para cada presentación el found sety el registro activo, nos quedaremos en el mismo registro desde el que habíamos lanzado el GTRR. Ahora lanzamos de nuevo el GTRR pero desde guión (no desde un botón). Con ello volveremos a «aterrizar» en la presentación en la que estábamos con el found set inicial.

Las tablas ocurrencias implicadas son:

El guión asociado al botón de ver las personas de la empresa:

El guión asociado al search box:

2. Guardando el found set

Esta solución introduce una técnica que permite «guardar» el found set en una presentación basada en una tabla ocurrencia distinta pero, obviamente, con la misma tabla base.

Recordemos que FileMaker guarda para cada tabla ocurrencia (TO) que ha pasado por una ventana, su found set y el registro activo.

Siempre que volvamos a una presentación basada en esa tabla ocurrencia en la misma ventana recuperaremos el found set y estaremos en el mismo registro activo.

Lo que hacemos en esta técnica es una vez generado el found set mediante el GTRR, lo vamos a guardar. De este modo cuando necesitemos recuperarlo, no tendremos que regresar a la presentación padre y regenerarlo (tal y como hacíamos en el método 1). Para guardarlo vamos a hacer que aparezca en la ventana una presentación basada en una tabla ocurrencia distinta a la de destino pero, obviamente, basada en la misma tabla base. Es decir, si estamos en la Empresa A y utilizamos un GTRR para ver las personas, necesitamos que por la ventana pase una presentación basada en una tabla ocurrencia de la tabla base personas, pero que no sea la misma en la que se basa la presentación destino en la que veremos la lista de las personas de la empresa A. Por lo tanto, necesitamos una tabla ocurrencia y una presentación auxiliar. Para hacer que aparezca esa presentación utilizaremos un paso de guión GTRR con la presentación destino la auxiliar.

A nivel de funcionalidad es exactamente igual que el ejemplo anterior, por lo que omite el vídeo.

Tenemos una tabla ocurrencia y una presentación auxiliar:

El guión asociado al botón de ver las personas de la empresa:

 

El guión asociado al search box:

 

 

Feliz FileMaking 🙂