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

# Exemple 3. Étape 4 : analyser les images pour déterminer l’ordre de détection des éléments

> Planifiez l’ordre de recherche des éléments pour le FlexiLayout de facture de l’exemple 3 : analysez la disposition des champs et définissez le groupe InvoiceHeader et ses éléments.

Avant de créer des éléments, déterminez les points suivants :

* Existe-t-il une logique dans la disposition des champs sur les images ?
* Quels éléments peuvent servir d’éléments de référence pour la détection des champs ?
* Quel ordre de recherche des éléments fonctionne le mieux ? À chaque nouvelle étape, vous ne pouvez vous référer qu’aux éléments déjà décrits.

Analysez les images disponibles.

La partie centrale de chaque image contient un tableau.

<Info>
  Dans FlexiLayout Studio, un tableau est un objet image constitué de fragments composés de lignes et de colonnes séparées visuellement par des lignes de séparation ou des White Gap. Pour plus d’informations, voir [Utiliser les tableaux](/fr/flexi-capture/fls/tables/general-tables).
</Info>

Au-dessus du tableau se trouve un groupe de champs que vous pouvez nommer **InvoiceHeader** : **Numéro de facture**, **Date de la facture** et **Adresse de livraison**. Le champ **Numéro de facture** est présent sur toutes les images et peut servir de champ identifiant, tandis que les champs **Date de la facture** et **Adresse de livraison** sont facultatifs.

Sous le tableau se trouve un groupe de champs que vous pouvez nommer **Footer** : **TotalQuantity**, **TotalAmount** et **Pays**. Ces champs ne sont pas non plus présents sur toutes les images.

<div id="plan-the-search-for-the-upper-fields">
  ## Planifier la recherche des champs supérieurs
</div>

Commencez par les champs situés dans la partie supérieure du document. Créez un élément logique [Group](/fr/flexi-capture/fls/template/elements-compound) nommé **InvoiceHeader**, qui regroupe tous les éléments utilisés pour rechercher les champs **Numéro de facture**, **Date de la facture** et **Adresse de livraison**.

Ces trois champs se trouvent toujours dans le coin supérieur gauche et apparaissent toujours dans le même ordre : **Adresse de livraison**, suivie du **Numéro de facture**, puis de la **Date de la facture** (lorsqu'ils sont présents sur l'image). Recherchez-les dans cet ordre.

Pour rechercher les mots-clés correspondant aux noms des champs, utilisez des éléments [Static Text](/fr/flexi-capture/fls/template/static-text). L'élément **InvoiceHeader** doit contenir les éléments de nom suivants :

| Élément               | Type                                                      | Correspond à                          | Décrit dans                                       |
| :-------------------- | :-------------------------------------------------------- | :------------------------------------ | :------------------------------------------------ |
| **kwDeliveryAddress** | [Static Text](/fr/flexi-capture/fls/template/static-text) | Nom du champ **Adresse de livraison** | [Étape 5](/fr/flexi-capture/fls/tutorial3/3step5) |
| **kwInvoiceNumber**   | [Static Text](/fr/flexi-capture/fls/template/static-text) | Nom du champ **Numéro de facture**    | [Étape 6](/fr/flexi-capture/fls/tutorial3/3step6) |
| **kwDate**            | [Static Text](/fr/flexi-capture/fls/template/static-text) | Nom du champ **Date de la facture**   | [Étape 7](/fr/flexi-capture/fls/tutorial3/3step7) |

Recherchez les champs **Numéro de facture** et **Date de la facture** sur la même ligne que leurs noms, à droite de ces derniers. Dans l'élément **InvoiceHeader**, créez les éléments de champ suivants :

| Élément           | Type                                                               | Correspond à                                                                       | Décrit dans                                       |
| :---------------- | :----------------------------------------------------------------- | :--------------------------------------------------------------------------------- | :------------------------------------------------ |
| **InvoiceNumber** | [Character String](/fr/flexi-capture/fls/template/character-chain) | Le champ **Numéro de facture**                                                     | [Étape 8](/fr/flexi-capture/fls/tutorial3/3step8) |
| **grDate**        | [Group](/fr/flexi-capture/fls/template/elements-compound)          | Regroupe les éléments qui permettent de rechercher le champ **Date de la facture** | [Étape 9](/fr/flexi-capture/fls/tutorial3/3step9) |

Dans l'élément `InvoiceHeader.grDate`, créez :

| Élément                 | Type                                                               | Correspond à                                                                                       | Décrit dans                                       |
| :---------------------- | :----------------------------------------------------------------- | :------------------------------------------------------------------------------------------------- | :------------------------------------------------ |
| **InvoiceDate**         | [Date](/fr/flexi-capture/fls/template/date)                        | Le champ **Date de la facture** sur des images de bonne qualité                                    | [Étape 9](/fr/flexi-capture/fls/tutorial3/3step9) |
| **InvoiceDateAsString** | [Character String](/fr/flexi-capture/fls/template/character-chain) | Le champ **Date de la facture** lorsque FlexiLayout Studio ne trouve pas l'élément **InvoiceDate** | [Étape 9](/fr/flexi-capture/fls/tutorial3/3step9) |

Pour plus d'informations sur la recherche de dates sur des images de mauvaise qualité, consultez [Recherche de dates après reconnaissance de haute ou basse qualité](/fr/flexi-capture/fls/tips-tricks/date2).

<div id="plan-the-search-for-the-delivery-address-field">
  ## Planifier la recherche du champ Adresse de livraison
</div>

Le champ **Adresse de livraison** comporte plusieurs lignes. Utilisez donc un élément [Paragraph](/fr/flexi-capture/fls/template/text-chain) pour le détecter. Avant de créer cet élément, limitez autant que possible la zone de recherche. Utilisez un élément [White Gap](/fr/flexi-capture/fls/template/white-gap) pour définir la limite droite de la zone de recherche.

Regroupez dans un élément [Group](/fr/flexi-capture/fls/template/elements-compound) tous les éléments qui décrivent l’emplacement du champ **Adresse de livraison**. Dans l’élément **InvoiceHeader**, créez un élément **Group** nommé **grAddress**. Pour plus d’informations, consultez [l’étape 10](/fr/flexi-capture/fls/tutorial3/3step10).

Dans l’élément **grAddress**, créez :

| Élément             | Type                                                   | Correspond à                                                             | Décrit dans                                         |
| :------------------ | :----------------------------------------------------- | :----------------------------------------------------------------------- | :-------------------------------------------------- |
| **wgAddressRight**  | [White Gap](/fr/flexi-capture/fls/template/white-gap)  | Élément auxiliaire délimitant le champ **Adresse de livraison** à droite | [Étape 11](/fr/flexi-capture/fls/tutorial3/3step11) |
| **DeliveryAddress** | [Paragraph](/fr/flexi-capture/fls/template/text-chain) | Champ **Adresse de livraison**                                           | [Étape 12](/fr/flexi-capture/fls/tutorial3/3step12) |
