Saltar al contenido principal
Una vez analizadas las imágenes, observará que el nombre de la columna Precio unitario puede describirse mediante el siguiente texto de búsqueda: “UnitPrice”, “Price” y “RATE”, mientras que el nombre Unit aparece como “Unit”. Para evitar que el programa detecte la palabra “Unit” en el nombre de la columna Precio unitario, primero describiremos Precio unitario, ya que contiene texto único, y después usaremos una relación adicional para describir Unit. Al crear un elemento para buscar las palabras clave del nombre de la columna Precio unitario, tenga en cuenta que la columna Precio unitario siempre se encuentra a la derecha de la columna Cantidad. Para crear un elemento kwUnitPrice:
  1. En el elemento TableHeader, cree un elemento de tipo texto estático y asígnele el nombre kwUnitPrice.
  2. Haga clic en la pestaña Texto estático.
  3. En el campo Search text, especifique el texto que se va a buscar: UnitPrice|Price|RATE.
  4. Para especificar que el nombre que estamos buscando se encuentra al mismo nivel que el nombre Designation, haga clic en la pestaña Relations y especifique las siguientes restricciones adicionales. Consulte Paso 7.2 para obtener más detalles.
  5. En la pestaña Relations, especifique la siguiente condición: busque el elemento más cercano a la coordenada X con value = 0.
  1. Haga clic en la pestaña Advanced.
  2. Como el nombre de la columna Unit Price se encuentra a la derecha del nombre de la columna kwQuantity, especifique las siguientes condiciones adicionales en Relaciones avanzadas de prebúsqueda:Si se ha detectado el elemento kwQuantity, busque el objeto de imagen a la derecha del elemento kwQuantity. En FlexiLayout language, esta condición puede escribirse de la siguiente manera: If Not (TableHeader.kwQuantity.IsNull) Then RightOf: TableHeader.kwQuantity, 0 * dot;
  3. Para optimizar el proceso de búsqueda, especifique una condición adicional:No busque el nombre si no se ha detectado el nombre Designation. Consulte Paso 7.2 para obtener más detalles.
  4. Podemos influir en la calidad de las hipótesis generadas especificando comprobaciones adicionales en el campo Relaciones avanzadas de posbúsqueda. En este caso, podemos especificar la siguiente comprobación:Si se ha detectado el elemento, calcule la diferencia entre el ancho de referencia y el ancho del elemento detectado y compruebe si pertenece al intervalo difuso indicado. En FlexiLayout language, esta condición puede escribirse de la siguiente manera: If not IsNull then { FuzzyQuality: 400dt - width, {-50000,0,0, 50000}*dt; } //Esta comprobación significa que cuanto mayor sea la diferencia, mayor será el coeficiente de penalización
  5. Ejecute Match en el FlexiLayout para asegurarse de que el elemento se detecta en la primera página del documento.