При переходе на новый формат универсального передаточного документа (УПД) версии 5.03, утвержденный приказом ФНС России № ЕД-7-26/970@, разработчики интеграционных решений и специалисты 1С сталкиваются с ошибками схемы валидации (XSD). Привычный по формату 5.01 (приказ № ММВ-7-15/820@) блок сведений о транспортных накладных вызывает ошибку о наличии неизвестного или лишнего элемента. Разберем детально, как изменилась структура XML-документа, куда теперь вносить реквизиты транспортной накладной и какие ограничения схемы важно соблюдать при формировании файла обмена.
Выясним причину возникновения ошибки. В старом формате 5.01 блок логистики формировался в отдельной ветке ТранГруз, внутри которой располагался элемент ТранНакл с разделенными атрибутами НомТранНакл и ДатаТранНакл. В формате УПД 5.03 структура блока передачи ценностей претерпела кардинальные изменения:
ТранГруз полностью исключен из XSD-схемы документа.ТранНакл также упразднен.Тран, подчиненный элементу СвПер.Если программный код продолжает выгружать тег ТранГруз, парсер оператора ЭДО или валидатор ФНС сразу выдает ошибку о несоответствии формата схемы.
Рассмотрим правильную иерархию элементов. В формате 5.03 данные о передаче товара продавцом описываются в блоке СвПродПер. Внутри него расположен узел СвПер (Сведения о передаче), который содержит сведения об операции, дате отгрузки, основаниях передачи и транспортировке.
Посмотрим на пример корректного фрагмента XML-файла:
<СвПродПер>
<СвПер СодОпер="Товары переданы, работы сданы, услуги оказаны" ДатаПер="13.03.2025">
<ОснПер НаимОсн="Договор поставки" НомОсн="45/2" ДатаОсн="10.01.2025"/>
<Тран СвТран="Транспортная накладная № 207530536 от 12.03.2025"/>
</СвПер>
</СвПродПер>
В отличие от прежнего разделения на номер и дату, в новом формате сведения о накладной объединяются в единую текстовую строку и передаются в атрибуте СвТран узла Тран. Именно эта строка визуализируется в интерфейсах операторов ЭДО (например, в блоке транспортировки под основаниями передачи).
Проанализируем требования XSD-схемы формата 970@ к содержимому элемента Тран:
СвТран: Является обязательным при наличии узла Тран. Имеет строковый тип с ограничением длины от 1 до 1000 символов (T(1-1000)). Превышение этого лимита приводит к непрохождению валидации.Тран можно добавить необязательный атрибут Инкотермс (ровно 3 латинских символа, например FCA или DAP) и атрибут ВерИнкотермс (год редакции, ровно 4 цифры, например 2020).Тран может входить сложный подчиненный элемент Перевозчик (тип УчастникТип), в котором указываются ИНН, КПП, наименование транспортной компании или данные физического лица-водителя.При генерации XML-документа крайне важно помнить про правила XML Schema Definition, регулирующие строгий порядок элементов (конструкция xs:sequence):
СвПер: Сначала обязательно указываются основания отгрузки в тегах ОснПер, и только после них располагается тег Тран. Если поменять эти теги местами при ручной генерации XML, документ будет забракован как невалидный.СЧФДОП (универсальный передаточный документ) и ДОП (акт/накладная). Если формируется документ с функцией чистого счета-фактуры СЧФ, узел СвПер формироваться не должен.Если объема атрибута СвТран недостаточно либо требуется передать структурированные данные о перевозке (марку и госномер тягача, данные прицепа, номер пломбы, маршрутный лист), использовать для этого нестандартные атрибуты внутри Тран нельзя. Для этих целей в формате предусмотрен раздел информационных полей факта хозяйственной жизни со стороны продавца — ИнфПолФХЖ3. В нем данные передаются структурированными парами идентификаторов и значений.
Разберем по шагам, на что обратить внимание разработчику при интеграции в среде 1С:
Свойство не найдено в типе XDTO.СвТран выполняется автоматически на основании связанных документов (например, документов доставки или реквизитов вкладки «Доставка»). Если в нетиповой конфигурации модуль формирования контента продавца дорабатывался вручную, алгоритм сборки строки транспортировки необходимо переписать в соответствии с новыми правилами библиотеки.