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

# Restrinja el área de búsqueda con RestrictSearchArea

> Use RestrictSearchArea en FlexiLayout Studio para definir un área de búsqueda como un rectángulo, un array de rectángulos o una región y evitar duplicar restricciones de elementos.

La función `RestrictSearchArea` le permite especificar el área de búsqueda como un rectángulo, un array de rectángulos o una región.

<div id="when-to-use-restrictsearcharea">
  ## Cuándo usar RestrictSearchArea
</div>

En distintas páginas del documento, el campo buscado suele estar ubicado en posiciones diferentes con respecto a su nombre. Por ejemplo, en algunas páginas el campo puede estar a la derecha del nombre y, en otras, debajo de este. En tales casos, es aconsejable especificar el área de búsqueda como un array de rectángulos.

Para obtener más información sobre el uso de la función `RestrictSearchArea` en estos casos, consulte [Buscar elementos con Nearest y FuzzyQuality](/es/flexi-capture/fls/tips-tricks/date9).

También puede ser aconsejable usar la función `RestrictSearchArea` en lugar de duplicar restricciones de búsqueda idénticas para varios elementos.

Use esta función para describir el área de búsqueda del campo de fecha o de cualquier otro campo cuando, por alguna razón (por ejemplo, baja calidad de imagen o peculiaridades del diseño), no sea suficiente usar un elemento de un solo tipo.

<div id="the-searchofdatefsp-project-with-duplicated-constraints">
  ## El proyecto SearchOfDate.fsp con restricciones duplicadas
</div>

La función `RestrictSearchArea` también puede utilizarse para buscar un campo de fecha. Por regla general, busque campos de fecha utilizando al menos dos tipos de elementos: **Date** y **Character String**. Sin embargo, si la calidad de imagen es muy baja, es posible que estos dos elementos no sean suficientes. Para obtener más información sobre cómo organizar una búsqueda de campos de fecha, consulte [Date search after high or low-quality recognition](/es/flexi-capture/fls/tips-tricks/date2).

Para ver esta función en acción, ejecute el proyecto de ejemplo `SearchOfDate.fsp` (carpeta `%public%\ABBYY\FlexiCapture\12.0\Samples\FLS\Tips and Tricks\RestrictSearchArea`). Este proyecto es una copia del proyecto con el mismo nombre de la carpeta de proyecto `Date\FCS`. Las restricciones de búsqueda para todos sus elementos (**DateField**, **DateAsString** y **DateAsObjectCollection**) eran idénticas, como se muestra en la siguiente figura.

<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="Captura de pantalla de la pestaña Relations en las propiedades del elemento de búsqueda de ABBYY FlexiLayout Studio, que muestra las restricciones de búsqueda idénticas especificadas originalmente para los elementos DateField, DateAsString y DateAsObjectCollection en el proyecto 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">
  ## Sustituya las restricciones duplicadas por RestrictSearchArea
</div>

Sin embargo, en el proyecto actual, en lugar de duplicar las restricciones de búsqueda en la pestaña **Relations** para los elementos **DateAsString** y **DateAsObjectCollection**, se usa la función `RestrictSearchArea`, con el siguiente código en el campo **relación avanzada de prebúsqueda** de la pestaña **Advanced**:

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

Este código significa que se intentará buscar el campo de fecha como una cadena o como una colección de objetos solo si FlexiLayout Studio no consigue detectarlo mediante el elemento **Date**. Luego, ambos elementos se buscarán en la misma área en la que no se detectó el elemento **DateField**.

Esto sucede porque el método `DateField.Rect` devuelve el rectángulo que encierra la hipótesis del elemento **DateField**. Como no se ha encontrado la hipótesis, el rectángulo delimitador coincidirá con el área de búsqueda.

Por lo tanto, el área de búsqueda especificada para los elementos **DateAsString** y **DateAsObjectCollection** coincide con el rectángulo que encierra el área de búsqueda del elemento **DateField** no detectado.
