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

# Restreindre la zone de recherche avec RestrictSearchArea

> Utilisez RestrictSearchArea dans FlexiLayout Studio pour définir une zone de recherche sous forme de rectangle, de tableau de rectangles ou de région, et éviter de dupliquer les contraintes d’élément.

La fonction `RestrictSearchArea` vous permet de spécifier la zone de recherche sous la forme d’un rectangle, d’un tableau de rectangles ou d’une région.

<div id="when-to-use-restrictsearcharea">
  ## Quand utiliser RestrictSearchArea
</div>

Sur différentes pages du document, le champ recherché se trouve souvent à des positions différentes par rapport à son nom. Par exemple, sur certaines pages, le champ peut se trouver à droite du nom, tandis que sur d’autres, il peut se trouver en dessous. Dans ce cas, il est conseillé de spécifier la zone de recherche sous la forme d’un tableau de rectangles.

Pour plus d’informations sur l’utilisation de la fonction `RestrictSearchArea` dans ce type de situation, voir [Recherche d’éléments avec Nearest et FuzzyQuality](/fr/flexi-capture/fls/tips-tricks/date9).

Il peut également être judicieux d’utiliser la fonction `RestrictSearchArea` au lieu de dupliquer des contraintes de recherche identiques pour plusieurs éléments.

Utilisez cette fonction pour décrire la zone de recherche du champ de date ou de tout autre champ lorsque, pour une raison quelconque (par exemple une faible qualité d’image ou des particularités de mise en page), l’utilisation d’un élément d’un seul type ne suffit pas.

<div id="the-searchofdatefsp-project-with-duplicated-constraints">
  ## Le projet SearchOfDate.fsp avec des contraintes dupliquées
</div>

La fonction `RestrictSearchArea` peut également être utilisée pour rechercher un champ de date. En règle générale, recherchez des champs de date à l’aide d’au moins deux types d’éléments : **Date** et **Character String**. Cependant, si la qualité de l’image est très faible, ces deux éléments peuvent ne pas suffire. Pour plus d’informations sur la manière d’organiser une recherche de champs de date, voir [Recherche de date après une reconnaissance de haute ou de faible qualité](/fr/flexi-capture/fls/tips-tricks/date2).

Pour voir cette fonction en action, exécutez le projet d’exemple `SearchOfDate.fsp` (dossier `%public%\ABBYY\FlexiCapture\12.0\Samples\FLS\Tips and Tricks\RestrictSearchArea`). Ce projet est une copie du projet du même nom situé dans le dossier de projet `Date\FCS`. Les contraintes de recherche de tous ses éléments (**DateField**, **DateAsString** et **DateAsObjectCollection**) étaient identiques, comme le montre la figure suivante.

<Frame>
  <img src="https://mintcdn.com/abbyy/r-nfa7jujx5b9gKX/images/flexi-capture/fls/prop_search_elements_alt.png?fit=max&auto=format&n=r-nfa7jujx5b9gKX&q=85&s=f0072e7dde2ac94ef93ec8fb5f762249" alt="Capture d’écran de l’onglet Relations dans les propriétés de l’élément de recherche dans ABBYY FlexiLayout Studio, montrant les contraintes de recherche identiques initialement spécifiées pour les éléments DateField, DateAsString et DateAsObjectCollection dans le projet SearchOfDate.fsp." width="431" height="455" data-path="images/flexi-capture/fls/prop_search_elements_alt.png" />
</Frame>

<div id="replace-duplicated-constraints-with-restrictsearcharea">
  ## Remplacez les contraintes dupliquées par RestrictSearchArea
</div>

Dans le projet actuel, cependant, au lieu de dupliquer les contraintes de recherche dans l’onglet **Relations** pour les éléments **DateAsString** et **DateAsObjectCollection**, on utilise la fonction `RestrictSearchArea`, avec le code suivant dans le champ **relations avancées de pré-recherche** de l’onglet **Advanced** :

```text theme={null}
if (DateField.IsNull == FALSE) then Dontfind();
else RestrictSearchArea (DateField.Rect);
```

Ce code signifie que la recherche du champ de date en tant que string ou en tant qu'Object Collection ne sera tentée que si FlexiLayout Studio ne parvient pas à le détecter au moyen de l'élément **Date**. Les deux éléments seront alors recherchés dans la même zone que celle où l'élément **DateField** n'a pas été détecté.

Cela s'explique par le fait que la méthode `DateField.Rect` renvoie le rectangle englobant l'hypothèse de l'élément **DateField**. Comme l'hypothèse n'a pas été trouvée, le rectangle englobant coïncidera avec la zone de recherche.

Par conséquent, la zone de recherche spécifiée pour les éléments **DateAsString** et **DateAsObjectCollection** coïncide avec le rectangle englobant la zone de recherche de l'élément **DateField** non détecté.
