ValidateInvoiceBusinessRules
Facturas, conformidad
Descripción
Valida el XML de factura incrustado seleccionado con un proveedor versionado
Sintaxis
Delphi
Function TPDFlib.ValidateInvoiceBusinessRules(Const EmbeddedFileName: WideString;
Const Request: TPDFInvoiceValidationRequest;
Const Provider: IPDFInvoiceValidationProvider;
Out Report: TPDFInvoiceValidationReport): Boolean;Observaciones
Busca un adjunto incrustado a nivel de documento por su nombre de archivo exacto, sensible a mayúsculas y minúsculas, y reemplaza Request.XMLBytes con los bytes decodificados del adjunto; el XML suministrado por el llamador no puede sustituir a la factura real
Devuelve true solo cuando todas las fases solicitadas se completan con éxito; Report.Complete=true con IsValid=false distingue una validación completada que encontró problemas de motores no disponibles, entradas mal formadas o ejecuciones incompletas
Los adjuntos faltantes, ambiguos, ilegibles o sobredimensionados devuelven false con LastErrorCode=401 y un diagnóstico Invoice.Attachment*; la coincidencia está acotada a 16384 adjuntos y la decodificación a 64 MB
Establezca Request.Rules.Standard y Version de forma explícita y suministre archivos de reglas confiables para la sintaxis y el perfil exactos, incluidas las reglas específicas del perfil que sean necesarias
PLDefaultInvoiceValidationRequest requiere las fases de esquema y Schematron, establece un tiempo de espera de 30000 ms y un límite de salida de 8 MB; los llamadores pueden deshabilitar una fase explícitamente, la cual queda como not_checked y no afirma nada sobre esas reglas
IPDFInvoiceValidationProvider.ValidateStage recibe el XML seleccionado y el paquete de reglas, y debe devolver un resultado de fase completo, diagnósticos del motor y problemas estructurados; los proveedores no disponibles o con excepciones no pueden pasar
Use PLValidateInvoiceXML directamente para XML de factura independiente, PLCreateExternalInvoiceValidationProvider para el adaptador de herramientas integrado, y PLInvoiceValidationReportToJSON para serializar resultados tipados
Véase también
ValidateFacturXInvoice, ValidateInvoiceBusinessRules, ValidateInvoiceBusinessRulesWithTools, ExtractFacturXXMLToString