Как исправить ошибку «Не поддерживаемый тип документа: ActWriteOff_v2» в 1С:УТ 10.3 при работе с ЕГАИС?

Программист 1С v8.3 (Обычные формы) Управленческий учет Торговля и дистрибуция
← На главную

При работе с программными продуктами 1С, особенно в части взаимодействия с государственными информационными системами, такими как ЕГАИС, пользователи часто сталкиваются с изменениями форматов обмена. Одной из наиболее острых проблем для владельцев конфигурации «Управление торговлей», редакция 10.3 (УТ 10.3), стала ошибка «Не поддерживаемый тип документа: <ActWriteOff_v2>». Эта ситуация возникла в связи с переходом ФСРАР на новый формат обмена данными — версию 3 (v3), которая стала обязательной для актов списания определенных категорий алкогольной продукции.

В этой статье мы подробно проанализируем причины возникновения данной ошибки, разберем программные способы её решения через модификацию кода и рассмотрим временные обходные пути для оперативного списания остатков.

Причины возникновения ошибки

Давайте выясним, почему система внезапно перестала принимать документы. Основная причина кроется в нормативных требованиях. Начиная с середины 2018 года, ЕГАИС ограничил прием актов списания по формату v2 для продукции, находящейся на первом регистре (Склад), особенно если речь идет о маркируемом алкоголе. Формат v3 был введен для обеспечения поштучного учета продукции, где требуется передача конкретных кодов марок в блоке Marks.

Поскольку типовые релизы УТ 10.3 (до версии 10.3.48.1) не содержали встроенной поддержки формирования актов списания в формате v3, система продолжала пытаться отправить документ по старому адресу (endpoint) с заголовком ActWriteOff_v2. Универсальный транспортный модуль (УТМ), получив такой запрос, возвращает ошибку о неподдерживаемом типе документа.

Решение 1: Программная доработка конфигурации (для разработчиков)

Если вы используете кастомизированную версию УТ 10.3 и не можете оперативно обновиться на актуальный релиз, необходимо внести изменения в код программы вручную. Рассмотрим этот процесс по шагам.

Шаг 1. Изменение адреса запроса

Первым делом нам нужно указать системе, что для актов списания при определенных условиях (или принудительно) должен использоваться адрес /opt/in/ActWriteOff_v3 вместо /opt/in/ActWriteOff_v2. Для этого перейдем в Модуль менеджера перечисления ВидыДокументовЕГАИС.

Найдем функцию АдресЗапроса и внесем в неё логику выбора формата. Проанализируем следующий пример кода:


ИначеЕсли ВидДокумента = Перечисления.ВидыДокументовЕГАИС.АктСписания Тогда
    Если ФорматОбмена = Перечисления.ФорматыОбменаЕГАИС.V3 Тогда
        Возврат "/opt/in/ActWriteOff_v3";
    ИначеЕсли ФорматОбмена = Перечисления.ФорматыОбменаЕГАИС.V2 Тогда
        Возврат "/opt/in/ActWriteOff_v2";
    Иначе
        Возврат "/opt/in/ActWriteOff";
    КонецЕсли;

Это позволит транспортному модулю понять, какой именно тип схемы (XSD) ожидать от программы.

Шаг 2. Модификация формирования XDTO-объекта

Следующим этапом необходимо доработать модуль ИнтеграцияЕГАИС. Здесь нас интересует функция ПреобразоватьВXDTOАктСписания_v2. Несмотря на название с суффиксом _v2, мы можем адаптировать её под нужды третьей версии.

Важно помнить, что простого изменения имени узла недостаточно. В формате v3 необходимо:

  1. Изменить пространство имен (Namespace) в формируемом XML. Вместо ссылок на схемы v2 должны использоваться ссылки на v3.
  2. Добавить логику заполнения блока акцизных марок. В формате v3 для каждой позиции маркируемой продукции должен присутствовать вложенный список <Marks>.

Шаг 3. Правка текста XML-выгрузки

Проанализируем функцию ТекстXMLВыгрузкиДокумента в том же модуле ИнтеграцияЕГАИС. Здесь происходит финальная сборка текста сообщения. Необходимо убедиться, что узел PrefixedName для акта списания примет значение wa:ActWriteOff_v3. Если вы решите не создавать новую функцию, а исправлять существующую, обязательно добавьте проверку на формат обмена, установленный в справочнике ОрганизацииЕГАИС.

Решение 2: Настройка в пользовательском интерфейсе

Перед тем как приступать к кодингу, проверим простые настройки, которые иногда упускаются из виду. В некоторых релизах функционал уже заложен, но не активирован.

  1. Откройте справочник Организации ЕГАИС.
  2. Найдите свою организацию и откройте её карточку.
  3. Убедитесь, что в поле «Формат обмена» выбрано значение V3.

Важное замечание: Если в вашей версии УТ 10.3 еще не реализована логика для v3 именно в актах списания, установка этого флага в справочнике может не дать результата для данного типа документа, хотя ТТН будут уходить корректно.

Решение 3: Экстремальный метод (ручная правка XML в УТМ)

Если списать товар нужно «еще вчера», а программиста нет под рукой, можно воспользоваться методом ручной корректировки очереди УТМ. Рассмотрим этот алгоритм:

  1. Отправьте Акт списания из 1С. Он ожидаемо зависнет или вернет ошибку.
  2. Откройте в браузере домашнюю страницу УТМ (обычно http://localhost:8080).
  3. Перейдите на вкладку «Исходящие».
  4. Найдите ваш документ. Сохраните его содержимое на диск в формате .xml.
  5. Откройте файл обычным Блокнотом или Notepad++.
  6. Найдите строку <wa:ActWriteOff_v2> и замените её на <wa:ActWriteOff_v3> (также проверьте закрывающий тег в конце файла).
  7. В заголовке проверьте ссылку на схему — она должна содержать v3.
  8. Удалите ошибочный документ из очереди УТМ и загрузите исправленный файл обратно через интерфейс УТМ (кнопка «Загрузить файл» или через curl).

Внимание: Этот способ крайне не рекомендуется для постоянного использования. Главный риск заключается в том, что в базе 1С документ останется в статусе «Ошибка», и вы не сможете автоматически получить квитанцию о подтверждении списания. Это приведет к рассинхронизации остатков в 1С и ЕГАИС в долгосрочной перспективе.

Рекомендации по обновлению

Самым правильным и безопасным решением является обновление конфигурации до версии 10.3.48.1 или выше. Начиная с этого релиза, фирма «1С» официально включила поддержку формата v3 для актов списания. В обновлении реализованы:

Если ваше предприятие занимается розничной торговлей алкоголем, помните, что работа по формату v2 со складского регистра полностью заблокирована со стороны серверов ЕГАИС. Своевременная адаптация кода ИнтеграцияЕГАИС под актуальные требования — залог отсутствия штрафов и корректности ваших остатков.

← На главную