ValidateInvoiceBusinessRules

Faktury, Zgodność

Opis

Waliduje wybrany osadzony XML faktury za pomocą wersjonowanego dostawcy

Składnia

Delphi

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

Uwagi

Znajduje osadzony załącznik na poziomie dokumentu po dokładnej, rozróżniającej wielkość liter nazwie i podstawia zdekodowane bajty załącznika do Request.XMLBytes; XML dostarczony przez wywołującego nie zastąpi prawdziwej faktury

Zwraca True tylko wtedy, gdy każdy żądany etap zakończy się pomyślnie; Report.Complete=true przy IsValid=false odróżnia ukończoną walidację, która znalazła problemy, od niedostępnych silników, błędnych danych wejściowych lub niedokończonych uruchomień

Załączniki brakujące, niejednoznaczne, nieczytelne lub przesadnie duże zwracają False z LastErrorCode=401 i diagnostyką Invoice.Attachment*; dopasowanie jest limitowane do 16384 załączników, a dekodowanie do 64 MB

Ustaw Request.Rules.Standard i Version jawnie i dostarcz zaufane pliki reguł dla dokładnej składni i profilu, łącznie z wymaganymi regułami specyficznymi dla profilu

PLDefaultInvoiceValidationRequest wymaga etapów schematu i Schematron, ustawia limit czasu 30000 ms i limit wyjścia 8 MB; wywołujący może jawnie wyłączyć etap — pozostaje on not_checked i nie rości nic co do tych reguł

IPDFInvoiceValidationProvider.ValidateStage dostaje wybrany XML i pakiet reguł i musi zwrócić kompletny wynik etapu, diagnostykę silnika oraz ustrukturyzowane problemy; dostawcy niedostępni lub rzucający wyjątki nie mogą przechodzić

PLValidateInvoiceXML użyj bezpośrednio dla samodzielnego XML faktury, PLCreateExternalInvoiceValidationProvider dla wbudowanego adaptera narzędzi, a PLInvoiceValidationReportToJSON do serializacji wyników typizowanych

Zobacz również

ValidateFacturXInvoice, ValidateInvoiceBusinessRules, ValidateInvoiceBusinessRulesWithTools, ExtractFacturXXMLToString