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

# Beispiel 3. Schritt 25: Erkennung der Felder TotalQuantity und TotalAmount mit den Elementen TotalQuantity und TotalAmount

> Extrahieren Sie die Werte für Gesamtmenge und Gesamtbetrag mit den Zeichenkettenelementen TotalQuantity und TotalAmount innerhalb einer optionalen grTotal-Gruppe.

Die Analyse der Testbilder zeigt, dass die Felder Gesamtmenge und Gesamtbetrag nur zusammen mit dem Namen `Footer.kwTotal` vorkommen und sich auf gleicher Höhe befinden.

Verwenden Sie Elemente vom Typ [Zeichenkette](/de/flexi-capture/fls/template/character-chain), um die Felder Gesamtmenge und Gesamtbetrag zu erkennen. Um die gemeinsamen Suchbedingungen für diese Elemente festzulegen, erstellen Sie ein [Gruppenelement](/de/flexi-capture/fls/template/elements-compound) — grTotal.

<div id="create-the-grtotal-group-element">
  ## Erstellen des Gruppenelements grTotal
</div>

So erstellen Sie das [Gruppenelement](/de/flexi-capture/fls/template/elements-compound) grTotal:

1. Erstellen Sie im Element Footer ein [Gruppenelement](/de/flexi-capture/fls/template/elements-compound) und nennen Sie es **grTotal**.

2. Wählen Sie **Optional element** aus, damit die Suche nach den Subelementen abgebrochen wird, wenn der Name fehlt.

   <Note>
     Weitere Informationen finden Sie unter [The Optional property of a Group element](/de/flexi-capture/fls/tips-tricks/date11).
   </Note>

3. Klicken Sie auf die Registerkarte Advanced.

4. Da die Felder **Gesamtmenge** und **Gesamtbetrag** im Bild nur zusammen mit dem Namen `Footer.kwTotal` vorkommen, legen Sie im Feld Advanced pre-search relations die folgende [zusätzliche Suchbedingung](/de/flexi-capture/fls/template/advanced-constraints) fest: Wenn das Element `Footer.kwTotal` nicht erkannt wurde, suchen Sie nicht nach dem Objekt im Bild. In der [FlexiLayout-Sprache](/de/flexi-capture/fls/code/general-code):
   `If Footer.kwTotal.IsNull Then DontFind;`

<div id="create-the-totalquantity-element">
  ## Erstellen Sie das Element TotalQuantity
</div>

Das Feld Gesamtmenge befindet sich am Schnittpunkt der Zeile Gesamtbetrag und der Spalte Menge. Die erste Suchbedingung wurde bereits auf der Ebene des Elements [Group](/de/flexi-capture/fls/template/elements-compound) festgelegt. Um die zweite Suchbedingung festzulegen, verwenden Sie den zuvor erkannten Spaltennamen als Referenzelement.

So erstellen Sie das Element TotalQuantity:

1. Erstellen Sie im Element **grTotal** ein Element vom Typ [Zeichenkette](/de/flexi-capture/fls/template/character-chain) und nennen Sie es **TotalQuantity**.

2. Klicken Sie auf die Registerkarte Zeichenkette.

3. Geben Sie im Feld Zeichenanzahl dieses Fuzzy-Intervall an: `{-1, 1, 10, INF}`. Dies ist eine Schätzung der Länge der Zeichenkette. Gehen Sie davon aus, dass die möglichen Werte zwischen 1 und 10 liegen. Alle Hypothesen außerhalb dieses Bereichs werden abgewertet.

4. Belassen Sie die Standardwerte für die anderen Parameter des Elements.

5. Klicken Sie auf die Registerkarte Relations.

6. Da sich das Feld **Gesamtmenge** immer auf derselben Höhe wie das Schlüsselwort `Footer.kwTotal` oder etwas darunter befindet, legen Sie die folgenden Suchbedingungen fest:

   * Oberhalb des Elements `Footer.kwTotal`, Offset = -200, Reference boundary = Bottom
   * Unterhalb des Elements `Footer.kwTotal`, Offset = -20, Reference boundary = Top

   <Tip>
     Bevor Sie die Werte für die Versätze festlegen, sollten Sie die geometrischen Eigenschaften (d. h. Größe und Grenzen) der benachbarten Objekte analysieren, die bei der Voraberkennung erkannt wurden. Offset-Werte werden durch Versuch und Irrtum ermittelt.
   </Tip>

7. Klicken Sie auf die Registerkarte Advanced.

8. Da das Feld **Gesamtmenge** auf den Bildern optional ist, aber, wenn es vorkommt, immer zusammen mit der Spalte **Menge** und unterhalb ihrer Bezeichnung erscheint, legen Sie die folgende [zusätzliche Suchbedingung](/de/flexi-capture/fls/template/advanced-constraints) im Feld Advanced pre-search relations fest:

   Suchen Sie nur dann nach dem Objekt auf dem Bild, wenn das Element `TableHeader.kwQuantity` erkannt wurde. Suchen Sie nicht weiter als 50 dots links oder rechts von den entsprechenden Grenzen des Spaltennamens. In der [FlexiLayout-Sprache](/de/flexi-capture/fls/code/general-code):
   `If Not (TableHeader.kwQuantity.IsNull) Then`
   `{`
   `LeftOf: TableHeader.kwQuantity.Right, -50 * dot;`
   `RightOf: TableHeader.kwQuantity.Left, -50 * dot;`
   `}`
   `Else DontFind;`

