4D v14Script del vídeo |
||
|
4D v14
Script del vídeo
Script del vídeo
En este vídeo, vamos a aprender cómo conservar una selección y a realizar funciones (unión, intersección, diferencia). Los conjuntos son una forma sencilla de intersectar las listas de registros de una misma tabla. Los conjuntos son una de las formas que puede utilizar para poner una selección en espera de modo que pueda utilizarse de nuevo más adelante. Vamos a aplicar estos principios de inmediato a la lista de intervenciones en el formulario de navegación. Podemos crear un juego de la selección actual. Vamos a crear un botón que busque todas las intervenciones que se iniciaron antes de las 9:00 a.m. Aquí está el método del botón: QUERY([Interventions];[Interventions]Intervention_Time y vamos a crear un segundo botón que nos dará todas las intervenciones que no se han realizado al 100%. Podemos programar este botón así: QUERY([Interventions];[Interventions]Progress<100) Por el momento, en el archivo que importamos, el % de avance no se especifica. Así que primero vamos a aplicar una fórmula en todas las intervenciones. Aquí tenemos una selección de 11,732 intervenciones en las que vamos a aplicar una fórmula y especificar que:
Si ahora hacemos un informe para comprobar lo que los valores de % de avance se han llenado, vemos que van de 0 a 100. Por supuesto, si hacemos clic en el primer botón y luego en el segundo, habremos perdido la selección creada durante el primer clic. CREATE SET([Interventions];"Morning_Interventions") Igualmente, aquí, luego de recuperar el conjunto de las intervenciones que no han terminado, llamamos este conjunto "Interventions_in_progress". CREATE SET([Interventions];"Interventions_in_progress") Entonces podemos comparar los conjuntos:
Podemos probar las diferentes posibilidades ejecutando el formulario de navegación. ¿Por qué? Recuerde que en el vídeo anterior, añadimos en la función Navigation_Function, al final, esta línea nos da el número de registros encontrados después de que se crea una nueva selección. vNumRecords:=Records in selection([Interventions]) Vamos a copiar este código y aplicarlo a los 2 botones de búsqueda. Luego podemos copiar esta línea de código para los otros 4 botones:
Ahora, si volvemos al formulario de navegación, tenemos:
Las intervenciones antes de las 9:00 a.m. + las intervenciones que están en un 100%, las intervenciones de las 9:00 a.m. en curso o de las 9:00 a.m. terminadas, no cambia el número que está aquí. ¿Por qué? Esto se debe a que la simple creación de un conjunto no implica su uso. Así que vamos a modificar el código y:
Y de esa manera podemos probar:
Para completar este enfoque, vamos a cerrar el formulario y lanzar nuevamente el método Navigation para verificar su funcionamiento. Podemos ver, en la lista de la izquierda, el tema "Conjuntos", que muestra la lista de los conjuntos existentes en el proceso se está rastreando. En la actualidad, no hay ninguno. Cuando el método se ejecuta:
Y luego veremos, que como el conjunto ya existe, es sólo la cantidad la que cambia. Es necesario tener en cuenta que un conjunto es sólo una lista de registros que no necesariamente es la selección actual, ya que ahora la selección actual de la tabla Interventions contiene 601 registros. Cuando pasamos al comando USE SET, la selección ahora contiene un número de registros que coinciden con el número indicado en el conjunto y la variable vNumRecords también se adaptará en consecuencia. Otro uso de los conjuntos que es muy conveniente consiste en seleccionar un cierto número de registros y a continuación indicar que queremos volverlos la selección actual, es decir, que cuando hagamos clic en el botón, haya sólo estos X registros. Para ello, debemos:
El código es el siguiente: $SetName:="Userset_"+String(Milliseconds) En otras palabras, vamos a:
Podemos probar:
En este nivel, tenemos:
En nuestro array, ahora tenemos la lista de registros que seleccionamos. Un conjunto se compone de un bit por registro y por lo tanto no conserva el orden de clasificación. Cuando sea necesario conservar esta información, debe utilizar comandos relacionados con las selecciones temporales: Aquí vamos a agregar un botón que nos permite:
Ahora tenemos la posibilidad de almacenar dos selecciones que tendrán en cuenta el orden de clasificación. Las selecciones existen en la memoria pero no se utilizarán. A continuación, vamos a:
Demos un vistazo a este ejemplo. Si tomamos todas las intervenciones:
Ahora:
|
PROPIEDADES
Producto: 4D ARTICLE USAGE
Autoformación ( 4D v13) |