- Sie können die Positionen von Elementen relativ zu den Regionen von Feldern festlegen, die erkannt wurden, als das Haupt-FlexiLayout aus dem Rechnungsprojekt angewendet wurde.
- Bezeichner von Vendors und Geschäftsbereichen können in Anfragen an den Datensatz der Dokumentdefinition verwendet werden.
- Listen mit Schlüsselwörtern und anderen Parametern eines FlexiLayouts können in eine XML-Datei exportiert werden, sodass Sie sie bearbeiten können, ohne das FlexiLayout oder die Dokumentdefinition selbst zu bearbeiten.
Zusätzliches FlexiLayout erstellen
1
Öffnen Sie einen Batch in FlexiCapture
Öffnen Sie einen Batch mit erkannten Rechnungen in FlexiCapture.
2
Erstellen Sie ein Projekt in FlexiLayout Studio
Erstellen Sie ein neues Projekt in ABBYY FlexiLayout Studio. Wählen Sie im Hauptmenü Tools → Export Batch to FlexiLayout Studio → Create New FlexiLayout Studio Project… aus.
Dieser Befehl ist nur für FlexiCapture-Projekte verfügbar, die auf Ihrem Computer gespeichert sind. Wenn Sie die Distributed-Version von FlexiCapture verwenden und das Projekt auf dem Server gespeichert ist, laden Sie es zunächst auf Ihren Computer herunter, indem Sie im Menü Project auf Export Project… klicken.
Das Suffix des ABBYY FlexiLayout-Studio-Projekts gibt die Version der Dokumentdefinition zum Zeitpunkt der Projekterstellung an.
So fügen Sie einem zusätzlichen FlexiLayout ein Feld hinzu
- Um die Suchlogik für ein Feld zu beschreiben, müssen Sie einen Block mit einem eindeutigen Namen erstellen.
- Um die Suchlogik für ein Feld zu ändern, das bereits in der Dokumentdefinition vorhanden ist, müssen Sie einen Block mit demselben Namen erstellen.
Seiten zu einem zusätzlichen FlexiLayout hinzufügen
- Sie können FlexiCapture-Batches nur in ABBYY FlexiLayout Studio-Projekte exportieren, die über Tools → Export Batch to FlexiLayout Studio → Create New FlexiLayout Studio Project… erstellt wurden.
- Wenn Sie einen FlexiCapture-Batch nach ABBYY FlexiLayout Studio exportieren, wird dort für diesen Batch ein neuer Batch erstellt.
- Wenn die neue Document Definition mehr Felder enthält als die Document Definition, die für das ABBYY FlexiLayout Studio-Projekt verwendet wurde, wird im Exportprotokoll für jedes zusätzliche Feld eine Warnung ausgegeben.
- Damit das Programm die zusätzlichen Felder exportiert, fügen Sie für jedes zusätzliche Feld im Knoten CommonBlockRegions des Baums SearchElements einen Block mit demselben Namen hinzu.
Anfragen an Datensätze aus der Dokumentdefinition senden
Funktionen
- Der Pfad zur Dokumentdefinition und der Name des Datensatzes werden verwendet, um auf den Datensatz zuzugreifen, wenn in ABBYY FlexiLayout Studio mit einem FlexiLayout gearbeitet wird.
- Nachdem ein kompiliertes FlexiLayout in FlexiCapture zu einer Dokumentdefinition hinzugefügt wurde, wird für den Zugriff auf den Datensatz nur noch dessen Name verwendet.
-
Format von connectionString:
Hinweis: Trennen Sie die Bestandteile des Pfads durch doppelte Backslashes (
\\). - searchFields — Array mit den Namen der Spalten, aus denen Werte abgerufen werden sollen.
-
searchCriteria — Array von Spalte-Eintrag-Paaren; wenn leer, werden alle Werte zurückgegeben.
- Wenn eine Abfrage mehrere Werte für ein Feld enthält, verwenden Sie den Operator OR.
- Wenn eine Abfrage mehrere Werte enthält, die jeweils nur einem Feld entsprechen, verwenden Sie den Operator AND.
- Wenn eine Abfrage mehrere Werte für ein Feld sowie Werte für mehrere Felder enthält, verwenden Sie den Operator OR, um mehrere Werte für ein Feld zu unterscheiden, und den Operator AND, um die Werte verschiedener Felder zu verknüpfen.
In einem Bild nach Einträgen aus einer Spalte in einer externen Datenbank suchen
1
Die Spalten auflisten
Verwenden Sie FieldNamesOfFCDataset, um eine nach den Indexnummern aufsteigend sortierte Liste der Spalten abzurufen.
2
Den Spaltenindex ermitteln
Ermitteln Sie die Indexnummer der Spalte, aus der Sie Daten suchen möchten.
3
Den Filter erstellen
Erstellen Sie ein array von Bedingungen, um Daten aus dem Datensatz zu filtern.
4
Die Suche ausführen
Übergeben Sie die Indexnummer der Spalte und die Filterbedingungen an SearchTextFromFCDataSet (oder an RegularExpressionFromFCDataSet, wenn Sie reguläre Ausdrücke verwenden möchten).
In einem Bild nach Einträgen aus mehreren Spalten suchen
1
Die Spalten auflisten
Erstellen Sie ein array mit den Namen der Spalten, in denen Sie Daten suchen möchten.
2
Den Filter erstellen
Erstellen Sie ein array mit Filterbedingungen, um Daten aus dem Datensatz zu filtern.
3
Die Einträge zählen
Ermitteln Sie mit der Funktion RecordCountOfFCDataset die Anzahl der zurückgegebenen Einträge.
4
Die Abfrage vorbereiten
Bereiten Sie die Abfragedaten mit der Funktion PrepareRecordsetOfFCDataset vor.
5
Jeden Datensatz lesen
Gehen Sie alle Datensätze durch und rufen Sie für jeden Datensatz mit der Methode RecordOfFCDataset das array ab.
6
Die Werte an SearchText übergeben
Übergeben Sie den Wert jedes Elements im array an die Funktion SearchText.
Zusätzliche Hinweise zu komplexen Spalten
-
Die Funktion FieldNamesOfFCDataset gibt ein Array zurück, das den Namen der komplexen Spalte mehrfach enthält. Die Anzahl der Vorkommen entspricht der Anzahl der Spalteninstanzen in einer kodierten externen Datenbank.
Beispiel:
{VendorId, VATID, Name, Name, Name, City}. In diesem Fall enthält die externe Datenbank drei Spalten für die eine komplexe Spalte Name im Datensatz. - Wenn SearchCriteria eine Bedingung für ein Feld enthält, das einer komplexen Spalte entspricht (wie im obigen Beispiel), wird diese Bedingung verwendet, um alle diese Spalteninstanzen zu überprüfen.
-
Wenn searchFields eine Bedingung für ein Feld enthält, das einer komplexen Spalte entspricht (wie im obigen Beispiel), enthält das Ergebnis ein Array mit den Werten aus jeder Spalteninstanz.
Wenn Sie zum Beispiel für
{VendorId, VATID, Name, Name, Name, City}Folgendes anfordern: - Sie können eine Liste der zurückgegebenen Spalten abrufen, indem Sie das Array searchFields an die Funktion FieldNamesOfFCDataset übergeben.
