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

# Beispielskripte

> Beispielskripte für die Condition-Aktivität — gängige Muster zum Prüfen von Regelfehlern und zur Weiterleitung von Dokumenten zur manuellen Überprüfung.

Gängige Muster zum Schreiben eines Skripts für die Condition-Aktivität. Jedes Beispiel liest aus [`Context.Transaction.Documents`](/de/vantage/documentation/skill-designer/process/condition-activity/transaction) und gibt einen booleschen Wert zurück.

<div id="checking-for-rule-errors-in-a-document">
  ## Überprüfen von Regelfehlern in einem Dokument
</div>

Das folgende Skript gibt `true` zurück, wenn mindestens ein Dokument des Vorgangs Regelfehler, eine unbekannte Dokumentklasse oder verdächtige Symbole aufweist. Andernfalls gibt es `false` zurück.

```javascript theme={null}
function hasRuleErrors() {
    for (var i = 0; i < Context.Transaction.Documents.length; i++) {
        var document = Context.Transaction.Documents[i];
        if (document.RuleErrors.length > 0 || document.IsUnknownSkill === true || document.HasSuspiciousSymbols === true)
            return true;
    }
    return false;
}
hasRuleErrors();
```

<div id="checking-whether-manual-review-is-required">
  ## Prüfen, ob eine Manuelle Überprüfung erforderlich ist
</div>

Das folgende Skript gibt `true` zurück — und leitet die Dokumente zur Manuellen Überprüfung weiter —, wenn mindestens ein Vorgangsdokument eines der folgenden Kriterien erfüllt:

* Regelfehler
* Ein unsicherer Dokumenttyp
* Verdächtige Felder oder Feldzeichen (einschließlich verschachtelter untergeordneter Elemente und wiederholter Instanzen)

Andernfalls wird `false` zurückgegeben und die Dokumente werden mit dem Export-Schritt fortgesetzt.

```javascript theme={null}
function needManualReview() {
    for (var i = 0; i < Context.Transaction.Documents.length; i++) {
        var document = Context.Transaction.Documents[i];
        if (needManualReviewForDocument(document))
            return true;
    }
    return false;
}

function needManualReviewForDocument(document) {
    // Regelfehler vorhanden
    if (document.RuleErrors.length > 0)
        return true;
    // Dokumenttyp ist nicht vertrauenswürdig
    if (!document.IsResultClassConfident)
        return true;
    // Einige Felder sind verdächtig
    for (var i = 0; i < document.Fields.length; i++) {
        var field = document.Fields[i];
        if (field.IsSuspicious || containSuspiciousFields(field))
            return true;
    }
    return false;
}

function containSuspiciousFields(field) {
    // Alle untergeordneten Elemente auf verdächtige Felder überprüfen
    if (field.Children) {
        for (var i = 0; i < field.Children.length; i++) {
            var childField = field.Children[i];
            if (childField.IsSuspicious || containSuspiciousFields(childField))
                return true;
        }
    }
    // Alle Instanzen auf verdächtige Felder überprüfen
    if (field.Instances) {
        for (var i = 0; i < field.Instances.length; i++) {
            var instanceField = field.Instances[i];
            if (instanceField.IsSuspicious || containSuspiciousFields(instanceField))
                return true;
        }
    }

    return false;
}
needManualReview();
```

<div id="related-topics">
  ## Verwandte Themen
</div>

* [Context](/de/vantage/documentation/skill-designer/process/condition-activity/context)
* [Transaction](/de/vantage/documentation/skill-designer/process/condition-activity/transaction)
* [Document](/de/vantage/documentation/skill-designer/process/condition-activity/document)
* [Field](/de/vantage/documentation/skill-designer/process/condition-activity/field)
* [RuleError](/de/vantage/documentation/skill-designer/process/condition-activity/rule-error)
* [Objektmodell](/de/vantage/documentation/skill-designer/process/condition-activity/object-model)
