> ## 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 9: Beschreiben des Felds Rechnungsdatum mit den Elementen grDate, InvoiceDate und InvoiceDateAsString

> Beschreiben Sie das Feld Rechnungsdatum mit den Elementen grDate, InvoiceDate und InvoiceDateAsString und fügen Sie für Scans schlechter Qualität ein Zeichenketten-Fallback hinzu.

Das Feld Rechnungsdatum befindet sich rechts von seiner Bezeichnung auf derselben horizontalen Ebene. Verwenden Sie ein Element vom Typ [Date](/de/flexi-capture/fls/template/date), um nach dem Datum zu suchen. Fügen Sie für Bilder schlechter Qualität, bei denen das Datum nicht korrekt erkannt wird und die Suche nach dem Date-Element keine Ergebnisse liefert, ein [Character String-Element](/de/flexi-capture/fls/template/character-chain) als Fallback hinzu. Um die Eigenschaften festzulegen, die für alle diese Elemente gemeinsam sind, erstellen Sie ein zusammengesetztes Element grDate.

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

<Steps>
  <Step title="Erstellen des Gruppenelements">
    Erstellen Sie im Element **InvoiceHeader** ein Element vom Typ [Gruppenelement](/de/flexi-capture/fls/template/elements-compound) und nennen Sie es **grDate**.
  </Step>

  <Step title="Festlegen der Suchbedingungen">
    Klicken Sie auf die Registerkarte **Relations**. Alle Elemente, die das Feld Rechnungsdatum erkennen, erscheinen nur rechts von der Bezeichnung **kwInvoiceDate** und auf derselben Ebene. Legen Sie daher diese Beziehungen fest:

    * **Rechts von** dem Element **kwInvoiceDate**, **Offset** = 0
    * **Oberhalb** des Elements **kwInvoiceDate**, **Offset** = -10, **Element boundary** = **Bottom**
    * **Unterhalb** des Elements **kwInvoiceDate**, **Offset** = -10, **Element boundary** = **Top**

    <Frame>
      <img src="https://mintcdn.com/abbyy/8aWHPAJyzWmTqglX/images/flexi-capture/fls/tutorial3_9_1.png?fit=max&auto=format&n=8aWHPAJyzWmTqglX&q=85&s=b8a549b777e1dab310616794a9f1a470" alt="Screenshot der Registerkarte Relations im Dialogfeld Properties of SearchElements.InvoiceHeader.grDate in ABBYY FlexiLayout Studio mit den Beziehungen RightOf, Below und Above zum Element kwInvoiceDate." width="431" height="455" data-path="images/flexi-capture/fls/tutorial3_9_1.png" />
    </Frame>
  </Step>
</Steps>

<div id="create-the-invoicedate-element">
  ## Das InvoiceDate-Element erstellen
</div>

<Steps>
  <Step title="Das Date-Element erstellen">
    Erstellen Sie im Element `InvoiceHeader.grDate` ein [Date](/de/flexi-capture/fls/template/date)-Element und nennen Sie es **InvoiceDate**.
  </Step>

  <Step title="Datumsformate angeben">
    Klicken Sie auf die Registerkarte **Date** und geben Sie alle Datumsformate an, die in den Bildern vorkommen können. Gehen Sie davon aus, dass das Format Tag, Monat, Jahr lautet, die Sprache Englisch ist und es keine weiteren Einschränkungen für das Datum gibt.

    <Frame>
      <img src="https://mintcdn.com/abbyy/8aWHPAJyzWmTqglX/images/flexi-capture/fls/tutorial3_9_2.png?fit=max&auto=format&n=8aWHPAJyzWmTqglX&q=85&s=2517c3f94b9000ce291c52ff20731544" alt="Screenshot der Registerkarte Date im Dialogfeld Properties von SearchElements.InvoiceHeader.grDate.InvoiceDate in ABBYY FlexiLayout Studio, der das ausgewählte Format Tag, Monat, Jahr mit Englisch als Datumssprache zeigt." width="431" height="455" data-path="images/flexi-capture/fls/tutorial3_9_2.png" />
    </Frame>
  </Step>

  <Step title="Die Suchbedingung hinzufügen">
    Klicken Sie auf die Registerkarte **Advanced**. Das Feld **Rechnungsdatum** ist optional, erscheint jedoch, falls vorhanden, immer zusammen mit seiner Bezeichnung direkt daneben. Legen Sie im Feld **Advanced pre-search relations** folgende [zusätzliche Suchbedingung](/de/flexi-capture/fls/template/advanced-constraints) fest: Suchen Sie nur nach dem Objekt, wenn **kwInvoiceDate** erkannt wurde, und wählen Sie das Objekt aus, das diesem am nächsten liegt. In der [FlexiLayout language](/de/flexi-capture/fls/code/general-code):

    ```text theme={null}
    If InvoiceHeader.kwInvoiceDate.IsNull Then DontFind;
    Nearest: InvoiceHeader.kwInvoiceDate;
    ```

    <Tip>
      Sie können die Bedingung **Nearest** auch über die grafische Benutzeroberfläche von FlexiLayout Studio festlegen. Klicken Sie auf die Registerkarte **Relations**, wählen Sie **Nearest** aus und wählen Sie in der Dropdown-Liste **To** die Option **Element** aus. Geben Sie dann **kwInvoiceDate** als **Referenzelement** an.
    </Tip>
  </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, das ein Feld **Rechnungsdatum** enthält.
  </Step>
