> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Contraintes de recherche supplémentaires pour un élément de groupe répétitif

> Définissez des contraintes de recherche supplémentaires pour les éléments de groupe répétitif dans FlexiLayout Studio, y compris les limites de MinRepetitions et l’accès aux instances via LastFound.

La boîte de dialogue **Propriétés** d’un élément **groupe répétitif** comporte deux onglets dans lesquels vous pouvez spécifier des contraintes de recherche supplémentaires : **Advanced** et **Advanced for All Instances**. Dans l’onglet **Advanced**, vous pouvez spécifier des contraintes de recherche supplémentaires pour des instances individuelles du groupe. Dans l’onglet **Advanced for All Instances**, vous pouvez spécifier des contraintes de recherche supplémentaires pour toutes les instances du groupe.

<div id="advanced-and-advanced-for-all-instances-tabs">
  ## Onglets Advanced et Advanced for All Instances
</div>

Pour ouvrir la boîte de dialogue **Propriétés**, dans la fenêtre **FlexiLayout**, cliquez avec le bouton droit sur l’élément **groupe répétitif** et sélectionnez **Propriétés** dans le menu contextuel.

<Frame>
  <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Advanced_all_tab.gif?fit=max&auto=format&n=fmgRWFNHKYN2MLSg&q=85&s=083d671e1a1b714924db5aaf6a369ff9" alt="Capture d’écran de l’onglet Advanced for All Instances de la boîte de dialogue Propriétés d’un élément de groupe répétitif dans ABBYY FlexiLayout Studio." width="431" height="455" data-path="images/flexi-capture/fls/Advanced_all_tab.gif" />
</Frame>

Dans la section **Champs externes pour toutes les instances**, vous pouvez utiliser toutes les méthodes disponibles pour un élément **Group**. Par exemple, vous pouvez spécifier des relations avec des instances déjà détectées :

```text theme={null}
// Chaque instance suivante se trouve sous l'instance précédente
if SearchElements.RepeatingGroup.HasInstances then {
 Below: SearchElements.RepeatingGroup.LastFound, 0 * dot;
}
```

Dans la section **relations avancées de pré-recherche pour toutes les instances**, vous pouvez utiliser les méthodes suivantes :

* **MinRepetitions**
* **MaxRepetitions**
* **PaginalMode**
* **MinRepetitionsOnPage**
* **MaxRepetitionsOnPage**

Dans la section **Relations post-recherche**, vous pouvez fournir une estimation pour une instance particulière. Dans la section **Relations post-recherche pour toutes les instances**, vous pouvez fournir une estimation pour toutes les instances détectées.

Dans la section **Relations de pré-recherche**, vous pouvez utiliser toutes les méthodes disponibles pour un élément **Group**.

Exemple de code pour la section **Relations post-recherche** :

```text theme={null}
// Vérification des hypothèses pour les sous-éléments StaticText1 et StaticText2 dans un groupe répétitif. La dernière instance détectée est utilisée.
if StaticText1.Width() < 200dt and StaticText2.Width() < 200dt then Quality: 0.98;
```

Exemple de code pour la section **Relations post-recherche pour toutes les instances** :

```text theme={null}
if InstancesCount() < 5 and LastFound.Pages.End <= 2 then Quality: 0.98;
```

<div id="access-element-instances">
  ## Accéder aux instances d’élément
</div>

Utilisez les noms prédéfinis suivants pour accéder aux instances d’élément :

| Nom                 | Description                                                                    |
| ------------------- | ------------------------------------------------------------------------------ |
| **LastFound**       | La dernière instance détectée.                                                 |
| **CurrentInstance** | L’instance en cours lors d’une recherche à l’intérieur d’un élément répétitif. |
| **Instance(n)**     | L’instance numéro `n`.                                                         |
| **AllInstances**    | Toutes les instances.                                                          |

Vous pouvez accéder aux sous-éléments d’un **élément de groupe répétitif** même lorsqu’ils se trouvent plus bas dans l’arborescence des éléments.

Vous pouvez également utiliser les méthodes suivantes du langage FlexiLayout pour travailler avec les instances d’élément :

* **HasInstances** – Vérifie si des instances ont déjà été trouvées.
* **InstancesCount** – Renvoie le nombre d’instances détectées.

<div id="search-stop-conditions-for-element-instances">
  ## Conditions d’arrêt de la recherche des instances d’élément
</div>

La recherche d’instances s’arrête (dans la branche concernée) si le programme rencontre une hypothèse vide pour un groupe (c’est-à-dire un groupe avec une région vide) ou s’il ne peut plus générer d’autres hypothèses (il n’y a plus d’hypothèses dans la zone de recherche). En mode paginal, cette règle ne s’applique qu’à la recherche sur une seule page. Lorsque le programme termine la recherche sur une page, il passe à la suivante. **MinRepetitionsOnPage**, **MaxRepetitionsOnPage**, **MinRepetitions** et **MaxRepetitions** influent également sur le processus de génération des hypothèses.

Vous pouvez utiliser les méthodes suivantes pour modifier le processus standard de génération des hypothèses :

| Objectif                                                                                                                                                                                                          | Condition                                                          | Où la saisir                            |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | --------------------------------------- |
| Faire en sorte que la dernière instance détectée soit bien la dernière                                                                                                                                            | `if SearchElements.RepeatingGroup.HasInstances and then DontFind;` | **relations avancées de pré-recherche** |
| Marquer la dernière instance détectée (celle pour laquelle vous créez la contrainte) comme « mauvaise » afin que les instances précédentes deviennent les dernières si aucune autre bonne instance n’est détectée | `If then Quality: 0;`                                              | **Advanced post-search relations**      |

<div id="related-topics">
  ## Rubriques connexes
</div>

* [Langage FlexiLayout](/fr/flexi-capture/fls/code/general-code)
