> ## 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 transfieren a ABBYY FlexiCapture las coordenadas de las tablas detectadas y los rectángulos de sus celdas: cree el bloque, enumere las columnas y elija una Region con OutputTable.

Un **bloque de la tabla** se utiliza para transferir 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 Region que engloba todo el bloque, sino también rectángulos dibujados 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.

1. Al crear un elemento Table, debe "vincularlo" al **bloque de la tabla** ya creado. Por lo general, primero debe crear un bloque. Primero puede especificar su área de búsqueda aproximada, luego crear uno o más elementos para buscar el bloque y, después, usar estos elementos Table para definir con precisión el área de búsqueda del bloque.
2. Puede crear varios elementos, cada uno de los cuales describe su propio algoritmo para encontrar el mismo **bloque de la tabla**. Puede indicar al programa que seleccione el elemento Table que mejor se ajuste al bloque de tabla después de encontrarlo. Esto se hace mediante una expresión Region.

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="" 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.

Para crear un **bloque de la tabla**:

1. Cambie a la ventana **FlexiLayout**.
2. Seleccione la rama **Blocks** en el **árbol de FlexiLayout**.
3. En el menú **FlexiLayout**, seleccione **Add Block →** Table o seleccione **New →** Table en el menú contextual.
4. Especifique las propiedades del bloque.
5. En la pestaña bloque de la tabla, configure lo siguiente:
   * el nombre del bloque;
   * su comentario sobre el bloque (opcional);
   * si la Region del bloque y la división de la tabla en filas y columnas coincidirán con la Region 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="" 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 Region coincida con la Region del bloque y haga clic en **OK**.
   * si la Region del bloque no coincide con la Region de ninguno de los elementos **Table**, seleccione la opción expresión Region e introduzca el código necesario en el campo expresión Region. Haga clic en Check para comprobar el código.
6. En la pestaña Columns, especifique las columnas que pueden aparecer dentro del bloque. Para ello, haga clic en Add... e introduzca el nombre de una columna. Puede resultarle útil usar los nombres de las columnas tal como aparecen en las imágenes de prueba. En la lista desplegable Type, seleccione el tipo de columna deseado. Puede elegir uno de los siguientes tipos: Text, Barcode, Checkmark, Picture o Non-Recognized Block. 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 un tipo distinto para la columna. 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="" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="27" height="18" data-path="images/flexi-capture/fls/Button_Down_Table.gif" /> (Abajo) y <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Button_Up_Table.gif?s=1223f3bf294a1e1de73888cbc5479e4d" alt="" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="27" height="18" data-path="images/flexi-capture/fls/Button_Up_Table.gif" /> (Arriba) para organizar las columnas en el mismo orden en que deben aparecer en la aplicación de captura de datos

<div id="an-example-of-specifying-which-block-region-to-select">
  ## Un ejemplo de cómo especificar qué región de bloque seleccionar
</div>

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

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

let T1 = SearchElements.TableElement1;
let T2= SearchElements.TableElement2;
**if** T1.RowsCount > T2.RowsCount then OutputTable = T1; **else** OutputTable = T2;

<Note>
  Los elementos de tabla **SearchElements.TableElement1** y **SearchElements.TableElement2** del ejemplo deben hacer referencia al mismo **bloque de la tabla** cuyo campo de expresión Region contiene el código anterior.
</Note>
