Что делать при появлении нового типа документа TTNHistoryF2Reg в ЕГАИС?

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

С развитием системы ЕГАИС и обновлением Универсального Транспортного Модуля (УТМ) пользователи и разработчики 1С периодически сталкиваются с новыми типами документов, которые «прилетают» в систему. Одним из таких документов стал TTNHistoryF2Reg. Рассмотрим подробнее, что это за объект, почему типовые конфигурации (например, «1С:Розница 2.5») могут выдавать ошибки при его получении и как правильно обработать эту ситуацию.

Природа документа TTNHistoryF2Reg

Выясним причину появления этого документа. Объект типа TTNHistoryF2Reg является ответом на запрос QueryHistoryRestBReg. Это запрос истории движения алкогольной продукции по конкретной справке 2 (регистрационный номер формы учета №2). Данный функционал был официально внедрен в версиях УТМ начиная с 4.2.0 для обеспечения полной прозрачности цепочки поставок.

Проанализируем ситуацию: если вы обнаружили такой документ в своей входящей очереди, хотя целенаправленно его не запрашивали, это может быть результатом работы автоматизированных внешних сервисов, интегрированных с вашим УТМ, или специфических обработок внутри 1С, которые пытаются актуализировать данные о движении партий. Документ носит исключительно информационный характер и не вносит никаких изменений в остатки на регистрах ЕГАИС.

Почему возникают ошибки при загрузке в 1С?

Разберем, почему типовые механизмы часто не могут «проглотить» этот документ. Основная техническая сложность заключается в том, что структура XML-файла TTNHistoryF2Reg часто не проходит валидацию по стандартным XSD-схемам, которые жестко зашиты в коде интеграционных библиотек 1С. Это происходит по следующим причинам:

  1. Несоответствие пространства имен (namespace), заявленного в документации ФСРАР, фактическому ответу от УТМ.
  2. Нарушение порядка следования тегов в XML-структуре.
  3. Отсутствие описания данного типа документа в метаданных старых версий конфигураций.

В таких случаях система выдает сообщение об ошибке «Неизвестный тип документа» или «Ошибка разбора XML», и обмен с ЕГАИС может приостановиться, так как документ остается в очереди УТМ и блокирует чтение последующих сообщений.

Способ 1: Принудительное удаление из очереди (рекомендуется)

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

  1. Использование типовой обработки: В конфигурациях 1С откройте форму «Запросы ЕГАИС». Найдите соответствующий запрос (если он был инициирован из программы) и воспользуйтесь командой принудительного удаления или очистки очереди.
  2. Интерфейс УТМ: Перейдите в браузере по адресу локального УТМ (обычно это http://localhost:8080). В разделе входящих документов найдите сообщение с типом TTNHistoryF2Reg и удалите его вручную.
  3. Специализированные инструменты: Используйте сторонние утилиты для очистки очереди УТМ, если типовая конфигурация 1С не справляется с поглощением этого типа данных.

Важный момент: если документ не обрабатывается, его необходимо удалить, иначе он будет висеть в очереди бесконечно, мешая получению ТТН и актов.

Способ 2: Программная обработка и чтение данных

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

Для обхода ошибки валидации используйте объект ЧтениеXML. Мы рекомендуем игнорировать проверку пространства имен, если она вызывает сбой. Рассмотрим логику обработки:


Чтение = Новый ЧтениеXML;
Чтение.ОткрытьФайл(ПутьКФайлу);
// Пропускаем проверку соответствия схеме, если стандартный метод парсинга выдает ошибку
Пока Чтение.Прочитать() Цикл
    Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента И Чтение.ЛокальноеИмя = "HistoryF2Reg" Тогда
        // Начинаем разбор блоков с данными о грузоотправителях и ТТН
        // Здесь можно извлечь номера ТТН, даты фиксации и реквизиты контрагентов
    КонецЕсли;
КонецЦикла;

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

Резюме и рекомендации

Подведем итоги нашего анализа:

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

← На главную