ValidateInvoiceBusinessRules

Накладные, соответствие стандартам

Описание

Проверяет выбранный встроенный XML накладной с помощью версионированного провайдера

Синтаксис

Delphi

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

Примечания

Находит вложение уровня документа по его точному имени с учётом регистра и подставляет декодированные байты вложения в Request.XMLBytes; переданный вызывающим XML не может подменить настоящую накладную

Возвращает true, только когда каждая запрошенная стадия завершается успешно; Report.Complete=true при IsValid=false отличает завершённую проверку, нашедшую проблемы, от недоступных движков, некорректных входов или незавершённых прогонов

Отсутствующие, неоднозначные, нечитаемые или чрезмерно большие вложения возвращают false с LastErrorCode=401 и диагностикой Invoice.Attachment*; сопоставление ограничено 16384 вложениями, а декодирование — 64 МБ

Задавайте Request.Rules.Standard и Version явно и предоставляйте доверенные файлы правил для точного синтаксиса и профиля, включая все обязательные правила конкретного профиля

PLDefaultInvoiceValidationRequest требует обе стадии — схему и Schematron, задаёт тайм-аут 30000 мс и лимит вывода 8 МБ; вызывающий может явно отключить стадию, тогда она остаётся not_checked и ничего не утверждает об этих правилах

IPDFInvoiceValidationProvider.ValidateStage получает выбранный XML и пакет правил и должен вернуть полный результат стадии, диагностику движка и структурированные замечания; недоступные и аварийные провайдеры пройти не могут

Для автономного XML накладной используйте PLValidateInvoiceXML напрямую, для встроенного адаптера инструментов — PLCreateExternalInvoiceValidationProvider, а для сериализации типизированных результатов — PLInvoiceValidationReportToJSON

См. также

ValidateFacturXInvoice, ValidateInvoiceBusinessRules, ValidateInvoiceBusinessRulesWithTools, ExtractFacturXXMLToString