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

# Compiler un FlexiLayout

> Compilez un FlexiLayout pour vérifier les erreurs dans les propriétés des éléments, les références aux blocs et le code du langage FlexiLayout avant de l’appliquer ou de l’exporter.

La **compilation du FlexiLayout** est le processus par lequel ABBYY FlexiLayout Studio vérifie un FlexiLayout afin d’y détecter les erreurs, notamment dans les zones de recherche, les critères de recherche supplémentaires, les propriétés des blocs du FlexiLayout et les propriétés des éléments contenant les paramètres des objets de recherche.

<div id="what-the-building-process-checks">
  ## Ce que vérifie le processus de compilation
</div>

La compilation du FlexiLayout valide les propriétés des éléments, les propriétés des blocs et les expressions écrites dans le [langage FlexiLayout](/fr/flexi-capture/fls/code/general-code).

<div id="element-properties">
  ### Propriétés des éléments
</div>

Les [propriétés d’un élément](/fr/flexi-capture/fls/template/elements-properties) et ses [contraintes de recherche](/fr/flexi-capture/fls/template/search-constraints) ne peuvent faire référence qu’à des éléments situés au-dessus de cet élément dans l’arborescence du FlexiLayout. FlexiLayout Studio met en évidence, comme étant en erreur, tout élément qui ne respecte pas cette règle.

<div id="block-properties">
  ### Propriétés des blocs
</div>

Les blocs ne peuvent pas faire référence à des éléments inexistants ou à des [éléments désactivés](/fr/flexi-capture/fls/template/exclude-element).

<div id="flexilayout-language-expressions">
  ### Expressions du langage FlexiLayout
</div>

Dans l'onglet **Advanced**, la génération vérifie que :

* Le code ne comporte aucune erreur de syntaxe.
* Les contraintes supplémentaires du champ [relations avancées de pré-recherche](/fr/flexi-capture/fls/template/advanced-pre-search) ne font référence qu'à des éléments situés au-dessus de l'élément considéré dans l'arborescence FlexiLayout.
* Les contraintes supplémentaires du champ [Advanced post-search relations](/fr/flexi-capture/fls/template/advanced-post-search) ne font référence qu'à l'élément lui-même et aux éléments situés au-dessus de celui-ci dans l'arborescence FlexiLayout. FlexiLayout Studio signale comme erroné tout élément qui enfreint ces deux règles.
* Toutes les [constantes globales](/fr/flexi-capture/fls/code/global-constant) utilisées dans le code sont spécifiées.
* Toutes les variables utilisées dans le code sont déclarées et initialisées.
* Le code ne fait référence qu'à des entités disponibles dans les sections correspondantes du code.
* Les propriétés de bloc ne font référence qu'aux régions des éléments.
* Pour un élément d'un type donné, vous ne pouvez spécifier que les propriétés disponibles pour ce type. Par exemple, vous ne pouvez pas spécifier **Max width** pour un élément **Static Text**.

<div id="build-a-flexilayout-manually">
  ## Compiler un FlexiLayout manuellement
</div>

Cliquez sur **Build FlexiLayout** dans le menu contextuel du FlexiLayout.

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

<Note>
  Un FlexiLayout est généré automatiquement avant d'être appliqué à une image, enregistré ou exporté. Si des erreurs sont détectées lors de la génération d'un FlexiLayout, les blocs et les éléments concernés sont signalés par des icônes accompagnées d'une croix rouge dans l’arborescence FlexiLayout, et l'onglet **Errors**, qui contient les informations sur l'erreur, apparaît dans les boîtes de dialogue de propriétés de ces éléments.
</Note>

Les notifications de l'onglet **Errors** sont précédées d'un indicateur rouge ou jaune. Un indicateur rouge signale une erreur, un indicateur jaune un avertissement.

Si au moins un élément ou bloc génère une erreur, le FlexiLayout ne peut être ni appliqué à des images ni exporté. Les avertissements se contentent d'attirer votre attention sur des conversions de type potentiellement problématiques et n'empêchent ni l'application du FlexiLayout à des images ni son export.

Si du code de l'onglet **Advanced** est à l'origine d'une notification dans l'onglet **Errors**, double-cliquez sur cette notification pour accéder directement à l'operator en cause.
