Добрый день, коллеги
Проблема следующая:
есть тестовые данные по счет-фактурам
XML сформирован при помощи XSLT.
Проверка по XSD-схеме от Diadoc пройдена.
Гружу его для проверки в контур.диадок, он ругается:
Атрибут ВерсФорм не соответствует формату
Версия формата.
Может принимать только значение 5.02
Формат
Строка
Тип
Обязательный
версия установлена 5.01 (по XSD должна быть 5.01)
гружу второй файл, сформирован не при помощи трансформации, версия так же 5.01. диадок реагирует нормально
первый файл:
Code:
<?xml version="1.0" encoding="windows-1251"?>
<Файл ВерсПрог="SAP" ВерсФорм="5.01" ИдФайл="ON_SCHFDOPPR_2BM-6227007682-2012052808142196222630000000000_2BM-6227007682-2012052808142196222630000000000_20200212_5E42F2A06F886DFEE10000000A10458C0001">
<СвУчДокОбор ИдОтпр="2BM-6227007682-2012052808142196222630000000000" ИдПол="2BM-6227007682-2012052808142196222630000000000">
<СвОЭДОтпр ИННЮЛ="6663003127" ИдЭДО="2BM" НаимОрг='"АО "ПФ "СКБ Контур"'/>
</СвУчДокОбор>
<Документ ВремИнфПр="17.39.48" ДатаИнфПр="12.02.2020" КНД="1115125" НаимЭконСубСост="test" Функция="СЧФ">
<СвСчФакт ДатаСчФ="02.10.2019" КодОКВ="643" НомерСчФ="1800000009">
<СвПрод>
<ИдСв>
<СвЮЛУч ИННЮЛ="6227007682" КПП="623401001" НаимОрг="Общество с ограниченной ответственностью «XXX»"/>
</ИдСв>
<Адрес>
<АдрИнф АдрТекст="XXX"/>
</Адрес>
</СвПрод>
<ГрузОт>
<ОнЖе>он же</ОнЖе>
</ГрузОт>
<ГрузПолуч ОКПО="74743120">
<ИдСв>
<СвЮЛУч ИННЮЛ="06201806" КПП="997150001" НаимОрг='ООО "XXX"'/>
</ИдСв>
<Адрес>
<АдрИнф АдрТекст="XXX" КодСтр="643"/>
</Адрес>
</ГрузПолуч>
<СвПокуп>
<ИдСв>
<СвЮЛУч ИННЮЛ="06201806" КПП="997150001" НаимОрг="Закрытое акционерное общество ЗАО XXX"/>
</ИдСв>
<Адрес>
<АдрИнф АдрТекст="Российская Федерация, XXX" КодСтр="643"/>
</Адрес>
</СвПокуп>
<ДопСвФХЖ1/>
<ИнфПолФХЖ1>
<ТекстИнф Значен="СМ-07/02296/11" Идентиф="Договор/ДС"/>
</ИнфПолФХЖ1>
</СвСчФакт>
<ТаблСчФакт>
<СведТов КолТов="7.200" НаимТов="Масло RN Magnum Maxtec 5W-40 кн1л" НалСт="20%" НомСтр="1" ОКЕИ_Тов="168" СтТовБезНДС="440845.27" СтТовУчНал="529014.32" ЦенаТов="61228.51">
<Акциз>
<БезАкциз>без акциза</БезАкциз>
</Акциз>
<СумНал>
<СумНал>88169.05</СумНал>
</СумНал>
<ДопСведТов КодТов="8696" НаимЕдИзм="Т" ПрТовРаб="1"/>
</СведТов>
<ВсегоОпл СтТовБезНДСВсего="440845.27" СтТовУчНалВсего="529014.32">
<СумНалВсего>
<СумНал>88169.05</СумНал>
</СумНалВсего>
</ВсегоОпл>
</ТаблСчФакт>
<СвПродПер>
<СвПер ВидОпер="AVNS_5E42F2A06F886DFEE10000000A10458C0001" СодОпер="Товары переданы, работы сданы, услуги оказаны">
<ОснПер НаимОсн="Без документа-основания"/>
</СвПер>
</СвПродПер>
<Подписант ОблПолн="1" ОснПолн="Должностные обязанности" ОснПолнОрг="Доверенность" Статус="3">
<ЮЛ ГосРегИПВыдДов="1" Должн="Должность" ИННЮЛ="6227007682" НаимОрг="РН-Cмазочные материалы">
<ФИО Имя="XXX" Отчество="SSS" Фамилия="AAA"/>
</ЮЛ>
</Подписант>
</Документ>
</Файл>
код xslt-трансформации
Code:
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sapxsl="http://www.sap.com/sapxsl" xmlns:asx="http://www.sap.com/abapxml" exclude-result-prefixes="asx" version="1.0">
<xsl:output encoding="windows-1251" method="xml" indent="yes"/>
<?: Очень
важно указывать первую строку полностью. В том виде
как она написана выше?>
<?: В противном случае не будут передаваться переменные из вызываемой программы?>
<xsl:strip-space elements="*"/>
<xsl:output indent="yes"/>
<xsl:template match="/">
<xsl:element name="Файл">
<xsl:attribute name="ВерсФорм">
<xsl:value-of select="asx:abap/asx:values/FILE/VERS_FORM"/>
</xsl:attribute>
<xsl:attribute name="ВерсПрог">
<xsl:value-of select="asx:abap/asx:values/FILE/VERS_PROG"/>
</xsl:attribute>
<xsl:attribute name="ИдФайл">
<xsl:value-of select="asx:abap/asx:values/FILE/FILENAME"/>
</xsl:attribute>
…..
<!--/xsl:element-->
</xsl:element>
<!--Адрес конец-->
</xsl:template>
</xsl:transform>
второй файл
Code:
<?xml version="1.0" encoding="windows-1251"?><Файл ИдФайл="ON_SCHFDOPPR_2BM-9692085105-969201000-201807250120473902554_2BM-9678069197-967801000-201807250126299439972_20200113_5E186BCE2DFDE79EE10000000A10469D0002" ВерсФорм="5.01" ВерсПрог="SAP"><СвУчДокОбор ИдОтпр="2BM-9678069197-967801000-201807250126299439972" ИдПол="2BM-9692085105-969201000-201807250120473902554"><СвОЭДОтпр НаимОрг='АО "ПФ "СКБ Контур"' ИдЭДО="2BM" ИННЮЛ="6663003127"/></СвУчДокОбор><Документ КНД="1115131" Функция="СЧФ" ДатаИнфПр="13.01.2020" ВремИнфПр="14.01.24" НаимЭконСубСост="AAA"><СвСчФакт НомерСчФ="1800004326" ДатаСчФ="07.02.2018" КодОКВ="643"><СвПрод><ИдСв><СвЮЛУч НаимОрг='ООО "QQQ"' ИННЮЛ="4014003383" КПП="168150001"/></ИдСв><Адрес><АдрИнф КодСтр="643" АдрТекст="XXX"/></Адрес></СвПрод><ГрузОт><ГрузОтпр ОКПО="44918199"><ИдСв><СвЮЛУч НаимОрг='ООО "XXX"' ИННЮЛ="6227007682" КПП="623401001"/></ИдСв><Адрес><АдрИнф КодСтр="643" АдрТекст="XXX"/></Адрес></ГрузОтпр></ГрузОт><ГрузПолуч ОКПО="75004990"><ИдСв><СвЮЛУч НаимОрг='ООО "XXX"' ИННЮЛ="6601008911"/></ИдСв><Адрес><АдрИнф КодСтр="643" АдрТекст="Российская Федерация, 624600, Свердловская обл., г. Алапаевск, ул.Ленина, д. №9"/></Адрес></ГрузПолуч><СвПРД НомерПРД="171" ДатаПРД="30.01.2018"/><СвПокуп><ИдСв><СвЮЛУч НаимОрг='ООО "XXX"' ИННЮЛ="0274148739" КПП="123456789"/></ИдСв><Адрес><АдрИнф КодСтр="643" АдрТекст="XXX, д.6, корп.1"/></Адрес></СвПокуп><ДопСвФХЖ1 НаимОКВ="Российский рубль"/><ИнфПолФХЖ1><ТекстИнф Идентиф="Документ отгрузки" Значен="ЭР595421,ЭР595562"/><ТекстИнф Идентиф="Даты отгрузки" Значен="07.02.2018"/><ТекстИнф Идентиф="Договор/ДС" Значен="Договор юридический Б-12519/2017 от 01.01.2018"/><ТекстИнф Идентиф="Документ SD" Значен="9000366985"/></ИнфПолФХЖ1></СвСчФакт><ТаблСчФакт><СведТов НомСтр="1" НаимТов="Битум нефтяной дорожный вязкий марки БНД 90/130 (код 1381 ) ГОСТ 22245-90" ОКЕИ_Тов="168" КолТов="63.907" ЦенаТов="9322.03" СтТовБезНДС="595742.97" НалСт="18%" СтТовУчНал="702976.70"><Акциз><БезАкциз>без акциза</БезАкциз></Акциз><СумНал><СумНал>595742.97</СумНал></СумНал><ДопСведТов КодТов="1381" НаимЕдИзм="Т"/></СведТов><СведТов НомСтр="2" НаимТов="Битум нефтяной дорожный вязкий марки БНД 90/130 (код 1381 ) ГОСТ 22245-90" ОКЕИ_Тов="168" КолТов="63.347" ЦенаТов="9322.03" СтТовБезНДС="590522.63" НалСт="18%" СтТовУчНал="696816.70"><Акциз><БезАкциз>без акциза</БезАкциз></Акциз><СумНал><СумНал>590522.63</СумНал></СумНал><ДопСведТов КодТов="1381" НаимЕдИзм="Т"/></СведТов><ВсегоОпл СтТовБезНДСВсего="1186265.60" СтТовУчНалВсего="1399793.40"><СумНалВсего><СумНал>213527.80</СумНал></СумНалВсего></ВсегоОпл></ТаблСчФакт><СвПродПер><СвПер СодОпер="Товары переданы(услуги оказаны)" ВидОпер="5E186BCE2DFDE79EE10000000A10469D0002"><ОснПер НаимОсн="Договор юридический: № Б-12519/2017, от20180101 г., регистрационный №:Б-12519/2017, Заказ/Приложение №" НомОсн="Б-12519/2017" ДатаОсн="01.01.2018"/><ТранГруз СвТранГруз="ЭР595421 от 07.02.2018, ЭР595562 от 07.02.2018"><ТранНакл НомТранНакл="ЭР595421" ДатаТранНакл="07.02.2018"/><ТранНакл НомТранНакл="ЭР595562" ДатаТранНакл="07.02.2018"/></ТранГруз></СвПер></СвПродПер><Подписант ОблПолн="4" Статус="1" ОснПолн="№ 1244 от 01.01.2019"><ЮЛ ИННЮЛ="4014003383" НаимОрг='ООО "РН-Битум"' Должн="Старший бухгалтер"><ФИО Фамилия="Белоедова" Имя="Н.В."/></ЮЛ></Подписант></Документ></Файл>
участок проверки по xsd
Code:
<xs:attribute name="ВерсФорм" use="required">
<xs:annotation>
<xs:documentation>Версия формата</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="5"/>
<xs:enumeration value="5.01"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>