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
FileMaker Go
FileMaker WebDirect
FileMaker Server
FileMaker Cloud
FileMaker Data API
Publicación en la Web personalizada

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:

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.

Copiar
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.

Copiar
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