Exemples de scripts pour l’activité Condition — modèles courants pour vérifier les erreurs de règle et acheminer les documents vers la relecture manuelle.
Use this file to discover all available pages before exploring further.
Modèles courants pour rédiger un script pour l’activité Condition. Chaque exemple lit les données de Context.Transaction.Documents et renvoie une valeur booléenne.
Le script ci-dessous renvoie true si au moins un document de la transaction présente des erreurs de règle, une classe de document indéterminée ou des symboles suspects. Sinon, il renvoie 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();
Le script suivant renvoie true — et achemine les documents vers la relecture manuelle — si au moins un document de la transaction présente l’un des éléments suivants :
Des erreurs de règle
Un type de document incertain
Des champs ou des caractères de champ suspects (y compris les enfants imbriqués et les instances répétées)
Sinon, il renvoie false et les documents passent à l’étape d’exportation.
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) { // Des erreurs de règles existent if (document.RuleErrors.length > 0) return true; // Le type de document n'est pas fiable if (!document.IsResultClassConfident) return true; // Certains champs sont suspects 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) { // Vérifier tous les enfants pour détecter un champ suspect if (field.Children) { for (var i = 0; i < field.Children.length; i++) { var childField = field.Children[i]; if (childField.IsSuspicious || containSuspiciousFields(childField)) return true; } } // Vérifier toutes les instances pour détecter un champ suspect 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();