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

Die Analyse der Testbilder zeigt, dass sich das Feld Rechnungsdatum rechts von seiner Bezeichnung und auf derselben horizontalen Ebene wie diese befindet. Verwenden Sie ein Element vom Typ [Date](/de/flexi-capture/fls/template/date), um nach dem Datum zu suchen. Erstellen Sie für Bilder von schlechter Qualität, bei denen Datumsangaben möglicherweise nicht korrekt erkannt werden und die Suche nach dem Date-Element keine Ergebnisse liefert, zusätzlich ein Element vom Typ [Zeichenkette](/de/flexi-capture/fls/template/character-chain). Um die Eigenschaften festzulegen, die für alle diese Elemente gemeinsam sind, erstellen Sie ein zusammengesetztes Element **grDate**.

So erstellen Sie das Element **grDate**:

1. Erstellen Sie im Element **InvoiceHeader** ein Element vom Typ [Group](/de/flexi-capture/fls/template/elements-compound) und nennen Sie es **grDate**.
2. Klicken Sie auf die Registerkarte **Relations**.
3. Da alle Elemente, die zum Erkennen des Felds Rechnungsdatum verwendet werden, nur rechts von den Schlüsselwörtern der Bezeichnung **kwInvoiceDate** vorkommen dürfen und sich auf derselben Ebene wie die Bezeichnung befinden, legen Sie die folgenden Suchbedingungen fest:
   * Rechts vom 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>

So erstellen Sie das Element **InvoiceDate**:

1. Erstellen Sie im Element `InvoiceHeader.grDate` ein Element vom Typ [Date](/de/flexi-capture/fls/template/date) und nennen Sie es **InvoiceDate**.
2. Klicken Sie auf die Registerkarte **Date**.
3. Geben Sie auf der Registerkarte **Date** alle möglichen Datumsformate an, die auf den Bildern vorkommen können. Gehen Sie davon aus, dass das Datumsformat Tag, Monat, Jahr ist, 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 of SearchElements.InvoiceHeader.grDate.InvoiceDate in ABBYY FlexiLayout Studio, bei dem das Format Tag, Monat, Jahr ausgewählt ist und Englisch als Datumssprache festgelegt wurde." width="431" height="455" data-path="images/flexi-capture/fls/tutorial3_9_2.png" />
</Frame>

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

2. Da das Feld **Rechnungsdatum** in diesem Dokument optional ist, aber, wenn es vorkommt, zusammen mit seiner Bezeichnung erscheint und sich immer neben dieser befindet, legen Sie im Feld Advanced pre-search relations die folgende [zusätzliche Suchbedingung](/de/flexi-capture/fls/template/advanced-constraints) fest: Suchen Sie nur dann nach dem Objekt auf dem Bild, wenn das Element **kwInvoiceDate** erkannt wurde. Suchen Sie nach dem Bildobjekt, das dem Element **kwInvoiceDate** am nächsten liegt. In der [FlexiLayout language](/de/flexi-capture/fls/code/general-code):
   `If InvoiceHeader.kwInvoiceDate.IsNull Then DontFind;`
   `Nearest: InvoiceHeader.kwInvoiceDate;`

   <Tip>
     Die **Bedingung Nearest** kann auch über die grafische Benutzeroberfläche des Programms festgelegt werden. Klicken Sie auf die Registerkarte **Relations**, wählen Sie **Nearest**, und wählen Sie in der Dropdown-Liste **To:** den Eintrag **Element** aus. Geben Sie dann **kwInvoiceDate** als **Referenzelement** an.
   </Tip>

3. Testen Sie das Matching des FlexiLayouts mit den Testbildern und stellen Sie sicher, dass das Programm das Element auf allen Bildern, auf denen ein Feld **Rechnungsdatum** vorhanden ist, erfolgreich erkennt.

