> ## 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 4. Paso 8: elemento de tabla, elemento InvoiceTable

> Combine los elementos preparados en un elemento de tabla InvoiceTable que encuentre la tabla multipágina de la factura, con columnas maestras y tipos de contenido de columna.

Ahora que ya se han completado todos los preparativos, puede buscar el campo Invoice Table creando un elemento de tabla:

1. **Encabezado** de la tabla. Como se decidió antes, especifique los nombres de las columnas mediante elementos auxiliares ya detectados.
2. **Pie de tabla** de la tabla. Como se decidió antes, el **Pie de tabla** se especifica mediante el elemento requerido ya detectado **Paragraph** del grupo **InvoiceFooter**, que identifica el comienzo de la parte final. Este elemento se describió como el más cercano a la parte inferior de la tabla.
3. Área de búsqueda de la tabla. Puede limitar el área de búsqueda por la derecha usando el nombre de la última columna **Sales**, que no necesita para ningún otro fin.

<div id="create-the-invoicetable-element">
  ## Cree el elemento InvoiceTable
</div>

Para crear un elemento InvoiceTable:

1. En el árbol **SearchElements**, cree un elemento de tipo Table y asígnele el nombre **InvoiceTable**.
2. Haga clic en la pestaña Columns.
3. Haga clic en **Select** para seleccionar el bloque **InvoiceTable** creado anteriormente en el [Paso 3](/es/flexi-capture/fls/tutorial4/4step3) como bloque de búsqueda.
4. Especifique los parámetros de búsqueda de las columnas de la tabla:
   * En la lista de columnas, seleccione **Reference** y haga clic en el botón Propiedades....
     Para el nombre de esta columna, use el elemento `TableHeader.kwReference` detectado anteriormente. Para ello, seleccione Use found element as column name y, a continuación, haga clic en <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Browse_Button.gif?s=3673db30dda4a3293aec716853588b55" alt="Botón Examinar" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="21" height="20" data-path="images/flexi-capture/fls/Browse_Button.gif" /> y seleccione `TableHeader.kwReference`.
   * En la lista de columnas, seleccione **Designation** y haga clic en el botón Propiedades....
     Para el nombre de esta columna, use el elemento `TableHeader.kwDesignation` detectado anteriormente.
   * En la lista de columnas, seleccione **Unit** y haga clic en el botón Propiedades....
     Para el nombre de esta columna, use el elemento `TableHeader.kwUnit` detectado anteriormente.
   * En la lista de columnas, seleccione **Quantity** y haga clic en el botón Propiedades....
     Para el nombre de esta columna, use el elemento `TableHeader.kwQuantity` detectado anteriormente.
   * En la lista de columnas, seleccione **UnitPrice** y haga clic en el botón Propiedades....
     Para el nombre de esta columna, use el elemento `TableHeader.kwUnitPrice` detectado anteriormente.
   * En la lista de columnas, seleccione **Total** y haga clic en el botón Propiedades....
     Para el nombre de esta columna, use el elemento `TableHeader.kwTotal` detectado anteriormente.
5. Haga clic en la pestaña Order.
6. Como las columnas buscadas pueden estar separadas entre sí por otras columnas (por ejemplo, **ExtraQtyTag**), pero su orden siempre es fijo (primero **Designation**, luego **Unit Price** y después **Total**), seleccione Reglas para el orden de las columnas, haga clic en Add... y agregue las columnas en el siguiente orden: **Designation** \<\< **Unit Price** \<\< **Total**.

<Frame>
  <img src="https://mintcdn.com/abbyy/8aWHPAJyzWmTqglX/images/flexi-capture/fls/tutorial4_8_1_.PNG?fit=max&auto=format&n=8aWHPAJyzWmTqglX&q=85&s=966aae17c9b42b5787008df2964196c7" alt="Captura de pantalla de la pestaña Order de las propiedades del elemento de tabla InvoiceTable en ABBYY FlexiLayout Studio, que muestra la opción Reglas para el orden de las columnas seleccionada, con las columnas Designation, Unit Price y Total agregadas en el orden requerido." width="431" height="455" data-path="images/flexi-capture/fls/tutorial4_8_1_.PNG" />
</Frame>

7. Haga clic en la pestaña Header. El encabezado de la tabla es necesario, pero no se aplican restricciones adicionales, así que mantenga los valores predeterminados.
8. Haga clic en la pestaña Footer. Use el elemento `InvoiceFooter.Paragraph` detectado anteriormente para la parte final de la tabla. Seleccione la opción Use found element as footer, haga clic en <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Browse_Button.gif?s=3673db30dda4a3293aec716853588b55" alt="Botón Examinar" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="21" height="20" data-path="images/flexi-capture/fls/Browse_Button.gif" /> y luego seleccione el elemento `InvoiceFooter.Paragraph`.

