Переход на четвертую версию формата электронных документов (WayBill_v4) является обязательным этапом для всех участников алкогольного рынка, использующих УТМ 4. Однако на практике многие специалисты сталкиваются с тем, что система отказывается принимать уведомление о переходе, выдавая ошибки валидации XSD-схем. В этой статье мы подробно разберем, почему возникают такие сложности, и проанализируем пошаговый алгоритм успешного перехода на новый формат.
При попытке отправить уведомление о переходе на формат v4 или при получении ТТН нового образца, пользователи часто видят сообщение об ошибке: org.xml.sax.SAXParseException; cvc-enumeration-valid: Value 'WayBill_v4' is not facet-valid with respect to enumeration '[WayBill, WayBill_v2, WayBill_v3]'. Проанализируем ситуацию: данная ошибка означает, что внутренний валидатор УТМ не находит значения WayBill_v4 в списке разрешенных типов документов.
Выясним причину такого поведения системы. Как правило, это происходит в следующих случаях:
transport.properties может содержать устаревшие параметры проверки схем.Рассмотрим первый и самый важный шаг. Согласно опыту участников рынка, полноценная поддержка WayBill_v4 появилась в дистрибутивах начиная с версии 4.2.0. Если вы используете более раннюю сборку, попытки "пропихнуть" уведомление через правку XML-файлов вручную не принесут успеха, так как ядро УТМ будет блокировать неизвестный ему тип документа.
Для обновления выполним следующие действия:
transporter/transportDB).После обновления модуля нам необходимо убедиться, что настройки транспорта соответствуют требованиям четвертого формата. Проанализируем содержимое файла transport.properties, который обычно находится в папке UTM/transporter/conf/.
Найдем параметр validator.xsd.version. Для корректной работы с новым форматом и прохождения валидации по схемам v4, значение должно быть следующим:
validator.xsd.version=4
Если в этом поле указано значение "3" или ниже, УТМ будет пытаться сопоставить входящие и исходящие документы со старыми стандартами, что неизбежно приведет к отказу в фиксации с сообщением о несоответствии учетной системы грузополучателя действующему формату.
Чтобы заявить в систему ЕГАИС о готовности организации принимать документы в формате v4, необходимо отправить специальный документ — InfoMessage. Разберем структуру этого документа. В поле Type должно быть четко указано WayBill_v4.
Пример структуры XML-запроса для уведомления может выглядеть следующим образом (в зависимости от реализации в вашей учетной системе):
<?xml version="1.0" encoding="UTF-8"?>
<ns:Documents Version="1.0" ...>
<ns:Owner>
<ns:FSRAR_ID>010000000000</ns:FSRAR_ID>
</ns:Owner>
<ns:Document>
<ns:InfoMessage>
<ns:Type>WayBill_v4</ns:Type>
<ns:Description>Переход на формат v4</ns:Description>
</ns:InfoMessage>
</ns:Document>
</ns:Documents>
Важный момент: после того как уведомление будет успешно зафиксировано в ЕГАИС, пути назад к формату WayBill_v3 не будет. Все входящие накладные начнут поступать исключительно в четвертой версии. Поэтому перед отправкой убедитесь, что ваша конфигурация 1С или другая учетная система полностью поддерживает обработку тегов, специфичных для v4 (например, новые идентификаторы разделов А и Б вместо справок 1 и 2). Для организации обмена документами нового формата в 1С подойдёт обработка для загрузки и выгрузки ТТН в формате WayBill v4.
Посмотрим на специфику тестирования. В тестовом контуре ЕГАИС механизмы перехода часто включаются принудительно. Если ваш тестовый УТМ продолжает выдавать ошибки, проанализируем дату сборки схем. Часто помогает полная переустановка тестового УТМ с предварительным удалением всех хвостов предыдущих инсталляций, так как файлы XSD в тестовых версиях могут обновляться асинхронно с основным релизом.
Переход на WayBill_v4 — это не просто смена цифры в заголовке XML. Это переход к полному поштучному учету продукции. Разберем основные изменения:
Подводя итог, можно сказать, что решение проблемы "неуведомленного УТМ" и ошибок валидации заключается в использовании актуального программного обеспечения. Если вы столкнулись с ошибкой перечисления (enumeration), значит, ваш УТМ просто "не знает" о существовании такого формата, и его необходимо обновить до версии 4.2.0 или выше.