Passer au contenu principal
Cet article décrit l’ordre dans lequel les FlexiLayouts sont mis en correspondance avec les documents et la façon dont les régions de champ sont sélectionnées. FCFORINVOICES peut utiliser plusieurs types de FlexiLayout lors de la mise en correspondance de la Document Definition :
  1. FlexiLayout générique, utilisé pour traiter toutes les factures et pouvant lui-même inclure deux sous-types de FlexiLayout :
a. un FlexiLayout principal, utilisé pour détecter les champs de facture standard prédéfinis (ce FlexiLayout est fourni avec FCFORINVOICES et ne peut pas être modifié) ; b. un FlexiLayout supplémentaire, utilisé pour détecter les champs définis par l’utilisateur ainsi que les champs de facture standard dont la logique de détection a été modifiée (ce FlexiLayout est créé par l’utilisateur).
  1. Variantes de FlexiLayout, utilisées pour traiter les factures de fournisseurs spécifiques. Les variantes de FlexiLayout peuvent être utilisées pour détecter tous les champs définis dans leur Document Definition respective. Elles peuvent être créées par l’utilisateur ou par FCFORINVOICES lorsqu’il est entraîné sur des factures de fournisseurs spécifiques.
Après la mise en correspondance de la Document Definition avec une facture, le programme obtient un ensemble de régions de champ provenant des différents FlexiLayouts inclus dans la Document Definition.

1. Mise en correspondance d’un FlexiLayout générique

A. Tout d’abord, le programme applique le FlexiLayout principal.

Paramètres de préreconnaissance

Une image de facture fait l’objet d’une préreconnaissance à l’aide des paramètres de préreconnaissance définis dans la Document Definition.

  • Les langues sont indiquées dans la section Pays et langues de l’onglet Paramètres de la boîte de dialogue Propriétés de la Document Definition.
    • Le mode de préreconnaissance (Rapide/ Équilibré/ Normal/ Précis) est indiqué dans l’onglet FlexiLayout de la boîte de dialogue Propriétés de la Document Definition.

Résultats obtenus en appliquant le FlexiLayout principal

En appliquant le FlexiLayout principal, le programme obtient :
  • l’ID du fournisseur et l’ID de l’unité commerciale, s’ils sont détectés
    • les régions des champs standard. (Voir Champs capturés pour plus de détails.)
B. Ensuite, le programme applique le FlexiLayout supplémentaire, s’il est disponible dans le FlexiLayout générique.

Paramètres de pré-reconnaissance

L’image de la facture est préreconnue à l’aide des paramètres de préreconnaissance (c’est-à-dire les langues et le mode de préreconnaissance) spécifiés dans le FlexiLayout. Nous vous recommandons de spécifier dans le FlexiLayout supplémentaire les mêmes paramètres de préreconnaissance que dans la Document Definition. Dans ce cas, le programme utilisera le résultat de préreconnaissance obtenu à l’étape 1A au lieu de préreconnaître la facture deux fois. Si vos factures contiennent des champs inhabituels, vous pouvez spécifier dans le FlexiLayout supplémentaire des paramètres de préreconnaissance différents de ceux de la Document Definition, mais cela ralentira le traitement.

Résultats obtenus par l’application du FlexiLayout supplémentaire

Lorsque le FlexiLayout supplémentaire est appliqué, le programme obtient les régions de tous les champs qui y sont définis. Il peut s’agir soit de champs de facture standard dont la logique de détection a dû être modifiée, soit de champs supplémentaires non définis dans le FlexiLayout principal. C. Ensuite, le programme génère le résultat global de l’application du FlexiLayout générique. Si la Document Definition inclut un FlexiLayout supplémentaire, à ce stade, le programme fusionne les résultats obtenus par l’application du FlexiLayout principal avec ceux obtenus par l’application du FlexiLayout supplémentaire. Les champs sont identifiés par leur nom. Le résultat est une collection de champs uniques issus des FlexiLayouts principal et supplémentaire. S’il existe des champs portant le même nom dans le FlexiLayout principal et dans le FlexiLayout supplémentaire, le programme utilisera la région du champ obtenue par l’application du FlexiLayout supplémentaire. Cette approche vous permet de définir de nouveaux champs ou de modifier la logique de capture de n’importe lequel des champs de facture standard.

2. Application des variantes FlexiLayout

Si, lors de l’application du FlexiLayout générique à l’étape 1, le programme a réussi à détecter le fournisseur et qu’il existe une variante de FlexiLayout pour ce fournisseur, cette variante de FlexiLayout est appliquée à ce stade.

Paramètres de pré-reconnaissance