</Steps>

Beim Testen wird das Element in einigen Bildern nicht erkannt. Die Voraberkennungsergebnisse zeigen, dass dies durch Rauschen im Feldbereich verursacht wird. Keine der Standardeigenschaften des [Date](/de/flexi-capture/fls/template/date)-Elements behebt das Problem. Erstellen Sie daher ein alternatives Element mit weniger strengen Suchbedingungen.

Weitere Informationen zum Finden von Datumsangaben in Bildern schlechter Qualität finden Sie unter [Date search after high or low-quality recognition](/de/flexi-capture/fls/tips-tricks/date2).

<div id="create-the-invoicedateasstring-element">
  ## Element InvoiceDateAsString erstellen
</div>

<Steps>
  <Step title="Character String-Element erstellen">
    Erstellen Sie im Element `InvoiceHeader.grDate` ein [Character String](/de/flexi-capture/fls/template/character-chain)-Element und nennen Sie es **InvoiceDateAsString**.
  </Step>

  <Step title="Zeichenanzahl festlegen">
    Klicken Sie auf die Registerkarte **Character String**. Geben Sie im Feld **Character count** dieses Fuzzy-Intervall an: `{-1, 8, 14, INF}`. Damit wird die Länge der Zeichenkette geschätzt; sie wird mit 8 bis 14 Zeichen angenommen. Jede Hypothese außerhalb dieses Bereichs wird abgewertet.
  </Step>

  <Step title="Maximale Leerzeichenlänge festlegen">
    Setzen Sie **Max space length** auf 20, sodass ein Leerzeichen 20 Punkte lang sein kann. Lassen Sie für die anderen Eigenschaften die Standardwerte unverändert.
  </Step>

  <Step title="Fallback-Bedingung hinzufügen">
    Klicken Sie auf die Registerkarte **Advanced**. FlexiLayout Studio soll dieses Element nur suchen, wenn das Element **InvoiceDate** nicht erkannt wurde. Legen Sie im Feld **Advanced pre-search relations** diese [zusätzliche Suchbedingung](/de/flexi-capture/fls/template/advanced-constraints) fest:

    ```text theme={null}
    If Not InvoiceDate.IsNull Then DontFind;
    ```
  </Step>

  <Step title="Positionsbedingung hinzufügen">
    Das Feld **Rechnungsdatum** ist optional, erscheint aber, falls vorhanden, immer zusammen mit seiner Bezeichnung und direkt daneben. Fügen Sie im Feld **Advanced pre-search relations** diese [zusätzliche Suchbedingung](/de/flexi-capture/fls/template/advanced-constraints) hinzu: Suchen Sie das Objekt nur, wenn **kwInvoiceDate** erkannt wurde, und wählen Sie das ihm nächstgelegene Objekt. In der [FlexiLayout language](/de/flexi-capture/fls/code/general-code):

    ```text theme={null}
    If InvoiceHeader.kwInvoiceDate.IsNull Then DontFind;
    Nearest: InvoiceHeader.kwInvoiceDate;
    ```
  </Step>

  <Step title="Abgleich überprüfen">
    Gleichen Sie das FlexiLayout mit den Testbildern ab und bestätigen Sie, dass FlexiLayout Studio das Element auf jedem Bild mit einem Feld **Rechnungsdatum** erkennt und eine Nullhypothese für das Element **InvoiceDate** generiert.
  </Step>

  <Step title="Quellenelement des Blocks festlegen">
    Um die Position des Blocks **InvoiceDate** 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 `InvoiceHeader.grDate` als Quellenelement aus.
  </Step>
</Steps>

<Info>
  Die Region eines [Gruppenelements](/de/flexi-capture/fls/template/elements-compound) ist die Vereinigung der Regionen aller erkannten Subelemente.
</Info>
