Текущее время: Вт, фев 25 2020, 06:47

Часовой пояс: UTC + 4 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: XSLT. Проверка XML в Diadoc
СообщениеДобавлено: Чт, фев 13 2020, 08:48 
Начинающий
Начинающий

Зарегистрирован:
Ср, фев 12 2020, 18:03
Сообщения: 5
Добрый день, коллеги

Проблема следующая:
есть тестовые данные по счет-фактурам
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"><СвОЭДОтпр НаимОрг='АО &quot;ПФ &quot;СКБ Контур&quot;' ИдЭДО="2BM" ИННЮЛ="6663003127"/></СвУчДокОбор><Документ КНД="1115131" Функция="СЧФ" ДатаИнфПр="13.01.2020" ВремИнфПр="14.01.24" НаимЭконСубСост="AAA"><СвСчФакт НомерСчФ="1800004326" ДатаСчФ="07.02.2018" КодОКВ="643"><СвПрод><ИдСв><СвЮЛУч НаимОрг='ООО &quot;QQQ&quot;' ИННЮЛ="4014003383" КПП="168150001"/></ИдСв><Адрес><АдрИнф КодСтр="643" АдрТекст="XXX"/></Адрес></СвПрод><ГрузОт><ГрузОтпр ОКПО="44918199"><ИдСв><СвЮЛУч НаимОрг='ООО &quot;XXX&quot;' ИННЮЛ="6227007682" КПП="623401001"/></ИдСв><Адрес><АдрИнф КодСтр="643" АдрТекст="XXX"/></Адрес></ГрузОтпр></ГрузОт><ГрузПолуч ОКПО="75004990"><ИдСв><СвЮЛУч НаимОрг='ООО &quot;XXX&quot;' ИННЮЛ="6601008911"/></ИдСв><Адрес><АдрИнф КодСтр="643" АдрТекст="Российская Федерация, 624600, Свердловская обл., г. Алапаевск, ул.Ленина, д. №9"/></Адрес></ГрузПолуч><СвПРД НомерПРД="171" ДатаПРД="30.01.2018"/><СвПокуп><ИдСв><СвЮЛУч НаимОрг='ООО &quot;XXX&quot;' ИННЮЛ="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" НаимОрг='ООО &quot;РН-Битум&quot;' Должн="Старший бухгалтер"><ФИО Фамилия="Белоедова" Имя="Н.В."/></ЮЛ></Подписант></Документ></Файл>


участок проверки по 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>


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: XSLT. Проверка XML в Diadoc
СообщениеДобавлено: Чт, фев 13 2020, 09:24 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 17:44
Сообщения: 2966
Откуда: Москва
1-й файл
Code:
<Файл ВерсПрог="SAP" ВерсФорм="5.01" ИдФайл="ON_SCHFDOPPR_2BM-6227007682-2012052808142196222630000000000_2BM-6227007682-2012052808142196222630000000000_20200212_5E42F2A06F886DFEE10000000A10458C0001">

2-й файл
Code:
<Файл ИдФайл="ON_SCHFDOPPR_2BM-9692085105-969201000-201807250120473902554_2BM-9678069197-967801000-201807250126299439972_20200113_5E186BCE2DFDE79EE10000000A10469D0002" ВерсФорм="5.01" ВерсПрог="SAP">

Разницы не видите? :wink:

_________________
С уважением,
Удав.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: XSLT. Проверка XML в Diadoc
СообщениеДобавлено: Чт, фев 13 2020, 09:33 
Начинающий
Начинающий

Зарегистрирован:
Ср, фев 12 2020, 18:03
Сообщения: 5
Трансформация порядок тегов проставляет самостоятельно
так же порядок пробовал менять вручную в блокноте, при загрузке в Diadoc результат не изменился
проблема не в этом, к сожалению


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: XSLT. Проверка XML в Diadoc
СообщениеДобавлено: Пт, фев 14 2020, 11:30 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 18:37
Сообщения: 1905
Откуда: Москва
Пол: Мужской
Из текста сообщения очевидно, что происходит проверка на соответствие схеме версии 5.02.
Осталось только понять почему?!
Я, например, в своих разработках привязываю версию XSD к датам. Т.е. если формируем отчет за 2018-й, то используется схема для 2018, если за 2019-й, то и схема для 2019. Возможно и у них так же, обратите внимание, даты Сч.ф. за разные годы.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: XSLT. Проверка XML в Diadoc
СообщениеДобавлено: Пт, фев 14 2020, 13:02 
Начинающий
Начинающий

Зарегистрирован:
Ср, фев 12 2020, 18:03
Сообщения: 5
Интересное предположение, но увы, нет

Как уже говорил, "Проверка по XSD-схеме от Diadoc пройдена"

То есть, есть Z* проверка XSD схемы. она загружена в SMW0
Проверка пройдена, ошибок нет. в схеме версия 5.01

Сейчас поменял даты СФ на 2018 год, включая сгенерированный ИдФайл загрузил в контур.диадок - опять ругается
так же было предположение, что вторая XML сгенерирована с одну строку, а первая структурирована.
структурировал вторую - диадок ее принял, то есть это не влияет на соответствие формату.

По поводу привязки к датам, у нас такого не будет. СФ вне зависимости от даты будут выгружаться по новому шаблону, предоставленному Diadoc

Я немного в смятении, почему проверка средствами SAP по XSD схеме проходит, а на их сайте - нет


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: XSLT. Проверка XML в Diadoc
СообщениеДобавлено: Пт, фев 14 2020, 19:24 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 18:37
Сообщения: 1905
Откуда: Москва
Пол: Мужской
Обратите внимание, в именах файлов тоже включены даты, возможно они как-то влияют на проверку.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: XSLT. Проверка XML в Diadoc
СообщениеДобавлено: Вт, фев 18 2020, 11:23 
Начинающий
Начинающий

Зарегистрирован:
Ср, фев 12 2020, 18:03
Сообщения: 5
В предыдущем сообщении говорил про автоматически сгенерированный ИдФайл

Проблема не решена, но такое ощущение, что файл посредством Z* по XSD схеме, предоставленной Diadoc проверку проходит.
А вот на сайте используется уже другая схема и где-то клинит…


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: XSLT. Проверка XML в Diadoc
СообщениеДобавлено: Ср, фев 19 2020, 08:22 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, янв 21 2005, 13:40
Сообщения: 370
Пол: Мужской
Была подобная проблема c контролируемыми сделками при проверке XML тестером.
Суть думаю та же - проверка по XSD.

Затык был в том, что Tester выбирал не ту версию XSD.
Причем ориентировался он не на атрибут ВерсФорм с нужным правильным значением, а на атрибут "ОтчетГод".
Баловался я на данных 2017 года. А выгружал в версии 5.03, которая появилась с 2018 года.
В итоге, он брал XSD схему 5.01 - и выдавал кучу ошибок, в том числе и ругался как у вас на ВерсФорм.

В общем, поищите у себя - где-то у вас дата старая сидит.
Как вариант в ИдФайл="ON_SCHFDOPPR_2BM-6227007682- 20120528 08142196222630000000000


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: XSLT. Проверка XML в Diadoc  Тема решена
СообщениеДобавлено: Ср, фев 19 2020, 08:39 
Начинающий
Начинающий

Зарегистрирован:
Ср, фев 12 2020, 18:03
Сообщения: 5
Нашел проблему опытным путем

ВерсФорм зависит не от даты, а от параметра КНД в теге Документ

То есть нужно устанавливать соответствие между значениями. Мне изначально не ту константу для параметра КНД дали


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB