Este artículo describe el orden en que los FlexiLayouts se emparejan con los documentos y cómo se seleccionan las regiones de campo.
FlexiCapture for Invoices puede usar varios tipos de FlexiLayout al emparejar la Definición de Document:
- Un FlexiLayout genérico, que se utiliza para procesar todas las facturas y que, a su vez, puede incluir dos subtipos:
- Un FlexiLayout principal, utilizado para detectar los campos de factura estándar predefinidos. Este FlexiLayout se proporciona con FlexiCapture for Invoices y no puede modificarse.
- Un FlexiLayout adicional, utilizado para detectar campos definidos por el usuario y campos de factura estándar cuya lógica de detección se ha modificado. Este FlexiLayout es creado por el usuario.
- Variantes de FlexiLayout, que se utilizan para procesar facturas de proveedores específicos. Las variantes de FlexiLayout pueden detectar cualquier campo definido en su respectiva Definición de Document y pueden ser creadas por el usuario o por FlexiCapture for Invoices cuando se entrena con facturas de proveedores específicos.
Después de emparejar la Definición de Document con una factura, el programa obtiene un conjunto de regiones de campo procedentes de los distintos FlexiLayouts incluidos en la Definición de Document.
Etapa 1: Ejecutar la coincidencia del FlexiLayout genérico
Aplicar el FlexiLayout principal
Primero, el programa aplica el FlexiLayout principal. La imagen de la factura se somete a prerreconocimiento mediante los parámetros de prerreconocimiento especificados en la Definición de Document:
- Los idiomas se especifican en Países y lenguas, en la pestaña Configuración de Definición de Document del cuadro de diálogo Propiedades de Definición de Document.
- El modo de prerreconocimiento (Fast, Balanced, Normal o Accurate) se especifica en la pestaña FlexiLayout del cuadro de diálogo Propiedades de Definición de Document.
Como resultado de aplicar el FlexiLayout principal, el programa obtiene:
- El ID del proveedor y el ID de la unidad de negocio, si se detectan.
- Las regiones de los campos estándar. Para obtener más información, consulte Campos capturados.
Aplicar el FlexiLayout adicional
A continuación, el programa aplica el FlexiLayout adicional si está disponible en el FlexiLayout genérico.
La imagen de la factura se somete a prerreconocimiento con los parámetros de prerreconocimiento (los idiomas y el modo de prerreconocimiento) especificados en el FlexiLayout. Recomendamos especificar en el FlexiLayout adicional los mismos parámetros de prerreconocimiento que en la Definición de Document. En este caso, el programa utiliza el resultado del prerreconocimiento obtenido al aplicar el FlexiLayout principal en lugar de someter la factura a prerreconocimiento dos veces.
Si sus facturas contienen algunos campos inusuales, puede especificar distintos parámetros de prerreconocimiento en el FlexiLayout adicional, pero esto ralentiza el procesamiento.
Como resultado de aplicar el FlexiLayout adicional, el programa obtiene las regiones de todos los campos definidos en él. Estos pueden ser campos de factura estándar cuya lógica de detección ha tenido que modificarse, o campos adicionales no definidos en el FlexiLayout principal.
Generar el resultado agregado
A continuación, el programa genera el resultado agregado de aplicar el FlexiLayout genérico. Si la Definición de Document incluye un FlexiLayout adicional, en esta etapa el programa combina los resultados obtenidos al aplicar el FlexiLayout principal con los resultados obtenidos al aplicar el FlexiLayout adicional.
Los campos se identifican por sus nombres. El resultado es una colección de campos únicos derivados de los FlexiLayout principal y adicional. Si hay campos con nombres idénticos en el FlexiLayout principal y en el adicional, el programa utilizará la región del campo obtenida al aplicar el FlexiLayout adicional.
Este enfoque le permite definir campos nuevos o cambiar la lógica de captura de cualquiera de los campos de factura estándar.
Etapa 2: Aplicar variantes de FlexiLayout
Si el programa detectó al proveedor al aplicar el FlexiLayout genérico en la etapa 1 y existe una variante de FlexiLayout para este proveedor, esta variante de FlexiLayout se aplica en esta etapa.
Se utilizan los parámetros de prerreconocimiento de la Definición de Document. Son los mismos parámetros de prerreconocimiento que se utilizaron durante el emparejamiento del FlexiLayout principal incluido en el FlexiLayout genérico. Por lo tanto, no se requiere ningún prerreconocimiento adicional.
Después de emparejar la variante de FlexiLayout con la factura, el programa obtiene las regiones de todos los campos definidos en la variante de FlexiLayout para este proveedor específico. Si una variante de FlexiLayout se obtiene entrenando el programa con distintas facturas, incluye todos los campos definidos en la Definición de Document. Si una variante de FlexiLayout se crea manualmente, en la variante solo deben dejarse aquellos campos cuya detección requiera acciones específicas para ese proveedor.
Etapa 3: Fusionar los resultados
En este paso, los resultados obtenidos mediante el emparejamiento del FlexiLayout genérico se fusionan con los resultados obtenidos mediante el emparejamiento de la variante de FlexiLayout.
Si la variante de FlexiLayout se obtuvo entrenando el programa con distintas facturas, incluye todos los campos definidos en la Definición de Document. La Definición de Document almacena información sobre los campos cuyas regiones el usuario tuvo que cambiar durante el entrenamiento; es decir, los campos que el FlexiLayout genérico detectó de forma deficiente. El programa usa esta información para decidir qué regiones de campo tomar del FlexiLayout genérico y cuáles tomar de la variante de FlexiLayout entrenada con las facturas de este proveedor.
Las regiones de los campos Monto se seleccionan de otra manera. Al aplicar el FlexiLayout genérico, el programa especifica el nivel de confianza con el que se han detectado las regiones de los campos Monto. Si las regiones se detectan de forma poco fiable, el campo Total requiere verificación. Si existe una variante de FlexiLayout entrenada con facturas del proveedor indicado y el FlexiLayout genérico no detecta los campos Monto con un nivel de confianza suficiente, o no los detecta en absoluto, se usan las regiones de los campos Monto detectadas por la variante de FlexiLayout. También puede configurar el programa para que siempre use las regiones de los campos Monto detectadas por la variante de FlexiLayout. Para ello, establezca el valor de la clave del registro HKEY_CURRENT_USER\Software\ABBYY\FlexiCapture\12.0\DAForms\UseTrainedInvoiceAmounts en true (de forma predeterminada, la clave está establecida en false).
Si la variante de FlexiLayout se ha creado manualmente, el programa usa las regiones de todos los campos incluidos en la variante de FlexiLayout. Las regiones de los demás campos proceden del emparejamiento del FlexiLayout genérico.
La información sobre qué FlexiLayout se usó para detectar la región de un campo se registra en el registro de reconocimiento.
Consideremos algunos de los campos definidos en la Definición de Document.
Considere dos campos estándar de factura, InvoiceDate y InvoiceNumber, y dos campos definidos por el usuario, CustomFieldA y CustomFieldB.
- InvoiceDate y InvoiceNumber son campos estándar, y el algoritmo de detección de estos campos se especifica en el FlexiLayout principal incluido en el FlexiLayout genérico.
- CustomFieldA y CustomFieldB son campos definidos por el usuario, y los algoritmos de detección de estos campos se especifican en el FlexiLayout adicional incluido en el FlexiLayout genérico.
Suponga que el Operador no está satisfecho con la calidad de detección de los campos InvoiceDate y CustomFieldB en las facturas de un proveedor específico y entrena el programa con facturas de este proveedor.
Las regiones de campo de las facturas de este proveedor se combinan de la siguiente manera:
- InvoiceNumber — Esta región procede de los resultados obtenidos con el FlexiLayout principal.
- CustomFieldA — Esta región procede de los resultados obtenidos con el FlexiLayout adicional.
- InvoiceDate y CustomFieldB — Estas regiones proceden de los resultados obtenidos con la variante de FlexiLayout generada al entrenar el programa con facturas de este proveedor.
En el caso de las facturas de otros proveedores, las regiones de campo se combinan de la siguiente manera:
- InvoiceDate y InvoiceNumber — Estas regiones proceden de los resultados obtenidos con el FlexiLayout principal.
- CustomFieldA y CustomFieldB — Estas regiones proceden de los resultados obtenidos con el FlexiLayout adicional.