ValidateInvoiceBusinessRules

Facturas, conformidad

Descripción

Valida el XML de factura incrustado seleccionado con un proveedor con versiones

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 por los bytes del adjunto descodificado; el XML suministrado por quien llama no puede sustituir a la factura real

Devuelve true solo cuando todas las etapas solicitadas se completan con éxito; Report.Complete=true con IsValid=false distingue una validación completada que encontró incidencias de los motores no disponibles, las entradas mal formadas o las ejecuciones incompletas

Los adjuntos ausentes, ambiguos, ilegibles o sobredimensionados devuelven false con LastErrorCode=401 y un diagnóstico Invoice.Attachment*; el emparejamiento se limita a 16384 adjuntos y la descodificación a 64 MB

Establezca Request.Rules.Standard y Version explícitamente y suministre archivos de reglas de confianza para la sintaxis y el perfil exactos, incluidas las reglas específicas de perfil necesarias

PLDefaultInvoiceValidationRequest exige las etapas de esquema y de Schematron, establece un tiempo de espera de 30000 ms y un límite de salida de 8 MB; quien llama puede desactivar una etapa explícitamente, que queda como not_checked y no afirma nada sobre esas reglas

IPDFInvoiceValidationProvider.ValidateStage recibe el XML y el paquete de reglas seleccionados y debe devolver un resultado de etapa completo, diagnósticos del motor e incidencias estructuradas; los proveedores no disponibles o con excepciones no pueden pasar

Utilice PLValidateInvoiceXML directamente para XML de facturas independiente, PLCreateExternalInvoiceValidationProvider para el adaptador de herramientas integrado, y PLInvoiceValidationReportToJSON para serializar resultados tipados

Véase también

ValidateFacturXInvoice, ValidateInvoiceBusinessRules, ValidateInvoiceBusinessRulesWithTools, ExtractFacturXXMLToString