Les paramètres de pré-reconnaissance de la Document Definition sont utilisés. Il s’agit des mêmes paramètres de pré-reconnaissance que ceux utilisés lors de la mise en correspondance du FlexiLayout principal inclus dans le FlexiLayout générique. Par conséquent, aucune pré-reconnaissance supplémentaire n’est nécessaire.

Résultats obtenus grâce à la mise en correspondance de la variante de FlexiLayout

Après avoir mis en correspondance la variante de FlexiLayout avec la facture, le programme obtient les régions de tous les champs définis dans la variante de FlexiLayout pour ce fournisseur précis. Notez que si une variante de FlexiLayout est obtenue en entraînant le programme sur différents types de factures, elle inclura tous les champs définis dans la Document Definition. Si, en revanche, une variante de FlexiLayout est créée manuellement, seuls les champs dont la détection nécessite des actions spécifiques au fournisseur concerné doivent être conservés dans la variante.

3. Fusion des résultats

À cette étape, les résultats obtenus par mise en correspondance du FlexiLayout générique sont fusionnés avec les résultats obtenus par mise en correspondance de la variante de FlexiLayout. Si la variante de FlexiLayout a été obtenue en entraînant le programme sur un ensemble varié de factures, elle inclut tous les champs définis dans la Document Definition. La Document Definition stocke des informations sur les champs dont les régions ont dû être modifiées par l’utilisateur pendant l’entraînement, c’est-à-dire les champs mal détectés par le FlexiLayout générique. Le programme s’appuiera sur ces informations pour déterminer quelles régions de champ doivent être prises du FlexiLayout générique et quelles régions doivent être prises de la variante de FlexiLayout entraînée sur les factures de ce fournisseur particulier.
La sélection des régions des champs Montant suit une logique différente. Lors de l’application du FlexiLayout générique, le programme indique le niveau de confiance avec lequel les régions des champs Montant ont été détectées. Si les régions sont détectées de manière peu fiable, le champ Total devra être vérifié. S’il existe une variante de FlexiLayout entraînée sur les factures du fournisseur concerné et si le FlexiLayout générique ne parvient pas à détecter les champs Montant avec un niveau de confiance suffisant, ou ne les détecte pas du tout, les régions des champs Montant détectées par la variante de FlexiLayout seront utilisées. Vous pouvez également configurer le programme pour qu’il utilise systématiquement les régions des champs Montant détectées par la variante de FlexiLayout. Pour ce faire, définissez la valeur de la clé de registre [HKEY_CURRENT_USER\Software\ABBYY\FlexiCapture\12.0\DAForms]“UseTrainedInvoiceAmounts” sur true (cette clé est définie sur false par défaut).
Si la variante de FlexiLayout a été créée manuellement, le programme utilisera les régions de tous les champs inclus dans la variante de FlexiLayout. Les régions des autres champs seront prises dans les résultats obtenus par mise en correspondance du FlexiLayout générique. Les informations indiquant quel FlexiLayout a été utilisé pour détecter la région d’un champ sont consignées dans le journal de reconnaissance.
Considérons certains des champs définis dans la Document Definition.Prenons deux champs de facture standard, InvoiceDate et InvoiceNumber, ainsi que deux champs définis par l’utilisateur, CustomFieldA et CustomFieldB.
  • InvoiceDate et InvoiceNumber sont des champs standard, et l’algorithme de détection de ces champs est spécifié dans le FlexiLayout principal inclus dans le FlexiLayout générique.
  • CustomFieldA et CustomFieldB sont des champs définis par l’utilisateur, et les algorithmes de détection de ces champs sont spécifiés dans le FlexiLayout supplémentaire inclus dans le FlexiLayout générique.
Supposons que l’Operator ne soit pas satisfait de la qualité de détection des champs InvoiceDate et CustomFieldB sur les factures d’un fournisseur spécifique et entraîne le programme sur les factures de ce fournisseur.Les régions de champ des factures de ce fournisseur seront fusionnées comme suit :
  • InvoiceNumber - Cette région proviendra des résultats obtenus avec le FlexiLayout principal
  • CustomFieldA - Cette région proviendra des résultats obtenus avec le FlexiLayout supplémentaire
  • InvoiceDate et CustomFieldB - Ces régions proviendront des résultats obtenus avec la variante de FlexiLayout générée en entraînant le programme sur les factures de ce fournisseur.
Dans le cas des factures d’autres fournisseurs, les régions de champ seront fusionnées comme suit :
  • InvoiceDate et InvoiceNumber - Ces régions proviendront des résultats obtenus avec le FlexiLayout principal.
  • CustomFieldA et CustomFieldB - Ces régions proviendront des résultats obtenus avec le FlexiLayout supplémentaire.