<Frame>
  <img src="https://mintcdn.com/abbyy/8aWHPAJyzWmTqglX/images/flexi-capture/fls/tutorial4_8_2_.PNG?fit=max&auto=format&n=8aWHPAJyzWmTqglX&q=85&s=e7a855370a3d7b6766311f63e86cd3b8" alt="Captura de pantalla de la pestaña Footer de las propiedades del elemento de tabla InvoiceTable en ABBYY FlexiLayout Studio, que muestra la opción Use found element as footer seleccionada con el elemento InvoiceFooter.Paragraph elegido como pie de tabla." width="431" height="455" data-path="images/flexi-capture/fls/tutorial4_8_2_.PNG" />
</Frame>

9. Haga clic en la pestaña Rows.
10. Como las celdas de algunas columnas pueden contener varias líneas, debe especificar columnas maestras para la separación de líneas. Seleccione Use master columns to detect rows.

    Primero, especifique la columna **Total**, ya que esta columna siempre contiene datos y, para cada registro de la tabla, tiene una línea de datos.

    Si esta columna no se detecta en la imagen, especifique las columnas **Unit Price** y **Quantity** como siguiente opción de separación de líneas. Use el botón <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Browse_Button.gif?s=3673db30dda4a3293aec716853588b55" alt="Botón Examinar" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="21" height="20" data-path="images/flexi-capture/fls/Browse_Button.gif" /> para seleccionar estas columnas.

<Frame>
  <img src="https://mintcdn.com/abbyy/8aWHPAJyzWmTqglX/images/flexi-capture/fls/tutorial4_8_3_.PNG?fit=max&auto=format&n=8aWHPAJyzWmTqglX&q=85&s=d99574eef5ef1d5016f41d5be1001b5a" alt="Captura de pantalla de la pestaña Rows de las propiedades del elemento de tabla InvoiceTable en ABBYY FlexiLayout Studio, que muestra la opción Use master columns to detect rows seleccionada, con las columnas Total, Unit Price y Quantity especificadas como columnas maestras para la separación de filas." width="431" height="455" data-path="images/flexi-capture/fls/tutorial4_8_3_.PNG" />
</Frame>

11. Seleccione la pestaña Relations. Dado que las columnas de la tabla que nos interesan se encuentran a la izquierda del nombre de la columna **Sales**, agregue las siguientes restricciones de búsqueda:

    * A la izquierda del elemento `TableHeader.kwSales`, Offset = 0

    <Tip>
      Para imágenes de baja calidad (por ejemplo, si hay ruido entre el cuerpo y el pie de tabla, o si no hay encabezado ni pie), puede especificar límites superior e inferior para la tabla. En este caso, puede usar el elemento **kwDesignation** como límite superior y el elemento **Paragraph** como límite inferior. En la pestaña Relations, agregue las siguientes restricciones de búsqueda:

      * Debajo del límite superior del elemento **kwDesignation**, Offset = -50, Reference boundary = Top
      * Encima del elemento **Paragraph**, Offset = -50, Reference boundary = Bottom
    </Tip>

12. Haga Match del FlexiLayout con las imágenes de prueba.
    Verá que el programa detecta correctamente el elemento de tabla en todas las imágenes, pero en algunas de ellas la columna **Quantity** incluye texto redundante de la columna anterior.
    Para separar los datos válidos de la columna **Quantity** de los datos irrelevantes, especifique el tipo de contenido de esta columna.

13. Abra el cuadro de diálogo **Propiedades** del elemento de tabla **InvoiceTable**.
    Haga clic en la pestaña Columns, abra el cuadro de diálogo Propiedades... de la columna **Quantity** y seleccione la opción Check content type. En Type of column content, seleccione Number.

<Frame>
  <img src="https://mintcdn.com/abbyy/8aWHPAJyzWmTqglX/images/flexi-capture/fls/tutorial4_8_4_.PNG?fit=max&auto=format&n=8aWHPAJyzWmTqglX&q=85&s=c646cd956bf3591f3505ebe3395c886e" alt="Captura de pantalla de las propiedades de la columna Quantity en ABBYY FlexiLayout Studio, que muestra seleccionada la opción Check content type con Number elegido como el tipo de contenido de la columna." width="462" height="377" data-path="images/flexi-capture/fls/tutorial4_8_4_.PNG" />
</Frame>

14. Ahora, si hace Match del FlexiLayout con las imágenes, verá que la columna **Quantity** contiene solo dígitos, como se requiere.
15. Del mismo modo, especifique Divisa como contenido para las columnas **UnitPrice** y **Total**.
16. Para especificar la ubicación del bloque **InvoiceTable**, seleccione la opción Source element. Haga clic en <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Browse_Button.gif?s=3673db30dda4a3293aec716853588b55" alt="botón Examinar" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="21" height="20" data-path="images/flexi-capture/fls/Browse_Button.gif" /> y especifique **InvoiceTable** como elemento de origen.
