Skip to content

Latest commit

 

History

History
46 lines (31 loc) · 3.2 KB

DocumentFormats.md

File metadata and controls

46 lines (31 loc) · 3.2 KB

Форматы документов

УПД и УКД — стандартные XML форматы для электронного документооборота. Для создания документов в этих форматах на C# используются классы, сгенерированные на базе XSD-схем утилитой XmlSchemaClassGenerator:

Последовательность действий при выходе новых версий XSD-схем этих форматов такая:

  1. Скачивается XSD-схема (ссылки см. ниже)
  2. Устанавливается генератор: dotnet tool install -g dotnet-xscgen
  3. Генерируются классы в нужном namespace: xscgen upd.xsd -n ""=FairMark.Xsd.ON_NSCHFDOPPOK -sf
  4. Копируются в проект FairMarkClient.

После этого можно создавать документы и сериализовывать их в XML обычным XmlSerializer-ом. К сожалению, в XSD-схеме все названия русскоязычные, типа ФайлИнфПокИнфПокГосЗакКазнИнфСведДенОбяз.

Для документа УПД есть два варианта, две XSD-схемы: информация покупателя и информация продавца. Структуры в них местами пересекаются, местами почти совпадают, но не идентичны на 100%. Из-за этого сгенерированные классы пришлось положить в два отдельных пространства имен:

  • FairMark.Xsd.ON_NSCHFDOPPOK -- информация покупателя
  • FairMark.Xsd.ON_NSCHFDOPP -- информация продавца

Корневой элемент, с которого начинается заполнение УПД, в обоих случаях -- Файл. То, что в нем заполняется дальше, зависит от типа документа (например, счет-фактура):

XsdSchema.png

Общее описание

Универсальный передаточный документ (УПД)

Универсальный корректировочный документ (УКД)

  • Пока не нашел