> ## 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: Erkennen der Felder TotalQuantity und TotalAmount mit den Elementen TotalQuantity und TotalAmount

> Extrahieren Sie die Werte für Gesamtmenge und Gesamtbetrag mit den Character String-Elementen 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 beide festzulegen, erstellen Sie ein [Gruppenelement](/de/flexi-capture/fls/template/elements-compound) mit dem Namen **grTotal**.

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

<Steps>
  <Step title="Gruppenelement erstellen">
    Erstellen Sie im Element **Fußzeile** ein [Gruppenelement](/de/flexi-capture/fls/template/elements-compound) und benennen Sie es **grTotal**.
  </Step>

  <Step title="Gruppe optional machen">
    Wählen Sie **Optional element** aus, damit die Suche nach Subelementen beendet wird, wenn der Name nicht vorhanden ist. Weitere Informationen finden Sie unter [Die Optional-Eigenschaft eines Gruppenelements](/de/flexi-capture/fls/tips-tricks/date11).
  </Step>

  <Step title="Suchbedingung hinzufügen">
    Klicken Sie auf die Registerkarte **Advanced**. Die Felder **Gesamtmenge** und **Gesamtbetrag** kommen nur zusammen mit dem Namen `Footer.kwTotal` vor. Legen Sie daher im Feld **Advanced pre-search relations** 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. In der [FlexiLayout language](/de/flexi-capture/fls/code/general-code):

    ```text theme={null}
    If Footer.kwTotal.IsNull Then DontFind;
    ```
  </Step>
</Steps>

<div id="create-the-totalquantity-element">
  ## Erstellen des Elements TotalQuantity
</div>

Das Feld **Gesamtmenge** befindet sich am Schnittpunkt der Zeile „Gesamtbetrag“ und der Spalte „Menge“. Die erste Bedingung haben Sie bereits auf Ebene des [Gruppenelements](/de/flexi-capture/fls/template/elements-compound) festgelegt. Verwenden Sie für die zweite Bedingung den zuvor erkannten Spaltennamen als Referenzelement.

<Steps>
  <Step title="Das Zeichenkettenelement erstellen">
    Erstellen Sie im Element **grTotal** ein Element vom Typ [Zeichenkette](/de/flexi-capture/fls/template/character-chain) und nennen Sie es **TotalQuantity**.
  </Step>

  <Step title="Die Zeichenanzahl festlegen">
    Klicken Sie auf die Registerkarte **Zeichenkette**. Geben Sie im Feld **Character count** das folgende Fuzzy-Intervall an: `{-1, 1, 10, INF}`. Damit wird die Länge der Zeichenkette geschätzt. Gehen Sie von Werten zwischen 1 und 10 aus. Jede Hypothese außerhalb dieses Bereichs wird abgewertet.

    Lassen Sie die Standardwerte für die übrigen Eigenschaften des Elements unverändert.
  </Step>

  <Step title="Die Positionsbedingungen festlegen">
    Klicken Sie auf die Registerkarte **Relations**. Das Feld **Gesamtmenge** befindet sich immer auf derselben Höhe wie die Namensschlüsselwörter `Footer.kwTotal` oder etwas darunter. Legen Sie daher diese Suchbedingungen fest:

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

    <Tip>
      Analysieren Sie bei der Auswahl der Versatzwerte die geometrischen Eigenschaften (Größe und Grenzen) der bei der Voraberkennung erkannten benachbarten Objekte. Andernfalls ermitteln Sie diese Werte durch Ausprobieren.
    </Tip>
  </Step>

  <Step title="Die Spaltenbedingung hinzufügen">
    Klicken Sie auf die Registerkarte **Advanced**. Das Feld **Gesamtmenge** ist optional. Falls es vorhanden ist, erscheint es jedoch zusammen mit der Spalte **Menge** und unter deren Namen. Legen Sie diese [zusätzliche Suchbedingung](/de/flexi-capture/fls/template/advanced-constraints) im Feld **Advanced pre-search relations** fest: Suchen Sie nur nach dem Objekt, wenn das Element `TableHeader.kwQuantity` erkannt wurde, und nicht weiter als 50 Punkte links oder rechts der jeweiligen Grenzen des Spaltennamens. In der [FlexiLayout language](/de/flexi-capture/fls/code/general-code):

    ```text theme={null}
    If Not (TableHeader.kwQuantity.IsNull) Then
    {
    LeftOf: TableHeader.kwQuantity.Right, -50 * dot;
    RightOf: TableHeader.kwQuantity.Left, -50 * dot;
    }
    Else DontFind;
    ```
  </Step>

  <Step title="Den Abgleich überprüfen">
    Gleichen Sie das FlexiLayout mit den Testbildern ab und bestätigen Sie, dass FlexiLayout Studio das Element in jedem Bild erkennt, in dem es vorkommt.
  </Step>

  <Step title="Das Source element des Blocks festlegen">
    Um die Position des Blocks **TotalQuantity** zu beschreiben, wählen Sie **Source element**, klicken Sie 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 **TotalQuantity** als Source element aus.
  </Step>
