Beispielskripte für die Condition-Aktivität — gängige Muster zum Prüfen von Regelfehlern und zur Weiterleitung von Dokumenten zur manuellen Überprüfung.
Use this file to discover all available pages before exploring further.
Gängige Muster zum Schreiben eines Skripts für die Condition-Aktivität. Jedes Beispiel liest aus Context.Transaction.Documents und gibt einen booleschen Wert zurück.
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.
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();
Prüfen, ob eine Manuelle Überprüfung erforderlich ist
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.
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();