ValidateInvoiceBusinessRules

Faturas, conformidade

Descrição

Valida o XML da fatura incorporada selecionado com um fornecedor com versões

Sintaxe

Delphi

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

Observações

Procura um anexo incorporado ao nível do documento pelo nome de ficheiro exato, sensível a maiúsculas e minúsculas, e substitui Request.XMLBytes pelos bytes descodificados do anexo; XML fornecido por quem chama não pode substituir a fatura real

Devolve true apenas quando todas as fases pedidas terminam com sucesso; Report.Complete=true com IsValid=false distingue uma validação concluída que encontrou problemas de motores indisponíveis, de inputs malformados ou de execuções incompletas

Anexos em falta, ambíguos, ilegíveis ou demasiado grandes devolvem false com LastErrorCode=401 e um diagnóstico Invoice.Attachment*; a correspondência está limitada a 16384 anexos e a descodificação a 64 MB

Defina Request.Rules.Standard e Version explicitamente e forneça ficheiros de regras fidedignos para a sintaxe e o perfil exatos, incluindo quaisquer regras específicas de perfil necessárias

PLDefaultInvoiceValidationRequest exige as fases de esquema e de Schematron, define um timeout de 30000 ms e um limite de output de 8 MB; quem chama pode desativar uma fase explicitamente, que fica not_checked e não faz nenhuma afirmação sobre essas regras

IPDFInvoiceValidationProvider.ValidateStage recebe o XML e o pacote de regras selecionados e tem de devolver um resultado de fase completo, diagnósticos do motor e problemas estruturados; fornecedores indisponíveis ou com exceções não podem passar

Use PLValidateInvoiceXML diretamente para XML de faturas autónomo, PLCreateExternalInvoiceValidationProvider para o adaptador de ferramentas integrado, e PLInvoiceValidationReportToJSON para serializar resultados tipados

Consulte também

ValidateFacturXInvoice, ValidateInvoiceBusinessRules, ValidateInvoiceBusinessRulesWithTools, ExtractFacturXXMLToString