Lo script seguente restituisce true se almeno un documento della transaction presenta errori di regola, una classe di documento non determinata o simboli sospetti. In caso contrario, restituisce false.
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();
Il seguente script restituisce true — inviando i documenti alla revisione manuale — se almeno un documento della transaction presenta uno dei seguenti elementi:
Errori di regola
Un tipo di documento incerto
field o caratteri di field sospetti (inclusi i figli annidati e le istanze ripetute)
In caso contrario, restituisce false e i documenti continuano alla fase di esportazione.
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) { // Esistono errori di regola if (document.RuleErrors.length > 0) return true; // Il tipo di documento non è attendibile if (!document.IsResultClassConfident) return true; // Alcuni field sono sospetti 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) { // Controlla tutti i figli per field sospetti if (field.Children) { for (var i = 0; i < field.Children.length; i++) { var childField = field.Children[i]; if (childField.IsSuspicious || containSuspiciousFields(childField)) return true; } } // Controlla tutte le istanze per field sospetti 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();