</Steps>

<div id="create-the-totalamount-element">
  ## Das Element „TotalAmount“ erstellen
</div>

Das Feld „Gesamtbetrag“ befindet sich am Schnittpunkt der Zeile „Gesamtbetrag“ (der Fußzeile der Tabelle) und der Spalte „Gesamtbetrag“. Die erste Bedingung haben Sie bereits auf Ebene des [Gruppenelements](/de/flexi-capture/fls/template/elements-compound) festgelegt. Verwenden Sie für die zweite Bedingung die zuvor erkannten Spaltennamen als Referenzelemente.

<Steps>
  <Step title="Das Zeichenkettenelement erstellen">
    Erstellen Sie im Element **grTotal** ein Element vom Typ [Zeichenkette](/de/flexi-capture/fls/template/character-chain) und nennen Sie es **TotalAmount**.
  </Step>

  <Step title="Die Zeichenanzahl festlegen">
    Klicken Sie auf die Registerkarte **Zeichenkette**. Geben Sie im Feld **Character count** das folgende Fuzzy-Intervall an: `[-1, 1, 20, 2147483647]`. Damit wird die Länge der Zeichenkette geschätzt; gehen Sie von Werten zwischen 1 und 20 aus. Jede Hypothese außerhalb dieses Bereichs wird abgewertet.

    Behalten Sie für die übrigen Eigenschaften des Elements die Standardwerte bei.
  </Step>

  <Step title="Die Positionsbedingungen festlegen">
    Klicken Sie auf die Registerkarte **Relations**. Das Feld **Gesamtbetrag** befindet sich immer auf derselben Höhe wie die Namensschlüsselwörter `Footer.kwTotal`. Legen Sie daher die folgenden Suchbedingungen fest:

    * **Oberhalb** dem Element `Footer.kwTotal`, **Versatz** = -20, **Reference boundary** = **Bottom**
    * **Unterhalb** dem Element `Footer.kwTotal`, **Versatz** = -20, **Reference boundary** = **Top**
  </Step>

  <Step title="Die Spaltenbedingung hinzufügen">
    Klicken Sie auf die Registerkarte **Advanced**. Das Feld **Gesamtbetrag** erscheint direkt unter dem Namen der Spalte **Total** (möglicherweise leicht versetzt) zwischen den Spalten **Unit Price** und **Sales**. Legen Sie im Feld **Advanced pre-search relations** eine [zusätzliche Suchbedingung](/de/flexi-capture/fls/template/advanced-constraints) fest, die zwei Fälle abdeckt:

    * Wenn `TableHeader.kwTotal` erkannt wurde, suchen Sie nach dem Objekt maximal 70 Dots rechts von dessen rechter Begrenzung und maximal 50 Dots links von dessen linker Begrenzung.
    * Andernfalls, wenn `TableHeader.kwUnitPrice` und `TableHeader.kwSales` erkannt wurden, suchen Sie nach dem Objekt maximal 40 Dots rechts von der linken Begrenzung von `TableHeader.kwSales` sowie rechts von der rechten Begrenzung von `TableHeader.kwUnitPrice`. Trifft keiner der Fälle zu, suchen Sie nicht nach dem Objekt.

    In der [FlexiLayout language](/de/flexi-capture/fls/code/general-code):

    ```text theme={null}
    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>
      Analysieren Sie bei der Auswahl der Versatzwerte die geometrischen Eigenschaften (Größe und Begrenzungen) der bei der Voraberkennung erkannten benachbarten Objekte. Andernfalls ermitteln Sie diese Werte durch Ausprobieren.
    </Tip>
  </Step>

  <Step title="Die Übereinstimmung überprüfen">
    Gleichen Sie das FlexiLayout mit den Testbildern ab und vergewissern Sie sich, dass FlexiLayout Studio das Element in jedem Bild erkennt, in dem es vorkommt.
  </Step>

  <Step title="Das Source element des Blocks festlegen">
    Um die Position des Blocks **TotalAmount** zu beschreiben, wählen Sie **Source element**, klicken Sie 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.
  </Step>
</Steps>
