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

# Bloque de la tabla

> Los bloques de tabla pasan las coordenadas de las tablas detectadas y los rectángulos de las celdas a ABBYY FlexiCapture: cree el bloque, enumere las columnas y elija una región con OutputTable.

Un **bloque de la tabla** se utiliza para pasar a FlexiCapture las coordenadas de las tablas detectadas. Los datos de las tablas detectadas se extraerán en FlexiCapture. Un **bloque de la tabla** se diferencia de otros tipos de bloque en que devuelve no solo una región que abarca todo el bloque, sino también rectángulos trazados alrededor de cada celda de la tabla. En comparación con otros tipos de bloque, un **bloque de la tabla** tiene una propiedad adicional: una lista de columnas que la tabla puede contener. Un FlexiLayout puede contener uno o varios elementos **Table** que indican al programa dónde y cómo buscar las columnas especificadas en el bloque.

* Cuando crea un elemento **Table**, debe 'vincularlo' a un **bloque de la tabla** ya creado, por lo que normalmente primero debe crear el bloque. Primero puede especificar su área de búsqueda aproximada, luego crear uno o varios elementos para buscar el bloque y, después, usar esos elementos **Table** para definir con precisión el área de búsqueda del bloque.
* Puede crear varios elementos, cada uno con su propio algoritmo para encontrar un mismo **bloque de la tabla**. Puede indicar al programa que seleccione el elemento **Table** que mejor se ajuste al bloque de la tabla una vez encontrado el bloque. Esto se hace mediante una expresión de región.

Los **bloques de la tabla** se marcan con <img src="https://mintcdn.com/abbyy/lqYknuOmCa79141v/images/flexi-capture/fls/Table_Block.gif?fit=max&auto=format&n=lqYknuOmCa79141v&q=85&s=b587cb447531d0883066fce4033ae88e" alt="icono de bloque de tabla" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="15" height="15" data-path="images/flexi-capture/fls/Table_Block.gif" /> en el árbol de FlexiLayout.

<div id="create-a-table-block">
  ## Crear un bloque Table
</div>

<Steps>
  <Step title="Cambie a la ventana de FlexiLayout" />

  <Step title="Seleccione la rama Blocks">
    Seleccione la rama **Blocks** en el árbol de **FlexiLayout**.
  </Step>

  <Step title="Agregue un bloque Table">
    En el menú **FlexiLayout**, seleccione **Add Block → Table**; o bien seleccione **New → Table** en el menú contextual.
  </Step>

  <Step title="Configure las propiedades del bloque en la pestaña bloque de la tabla">
    Especifique:

    * El nombre del bloque.
    * Un comentario opcional.
    * Si la región del bloque y la división de la tabla en filas y columnas coinciden con la región devuelta por un elemento **Table**, seleccione la opción **Source element** y haga clic en <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Button_Search.gif?s=36d8764847225cffab245081f5274192" alt="Botón Buscar" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="31" height="18" data-path="images/flexi-capture/fls/Button_Search.gif" />. En el cuadro de diálogo **Select Element**, seleccione el elemento **Table** cuya región coincida con la región del bloque y, a continuación, haga clic en **OK**.
    * Si la región del bloque no coincide con la región de ningún elemento **Table**, seleccione la opción **Region expression** e introduzca el código requerido en el campo **Region expression**. Haga clic en **Check** para comprobar el código.
  </Step>

  <Step title="Especifique las columnas en la pestaña Columns">
    Especifique las columnas que pueden aparecer en el bloque:

    1. Haga clic en **Add...** e introduzca el nombre de una columna. Conviene usar los nombres de las columnas tal como aparecen en las imágenes de prueba.
    2. En la lista desplegable **Type**, seleccione el tipo de la columna: **Text**, **Barcode**, **Checkmark**, **Picture** o **Non-Recognized Block**.
    3. Para cambiar el nombre o el tipo de una columna, haga clic en **Edit...** y, en el cuadro de diálogo **Edit Table Column**, introduzca un nombre nuevo o seleccione otro tipo.
    4. Use los botones <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Button_Down_Table.gif?fit=max&auto=format&n=fmgRWFNHKYN2MLSg&q=85&s=0b97cc8954437f7ce4a776808f92f271" alt="Botón Abajo" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="27" height="18" data-path="images/flexi-capture/fls/Button_Down_Table.gif" /> y <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Button_Up_Table.gif?s=1223f3bf294a1e1de73888cbc5479e4d" alt="Botón Arriba" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="27" height="18" data-path="images/flexi-capture/fls/Button_Up_Table.gif" /> para ordenar las columnas en el orden en que deben aparecer en la aplicación de captura de datos.
  </Step>
</Steps>

<div id="example-specify-which-block-region-to-select">
  ## Ejemplo: especificar qué región del bloque se debe seleccionar
</div>

Para especificar la región de un bloque, utilice la variable predefinida `OutputTable` de tipo `TableHypothesis`.

El código del siguiente ejemplo selecciona el elemento **Table** en el que se ha encontrado el mayor número de filas:

```text theme={null}
let T1 = SearchElements.TableElement1;
let T2 = SearchElements.TableElement2;
if T1.RowsCount > T2.RowsCount then OutputTable = T1; else OutputTable = T2;
```

<Note>
  Los elemento Table `SearchElements.TableElement1` y `SearchElements.TableElement2` del ejemplo deben hacer referencia al mismo bloque **Table** cuyo campo `Region expression` contiene el código anterior.
</Note>
