ValidateInvoiceBusinessRulesWithTools
Накладные, соответствие стандартам
Описание
Запускает проверку XML-схемы и Schematron для встроенной накладной
Синтаксис
Delphi
Function TPDFlib.ValidateInvoiceBusinessRulesWithTools(Const EmbeddedFileName, Standard, RulesVersion, RulesProfile, SchemaFile, SchematronStylesheetFile, XMLLintExecutable, JavaExecutable, SaxonClassPath: WideString;
TimeoutMS: Integer): WideString;DLL
Function DLValidateInvoiceBusinessRulesWithTools(InstanceID: Integer;
EmbeddedFileName, Standard, RulesVersion, RulesProfile, SchemaFile, SchematronStylesheetFile, XMLLintExecutable, JavaExecutable, SaxonClassPath: PWideChar; TimeoutMS: Integer): PWideChar; Stdcall;
Function DLValidateInvoiceBusinessRulesWithToolsA(InstanceID: Integer;
EmbeddedFileName, Standard, RulesVersion, RulesProfile, SchemaFile, SchematronStylesheetFile, XMLLintExecutable, JavaExecutable, SaxonClassPath: PAnsiChar; TimeoutMS: Integer): PAnsiChar; Stdcall;ActiveX
Function PDFlib::ValidateInvoiceBusinessRulesWithTools(EmbeddedFileName As String, Standard As String, RulesVersion As String, RulesProfile As String, SchemaFile As String, SchematronStylesheetFile As String, XMLLintExecutable As String, JavaExecutable As String, SaxonClassPath As String, TimeoutMS As Long) As StringПримечания
Возвращает JSON для выбранного встроенного XML, используя и версионированный пакет XSD, и скомпилированную таблицу стилей Schematron XSLT; этот удобный метод всегда требует обе стадии
Передайте пути к исполняемым файлам xmllint и Java, а также разделённый точками с запятой SaxonClassPath с SaxonJ и его зависимостями; используйте скомпилированные .xsl или .xslt, а не нескомпилированный файл .sch
RulesVersion идентифицирует выпуск пакета правил, а RulesProfile — целевой профиль накладной; выбирайте подходящие правила явно, потому что схема и общие правила EN16931 не включают автоматически каждый национальный или отраслевой профиль
Оба инструмента запускаются без оболочки и видимого окна, с отключённой обработкой DTD, ограниченным размером вывода и запрошенным тайм-аутом; TimeoutMS<=0 выбирает 30000 мс
JSON содержит standard, version, profile, complete, valid и отдельные стадии schema и schematron; стадии включают статус, завершённость, движок, счётчики выполнения, диагностику и замечания с идентификатором правила, путём поля, серьёзностью, строкой и сообщением
Статус стадии — passed, failed, error, unavailable или not_checked; несостоявшееся правило может давать complete=true, тогда как отсутствующие зависимости, тайм-ауты, лимиты вывода, некорректный SVRL и невыполненные правила валидного результата дать не могут
Встроенный адаптер инструментов требует Windows; переносимые приложения могут передать собственного IPDFInvoiceValidationProvider через типизированный API
Проверки контейнера PDF и бизнес-проверка накладной — отдельные операции; когда нужно проверить соглашения PDF/A-3 и гибридных вложений, вызывайте также ValidateFacturXInvoice
Результаты DLL принадлежат экземпляру и должны быть скопированы до следующего вызова, возвращающего строку; результат A содержит JSON в UTF-8, а входные строки A используют ANSI-настройку экземпляра
См. также
ValidateFacturXInvoice, ValidateInvoiceBusinessRules, ValidateInvoiceBusinessRulesWithTools, ExtractFacturXXMLToString