Passer au contenu principal
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.

Onglets Advanced et Advanced for All Instances

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.
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.
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 :
// 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 :
// 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 :
if InstancesCount() < 5 and LastFound.Pages.End <= 2 then Quality: 0.98;

Accéder aux instances d’élément

Utilisez les noms prédéfinis suivants pour accéder aux instances d’élément :
  • 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.

Conditions d’arrêt de la recherche des instances d’élément

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 :
ObjectifConditionOù la saisir
Faire en sorte que la dernière instance détectée soit bien la dernièreif 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éeIf then Quality: 0;Advanced post-search relations