El siguiente script devuelve true si al menos un documento de la transacción tiene errores de reglas, una clase de documento indeterminada o símbolos sospechosos. De lo contrario, devuelve 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();
El siguiente script devuelve true — enviando los documentos a revisión manual — si al menos un documento de la transacción tiene alguno de los siguientes:
Errores de reglas
Un tipo de documento incierto
Campos o caracteres de campo sospechosos (incluidos los elementos secundarios anidados y las instancias repetidas)
De lo contrario, devuelve false y los documentos continúan con la etapa de exportación.
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) { // Existen errores de reglas if (document.RuleErrors.length > 0) return true; // El tipo de documento no es confiable if (!document.IsResultClassConfident) return true; // Algunos campos son sospechosos 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) { // Verificar todos los elementos secundarios en busca de campos sospechosos if (field.Children) { for (var i = 0; i < field.Children.length; i++) { var childField = field.Children[i]; if (childField.IsSuspicious || containSuspiciousFields(childField)) return true; } } // Verificar todas las instancias en busca de campos sospechosos 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();