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

# Compilar un FlexiLayout

> Compile un FlexiLayout para comprobar si hay errores en las propiedades de los elementos, las referencias de bloques y el código de FlexiLayout language antes de aplicarlo o exportarlo.

**La compilación de FlexiLayout** es el proceso mediante el cual ABBYY FlexiLayout Studio comprueba si hay errores en un FlexiLayout, incluidos errores en las áreas de búsqueda, los criterios de búsqueda adicionales, las propiedades de los bloques de FlexiLayout y las propiedades de los elementos que contienen los parámetros de los objetos de búsqueda.

<div id="what-the-building-process-checks">
  ## Qué comprueba el proceso de compilación
</div>

La compilación de FlexiLayout valida las propiedades de los elementos, las propiedades de los bloques y las expresiones escritas en [FlexiLayout language](/es/flexi-capture/fls/code/general-code).

<div id="element-properties">
  ### Propiedades de los elementos
</div>

Las [propiedades de un elemento](/es/flexi-capture/fls/template/elements-properties) y sus [restricciones de búsqueda](/es/flexi-capture/fls/template/search-constraints) solo pueden vincularse a elementos ubicados por encima de este elemento en el árbol de FlexiLayout. FlexiLayout Studio resalta como erróneo cualquier elemento que no cumpla este requisito.

<div id="block-properties">
  ### Propiedades de los bloques
</div>

Los bloques no pueden hacer referencia a elementos inexistentes ni a [elementos deshabilitados](/es/flexi-capture/fls/template/exclude-element).

<div id="flexilayout-language-expressions">
  ### Expresiones del FlexiLayout language
</div>

En la pestaña **Advanced**, la compilación comprueba que:

* El código no contenga errores de sintaxis.
* Las restricciones adicionales del campo [relación avanzada de prebúsqueda](/es/flexi-capture/fls/template/advanced-pre-search) hagan referencia únicamente a elementos situados por encima del elemento dado en el FlexiLayout tree.
* Las restricciones adicionales del campo [Relaciones avanzadas de posbúsqueda](/es/flexi-capture/fls/template/advanced-post-search) hagan referencia únicamente al propio elemento y a los elementos situados por encima de este en el FlexiLayout tree. FlexiLayout Studio marca como defectuoso cualquier elemento que incumpla estas dos reglas.
* Todas las [constantes globales](/es/flexi-capture/fls/code/global-constant) utilizadas en el código estén especificadas.
* Todas las variables utilizadas en el código estén declaradas e inicializadas.
* El código haga referencia únicamente a entidades disponibles en las secciones correspondientes del código.
* Las propiedades de bloque hagan referencia únicamente a las regiones de los elementos.
* Para un elemento de un tipo determinado, solo puede especificar las propiedades disponibles para ese tipo. Por ejemplo, no puede especificar **Max width** para un elemento de texto estático (**Static Text**).

<div id="build-a-flexilayout-manually">
  ## Compilar un FlexiLayout manualmente
</div>

Haga clic en **Compilar FlexiLayout** en el menú contextual del FlexiLayout.

<h2 id="errors-tab">
  Errors and advertencias
</h2>

<Note>
  Un FlexiLayout se compila automáticamente antes de aplicarse a una imagen, guardarse o exportarse. Si se detectan errores al compilar un FlexiLayout, los bloques y elementos con errores aparecerán con iconos marcados con una X roja en el FlexiLayout tree, y la pestaña **Errores**, que contiene la información del error, se mostrará en los cuadros de diálogo de propiedades de dichos elementos.
</Note>

Las notificaciones de la pestaña **Errores** llevan una marca roja o amarilla al lado. Una marca roja indica un error; una marca amarilla, una advertencia.

Si al menos un elemento o bloque genera un error, el FlexiLayout no podrá aplicarse a imágenes ni exportarse. Las advertencias solo señalan conversiones de tipo potencialmente problemáticas y no impiden que el FlexiLayout se aplique a imágenes o se exporte.

Si algún código de la pestaña **Advanced** provoca una notificación en la pestaña **Errores**, puede ir directamente al operador que causó el problema haciendo doble clic en la notificación.
