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

# Skriptaktivität

> Mit benutzerdefinierten JavaScript-Regeln von anderen Aktivitäten extrahierte Daten verarbeiten oder korrigieren — Werte normalisieren, zwischen Feldern auswählen oder berechnete Werte ermitteln.

Die Skriptaktivität ist dafür vorgesehen, Skriptregeln in einem Skill umzusetzen, zusätzlich zu den in verschiedenen Extraktionsaktivitäten verfügbaren Regeln. Ein Skript kann Regeln zum Verarbeiten oder Korrigieren von Daten enthalten, die von anderen Aktivitäten extrahiert wurden. Möglicherweise benötigen Sie Skriptregeln in folgenden Fällen:

* Normalisieren eines Feldwerts, z. B. das Trennen eines Alpha-Codes (dreistelliger Währungscode) von einem im Dokument angegebenen Währungsbetrag.
* Auswählen eines von mehreren Feldwerten, z. B. Festlegen, welcher von mehreren Werten im Ergebnisfeld ausgewählt und übernommen werden soll, wenn der Wert eines einzelnen Felds von mehr als einer Aktivität extrahiert wird.
* Berechnen von Feldwerten, die im Dokument nicht gefunden werden konnten, z. B. Berechnung der zu zahlenden Steuer mithilfe eines bekannten Steuersatzes, wenn alle Felder mit steuerpflichtigen Beträgen extrahiert wurden.

Im Gegensatz zu Geschäftsregeln markieren Skriptregeln während der Manuellen Überprüfung keine Werte mit Fehlern. Dies liegt daran, dass Skriptregeln dazu dienen, die bei der Dokumentverarbeitung gewonnenen Daten zu ergänzen und zu korrigieren, und ein integraler Bestandteil von Document-Skills sind.

<div id="set-up-a-script-activity">
  ## Eine Skriptaktivität einrichten
</div>

<Steps>
  <Step title="Die Aktivität hinzufügen">
    Fügen Sie im Tab **Activities** eine Skriptaktivität zum Dokumentverarbeitungsablauf hinzu. Beachten Sie, dass Sie die Aktivität nach allen anderen Aktivitäten zur Feldextraktion hinzufügen sollten, auf die sich Ihre Regel möglicherweise bezieht.
  </Step>

  <Step title="Den Skripteditor öffnen">
    Klicken Sie im Bereich **Activity Properties** auf **Skripteditor**.
  </Step>

  <Step title="Das Skript schreiben">
    Erstellen Sie im geöffneten Dialog Ihre Regel als Skript, indem Sie mit JavaScript ein Skript schreiben, das alle erforderlichen Aktionen ausführt. Sie können die Schaltflächen für die Schnellbearbeitung im oberen Bereich des Bildschirms verwenden, um Ihrem Skript vordefinierte Code-Snippets hinzuzufügen. Beispiele für Skriptregeln, die Sie anpassen können, finden Sie unten unter [Beispiel-Skriptregeln](#sample-script-rules).
  </Step>

  <Step title="Das Skript speichern">
    Klicken Sie auf **Save**. Im Bereich **Activity Properties** wird dann eine Liste aller im Skript verwendeten Felder angezeigt. Prüfen Sie, ob die Liste alle erforderlichen Felder enthält.
  </Step>

  <Step title="Die Aktivität testen">
    Klicken Sie auf **Test Activity** und analysieren Sie die Extraktionsergebnisse. Wenn die Regel nicht wie vorgesehen funktioniert hat, prüfen Sie, ob das Skript korrekt geschrieben wurde. Prüfen Sie außerdem die Extraktionsqualität aller in der Skriptregel verwendeten Felder.
  </Step>
</Steps>

<div id="sample-script-rules">
  ## Beispielskriptregeln
</div>

* Diese Skriptregel fügt dem Wert im **Gesamtbetrag**-Feld einen dreibuchstabigen Währungscode hinzu. Die Regel prüft zunächst den Wert des **Country**-Felds. Wenn der Wert dieses Felds entweder „USA“ oder „United States“ ist, wird ein „USD“-Code zum numerischen Wert im **Gesamtbetrag**-Feld hinzugefügt. Wenn der Wert des **Country**-Felds entweder „United Kingdom“ oder „Great Britain“ ist, wird ein „GBP“-Code zum numerischen Wert im **Gesamtbetrag**-Feld hinzugefügt.

```javascript theme={null}
if ( Context.GetField("Country").Value == "USA"|"United States" ) {
               Context.GetField("Total").Value = Context.GetField("Total").Value + " USD";
} else 
if( Context.GetField("Country").Value == "United Kingdom"|"Great Britain" ) {
               Context.GetField("Total").Value = Context.GetField("Total").Value + " GBP";
}
```

* Diese Skriptregel fügt die Namen ausgewählter Organisationen in bestimmte Felder ein. Das wiederholte Feld **Preamble Org** enthält die Namen aller in der Präambel eines Dokuments aufgeführten Organisationen, die von der Aktivität Named Entities (NER) extrahiert werden. Die Skriptregel ist so konfiguriert, dass, wenn das Feld **Preamble Org** die Namen von mehr als zwei Organisationen enthält, der erste extrahierte Wert in das Feld **Party 1** und der letzte in das Feld **Party 2** übernommen wird.

```javascript theme={null}
var preambleOrgsFields = Context.GetFields("Preamble Org");
 
if (preambleOrgsFields.length > 2)
{
   Context.GetField("Party 1").Value = preambleOrgsFields[1].Value;
   Context.GetField("Party 2").Value = preambleOrgsFields[preambleOrgsFields.length - 1].Value;
}
```
