Loop
Repite un conjunto de pasos de guión para realizar procesos por lotes.
Temas relacionados
Opciones
Flush especifica cuándo borrar las relaciones en caché y actualizar las dependencias mientras está en el bucle:
-
Siempre: para cada paso del bucle que modifica los datos, siempre vacía todas las relaciones en caché y actualiza todas las dependencias. Esta es la opción predeterminada y garantiza que los datos relacionados estén disponibles como se esperaba.
-
Mínimo: para cada paso del bucle que modifique los datos, vacía las relaciones almacenadas en caché y actualiza las relaciones de los datos relacionados que estén a solo una relación de distancia de la ocurrencia de la tabla actual.
-
Aplazar: cuando se inicia el bucle, utiliza las relaciones y los datos almacenados actualmente en caché. Espere hasta que el bucle salga para borrar las relaciones almacenadas en caché y actualizar las dependencias.
Compatibilidad
Producto | Compatible |
FileMaker Pro | Sí |
FileMaker Go | Sí |
FileMaker WebDirect | Sí |
FileMaker Server | Sí |
FileMaker Cloud | Sí |
FileMaker Data API | Sí |
Publicación en la Web personalizada | Sí |
Se origina en
6.0 o anterior
Descripción
Por ejemplo, utilice Loop para exportar el contenido de todos los registros de un conjunto encontrado de un campo contenedor. Este paso de guión y el paso de guión End Loop marcan el comienzo y el final de una estructura repetitiva de pasos de guión. El guión ejecuta los pasos de guión situados dentro de la estructura de bucle hasta que se encuentra uno de los siguientes elementos:
- un paso de guión Exit Loop If
- un paso de guión Ir al registro/petición/página o un paso de guión Ir a la fila del portal si se selecciona la opción Salir después del último
Cada paso Loop debe tener el correspondiente paso End Loop en algún lugar posterior al paso Loop y con el mismo sangrado. Cada vez que utilice un paso de guión Loop, el panel de edición de guiones introducirá automáticamente un paso End Loop.
Notas
-
El cambio de la opción Flush depende del diseño de su base de datos. En general, si su bucle no modifica datos que afecten a las relaciones, entonces la opción Aplazar puede ser la más rápida. Sin embargo, si modifica dichos datos y estos se encuentran a una sola relación de distancia, pruebe la opción Mínimo. De lo contrario, deje la opción Siempre. Para obtener más información, consulte esta publicación del blog de Claris Engineering.
Ejemplo 1
Copia el contenido de Clientes::Teléfono del trabajo a Cliente::Contacto diario en todos los registros.
Ir al registro/petición/página [Primero]
Loop [ Flush: Siempre ]
Establecer campo [Clientes::Contacto diario; Clientes::Teléfono del trabajo]
Ir al registro/petición/página [Siguiente; Salir después del último: Activo]
End Loop
Ejemplo 2
Se desplaza por los registros para exportar los archivos que se encuentran en el campo contenedor.
Establecer variable [$RUTA; Valor: Get ( DocumentsPath ) & Productos::Contenedor]
Ir a registro/petición/página [Primero]
Loop [ Flush: Siempre ]
Exportar contenido del campo [Productos::Contenedor; "$RUTA" ; Crear carpetas: Inactivo]
Ir al registro/petición/página [Siguiente; Salir después del último: Activo]
End Loop