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

# Ejemplo 3. Paso 4: Analizar las imágenes para decidir en qué orden deben detectarse los elementos

> Planifique el orden de búsqueda de elementos para el FlexiLayout de facturas en el Ejemplo 3: analice la disposición de los campos y describa el grupo InvoiceHeader y sus elementos.

En este paso, decida lo siguiente:

* ¿Hay algún patrón en la disposición de los campos en las imágenes?
* ¿Qué elementos pueden usarse como elementos de referencia para detectar campos?
* ¿Qué orden de búsqueda de elementos es la mejor opción? (En cada nuevo paso, solo puede hacer referencia a elementos descritos previamente).

Analice las imágenes disponibles.

1. Habrá observado que la parte central del documento contiene una tabla, que aparece en todas las imágenes.

   <Info>
     En FlexiLayout Studio, una tabla es un objeto de imagen formado por fragmentos compuestos por filas y columnas, separados visualmente por líneas separadoras o por espacios en blanco. Para obtener más información, consulte [Trabajar con tablas](/es/flexi-capture/fls/tables/general-tables).
   </Info>

2. Encima de la tabla hay un grupo de campos (que puede llamarse InvoiceHeader): **Número de factura**, **Fecha de la factura** y **Dirección de entrega**. Tenga en cuenta que el campo **Número de factura** aparece en todas las imágenes y puede usarse como campo identificador, mientras que los campos **Fecha de la factura** y **Dirección de entrega** son opcionales.

3. Debajo de la tabla hay un grupo de campos (que puede llamarse Footer): **TotalQuantity**, **TotalAmount** y **Country**. Estos campos tampoco aparecen en todas las imágenes.

Comience describiendo la búsqueda de elementos en la parte superior del documento. Para detectar los campos superiores, cree un grupo lógico que reúna todos los elementos utilizados para buscar los campos Número de factura, Fecha de la factura y Dirección de entrega.

1. Cree un elemento de tipo [grupo](/es/flexi-capture/fls/template/elements-compound) y asígnele el nombre **InvoiceHeader**.
   Los campos **Número de factura**, **Fecha de la factura** y **Dirección de entrega** siempre se encuentran en la esquina superior izquierda. Además, siempre aparecen en el mismo orden: **Dirección de entrega**, seguida de **Número de factura** y luego **Fecha de la factura** (siempre que aparezcan en la imagen). Búsquelos en ese mismo orden.
2. Para describir la búsqueda de las palabras clave de los nombres de los campos **Número de factura**, **Fecha de la factura** y **Dirección de entrega**, utilice elementos de tipo [Static Text](/es/flexi-capture/fls/template/static-text). El elemento **InvoiceHeader** debe contener los siguientes elementos:
   * elemento **kwDeliveryAddress** de tipo [Static Text](/es/flexi-capture/fls/template/static-text), que corresponderá al nombre del campo **Dirección de entrega**. Para obtener instrucciones detalladas, consulte [Paso 5](/es/flexi-capture/fls/tutorial3/3step5).
   * elemento **kwInvoiceNumber** de tipo [Static Text](/es/flexi-capture/fls/template/static-text), que corresponderá al nombre del campo **Número de factura**. Para obtener instrucciones detalladas, consulte [Paso 6](/es/flexi-capture/fls/tutorial3/3step6).
   * elemento **kwDate** de tipo [Static Text](/es/flexi-capture/fls/template/static-text), que corresponderá al nombre del campo **Fecha de la factura**. Para obtener instrucciones detalladas, consulte [Paso 7](/es/flexi-capture/fls/tutorial3/3step7).
3. Busque los campos **Número de factura** y **Fecha de la factura** en la misma fila que sus nombres correspondientes, a la derecha de estos.
   En el elemento **InvoiceHeader**, cree los siguientes elementos:
   * elemento **InvoiceNumber** de tipo [cadena de caracteres](/es/flexi-capture/fls/template/character-chain), que corresponderá al campo **Número de factura**. Para obtener instrucciones detalladas, consulte [Paso 8](/es/flexi-capture/fls/tutorial3/3step8).
   * un elemento [grupo](/es/flexi-capture/fls/template/elements-compound) **grDate** para buscar el campo **Fecha de la factura**. Para obtener instrucciones detalladas, consulte [Paso 9](/es/flexi-capture/fls/tutorial3/3step9).

En el elemento `InvoiceHeader.grDate`, cree:

* Elemento **InvoiceDate** del tipo [Fecha](/es/flexi-capture/fls/template/date), que corresponderá al campo **Fecha de la factura** en el caso de imágenes de buena calidad. Para obtener instrucciones detalladas, consulte [Paso 9](/es/flexi-capture/fls/tutorial3/3step9).
* Elemento **InvoiceDateAsString** del tipo [cadena de caracteres](/es/flexi-capture/fls/template/character-chain), que corresponderá al campo **Fecha de la factura** si el programa no consigue encontrar el elemento **InvoiceDate**. Para obtener instrucciones detalladas, consulte [Paso 9](/es/flexi-capture/fls/tutorial3/3step9).

  <Note>
    Para obtener más información sobre cómo encontrar fechas en imágenes de baja calidad, consulte la sección [Trucos y consejos](/es/flexi-capture/fls/tips-tricks/date2).
  </Note>

1. El campo **Dirección de entrega** tiene varias líneas, por lo que se necesita un elemento del tipo [párrafo](/es/flexi-capture/fls/template/text-chain) para detectarlo. Sin embargo, antes de crear este elemento, limite el área de búsqueda tanto como sea posible. Para el límite derecho del área de búsqueda, use un elemento del tipo [espacio en blanco](/es/flexi-capture/fls/template/white-gap). A continuación, agrupe todos los elementos que describen la ubicación del campo **Dirección de entrega** en un elemento [grupo](/es/flexi-capture/fls/template/elements-compound):
   * En el elemento **InvoiceHeader**, cree un elemento grupo y asígnele el nombre **grAddress**. Para obtener instrucciones detalladas, consulte [Paso 10](/es/flexi-capture/fls/tutorial3/3step10).

En el elemento **grAddress**, cree los siguientes elementos:

* Un elemento auxiliar **wgAddressRight** del tipo [espacio en blanco](/es/flexi-capture/fls/template/white-gap), que bordea el campo **Dirección de entrega** por la derecha. Para obtener instrucciones detalladas, consulte [Paso 11](/es/flexi-capture/fls/tutorial3/3step11).
* Un elemento **DeliveryAddress** del tipo [párrafo](/es/flexi-capture/fls/template/text-chain), que corresponderá al campo **Dirección de entrega**. Para obtener instrucciones detalladas, consulte [Paso 12](/es/flexi-capture/fls/tutorial3/3step12).
