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