Beim Testen werden Sie feststellen, dass das Element auf einigen Bildern nicht erkannt wurde. Die Analyse der Ergebnisse der Vorerkennung zeigt, dass dies auf Rauschen im Bereich des Felds zurückzuführen ist. Keine der Standardeigenschaften des Elements [Date](/de/flexi-capture/fls/template/date) eignet sich, um dieses Problem zu beheben. Daher müssen Sie ein alternatives Element mit weniger strengen Suchbedingungen erstellen.

<Note>
  Weitere Informationen zum Finden von Datumsangaben auf Bildern schlechter Qualität finden Sie unter [Datumssuche nach Erkennung mit hoher oder niedriger Qualität](/de/flexi-capture/fls/tips-tricks/date2).
</Note>

So erstellen Sie das Element **InvoiceDateAsString**:

1. Erstellen Sie im Element `InvoiceHeader.grDate` ein Element vom Typ [Zeichenkette](/de/flexi-capture/fls/template/character-chain) und benennen Sie es **InvoiceDateAsString**.

2. Klicken Sie auf die Registerkarte Zeichenkette.

3. Geben Sie im Feld Zeichenanzahl dieses Fuzzy-Intervall an: `{-1, 8, 14, INF}`. Dies ist eine Schätzung der `string`-Länge. Gehen Sie davon aus, dass die `string` 8 bis 14 Zeichen lang sein kann. Jede Hypothese außerhalb dieses Bereichs wird herabgestuft.

4. Setzen Sie die Max. Leerraumlänge auf 20; das bedeutet, dass das Leerzeichen 20 dots lang sein kann.

5. Lassen Sie für die übrigen Eigenschaften die Standardwerte unverändert.

6. Klicken Sie auf die Registerkarte Advanced.

7. Da das Programm nur dann nach diesem Element suchen soll, wenn das Element **InvoiceDate** nicht erkannt wurde, legen Sie im Feld Advanced pre-search relations die folgende [zusätzliche Suchbedingung](/de/flexi-capture/fls/template/advanced-constraints) fest: Suchen Sie nur dann nach dem Objekt, wenn das Element **InvoiceDate** nicht erkannt wurde. In der [FlexiLayout language](/de/flexi-capture/fls/code/general-code):
   `If Not InvoiceDate.IsNull Then DontFind;`

8. Da das Feld **Rechnungsdatum** in diesem Dokument optional ist, aber, wenn es vorkommt, immer zusammen mit seiner Bezeichnung vorhanden ist und sich daneben befindet, legen Sie im Feld Advanced pre-search relations die folgende [zusätzliche Suchbedingung](/de/flexi-capture/fls/template/advanced-constraints) fest: Suchen Sie nur dann in dem image nach dem Objekt, wenn das Element **kwInvoiceDate** erkannt wurde. Suchen Sie das Bildobjekt, das dem Element **kwInvoiceDate** am nächsten liegt. In der [FlexiLayout language](/de/flexi-capture/fls/code/general-code):
   `If InvoiceHeader.kwInvoiceDate.IsNull Then DontFind;`
   `Nearest: InvoiceHeader.kwInvoiceDate;`

   <Tip>
     Die Bedingung **Nearest** kann auch über die grafische user interface des Programms angegeben werden. Klicken Sie auf die Registerkarte **Relations**, wählen Sie **Nearest** aus, und wählen Sie in der Dropdown-Liste **To:** **Element** aus und geben Sie **kwInvoiceDate** als **Referenzelement** an.
   </Tip>

9. Führen Sie den Abgleich des FlexiLayouts mit den Testbildern durch und stellen Sie sicher, dass das Programm das Element auf allen Bildern, auf denen ein Feld **Rechnungsdatum** vorhanden ist, erfolgreich erkennt und für das Element **InvoiceDate** eine null hypothesis erzeugt.

10. Um die Position des Blocks **InvoiceDate** 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 `InvoiceHeader.grDate` als source element aus.

<Note>
  Die Region eines [Gruppenelements](/de/flexi-capture/fls/template/elements-compound) wird berechnet, indem die Regionen aller erkannten Subelemente vereinigt werden.
</Note>