9. Versuchen Sie, das FlexiLayout mit den Testbildern abzugleichen, und stellen Sie sicher, dass das Programm das Element in allen zutreffenden Bildern erfolgreich erkennt.

10. Um die Position des Blocks **TotalQuantity** zu beschreiben, wählen Sie die Option Source element aus, klicken Sie dann auf „…“ und wählen Sie das Element **TotalQuantity** als Source element aus.

<div id="create-the-totalamount-element">
  ## Erstellen des Elements TotalAmount
</div>

Das Feld Gesamtbetrag befindet sich am Schnittpunkt der Zeile Gesamtbetrag (der Fußzeile der Tabelle) und der Spalte Gesamtbetrag. Die erste Suchbedingung wurde bereits auf der Ebene des Elements [Gruppenelement](/de/flexi-capture/fls/template/elements-compound) festgelegt. Um die zweite Suchbedingung zu definieren, verwenden Sie die zuvor erkannten Spaltennamen als Referenzelemente.

So erstellen Sie das Element TotalAmount:

1. Erstellen Sie im Element **grTotal** ein Element vom Typ [Zeichenkette](/de/flexi-capture/fls/template/character-chain) und nennen Sie es **TotalAmount**.

2. Klicken Sie auf die Registerkarte Zeichenkette.

3. Geben Sie im Feld Zeichenanzahl das folgende Fuzzy-Intervall an: `[-1, 1, 20, 2147483647]`. Dies ist eine Schätzung der Länge der Zeichenkette. Gehen Sie davon aus, dass die möglichen Werte zwischen 1 und 20 liegen. Alle Hypothesen außerhalb dieses Bereichs werden abgewertet.

4. Belassen Sie die Standardwerte für die übrigen Parameter des Elements.

5. Klicken Sie auf die Registerkarte Relations.

6. Da sich das Feld **Gesamtbetrag** immer auf derselben Höhe wie die Schlüsselwörter mit dem Namen `Footer.kwTotal` befindet, legen Sie die folgenden Suchbedingungen fest:
   * Oberhalb des Elements `Footer.kwTotal`, Offset = -20, Reference boundary = Bottom.
   * Unterhalb des Elements `Footer.kwTotal`, Offset = -20, Reference boundary = Top.

7. Klicken Sie auf die Registerkarte **Advanced**.

8. Da sich das Feld **Gesamtbetrag** nur direkt unter dem Namen der Spalte **Gesamtbetrag** (möglicherweise mit einer kleinen Verschiebung) und nur zwischen den Spalten **Stückpreis** und **Sales** befinden kann, legen Sie im Feld Advanced pre-search relations die folgende [zusätzliche Suchbedingung](/de/flexi-capture/fls/template/advanced-constraints) fest:

   Wenn das Element `TableHeader.kwTotal` erkannt wurde, suchen Sie nach dem Objekt höchstens 70 dots rechts der rechten Begrenzung des Elements `TableHeader.kwTotal` und höchstens 50 dots links der linken Begrenzung des Elements `TableHeader.kwTotal`.

   Oder: Wenn die Elemente `TableHeader.kwUnitPrice` und `TableHeader.kwSales` erkannt wurden, suchen Sie nach dem Objekt höchstens 40 dots rechts der linken Begrenzung des Elements `TableHeader.kwSales` und rechts der rechten Begrenzung des Elements `TableHeader.kwUnitPrice`; andernfalls suchen Sie nicht nach dem Objekt. In der [FlexiLayout-Sprache](/de/flexi-capture/fls/code/general-code):
   `If Not (TableHeader.kwTotal.IsNull) Then`
   `{`
   `LeftOf: TableHeader.kwTotal.Right, -70 * dot;`
   `RightOf: TableHeader.kwTotal.Left, -50 * dot;`
   `}`
   `Else`
   `If Not (TableHeader.kwUnitPrice.IsNull) and Not (TableHeader.kwSales.IsNull) Then`
   `{`
   `LeftOf: TableHeader.kwSales.Left, -40 * dot;`
   `RightOf: TableHeader.kwUnitPrice, 0 * dot;`
   `}`
   `Else DontFind;`

   <Tip>
     Bevor Sie die Werte für die Offsets festlegen, sollten Sie gegebenenfalls die geometrischen Eigenschaften (d. h. Größe und Begrenzungen) der benachbarten Objekte analysieren, die während der Voraberkennung erkannt wurden. Offset-Werte werden durch Versuch und Irrtum ermittelt.
   </Tip>

9. Führen Sie den Abgleich des FlexiLayouts mit den Testbildern durch und stellen Sie sicher, dass das Programm das Element in allen zutreffenden Bildern erfolgreich erkennt.

10. Um die Position des Blocks **TotalAmount** zu beschreiben, wählen Sie die Option Source element aus, klicken Sie dann auf <img src="https://mintcdn.com/abbyy/fmgRWFNHKYN2MLSg/images/flexi-capture/fls/Browse_Button.gif?s=3673db30dda4a3293aec716853588b55" alt="Schaltfläche „Durchsuchen”" style={{display:"inline-block",verticalAlign:"middle",margin:0}} width="21" height="20" data-path="images/flexi-capture/fls/Browse_Button.gif" /> und wählen Sie das Element **TotalAmount** als Source element aus.
