ValidateInvoiceBusinessRules

Factures, conformité

Description

Valide le XML de facture incorporé sélectionné avec un fournisseur versionné

Syntaxe

Delphi

Function TPDFlib.ValidateInvoiceBusinessRules(Const EmbeddedFileName: WideString;
  Const Request: TPDFInvoiceValidationRequest;
  Const Provider: IPDFInvoiceValidationProvider;
  Out Report: TPDFInvoiceValidationReport): Boolean;

Remarques

Repère une pièce jointe incorporée au niveau document par son nom de fichier exact et sensible à la casse, et remplace Request.XMLBytes par les octets décodés de la pièce jointe ; un XML fourni par l’appelant ne peut pas se substituer à la vraie facture

Renvoie true uniquement lorsque chaque étape demandée s’achève avec succès ; Report.Complete=true avec IsValid=false distingue une validation achevée ayant trouvé des anomalies des moteurs indisponibles, des entrées mal formées ou des exécutions incomplètes

Des pièces jointes manquantes, ambiguës, illisibles ou surdimensionnées renvoient false avec LastErrorCode=401 et un diagnostic Invoice.Attachment* ; la recherche est bornée à 16384 pièces jointes et le décodage à 64 Mo

Définissez explicitement Request.Rules.Standard et Version et fournissez des fichiers de règles de confiance pour la syntaxe et le profil exacts, y compris les règles propres au profil requises

PLDefaultInvoiceValidationRequest requiert les étapes schéma et Schematron, définit un timeout de 30000 ms et une limite de sortie de 8 Mo ; les appelants peuvent désactiver explicitement une étape, qui reste not_checked sans rien affirmer sur ces règles

IPDFInvoiceValidationProvider.ValidateStage reçoit le XML sélectionné et le paquet de règles et doit renvoyer un résultat d’étape complet, des diagnostics du moteur et des anomalies structurées ; les fournisseurs indisponibles ou en exception ne peuvent pas passer

Utilisez PLValidateInvoiceXML directement pour un XML de facture autonome, PLCreateExternalInvoiceValidationProvider pour l’adaptateur d’outils intégré, et PLInvoiceValidationReportToJSON pour sérialiser des résultats typés

Voir aussi

ValidateFacturXInvoice, ValidateInvoiceBusinessRules, ValidateInvoiceBusinessRulesWithTools, ExtractFacturXXMLToString