Как включить и настроить формат обмена ЕГАИС v3 в 1С:Розница?

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

При переходе на работу с третьей версией формата обмена ЕГАИС (v3) в конфигурации 1С:Розница (в частности, в релизах ветки 2.2.7) пользователи и программисты сталкиваются со сбоями при попытке переключить версию протокола в настройках программы. Проанализируем причины возникновения этой проблемы и разберем по шагам варианты ее устранения.

Причина ошибки при отправке формата обмена (ошибка 00-00141223)

В ранних релизах с поддержкой третьего формата обмена функционал находился на стадии внедрения. При выборе формата обмена V3 в настройках интеграции с ЕГАИС программа формирует XML-пакет для передачи информации в транспортный модуль. Однако в исходном коде конфигурации отсутствовала ветка условия для значения перечисления Перечисления.ФорматыОбменаЕГАИС.V3, из-за чего свойство WBTypeUsed в XDTO-структуре оставалось незаполненным, вызывая ошибку передачи данных.

Способ 1. Программное исправление в конфигураторе

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

  1. Откроем конфигурацию в режиме 1С:Предприятие - Конфигуратор.
  2. Найдем общий модуль ИнтеграцияЕГАИСВызовСервера.
  3. Перейдем к процедуре ИнформацияОФорматеОбменаКПередачеXML.
  4. Найдем блок проверки используемого формата обмена:
    
    Если ИспользуемыйФорматОбмена = Перечисления.ФорматыОбменаЕГАИС.V1 Тогда
        ИнтеграцияЕГАИС.ЗаполнитьСвойствоXDTO(ЗапросXDTO, "WBTypeUsed", "WayBill", СообщениеXML);
    ИначеЕсли ИспользуемыйФорматОбмена = Перечисления.ФорматыОбменаЕГАИС.V2 Тогда
        ИнтеграцияЕГАИС.ЗаполнитьСвойствоXDTO(ЗапросXDTO, "WBTypeUsed", "WayBill_v2", СообщениеXML);
    КонецЕсли;
    
  5. Добавим обработку формата V3, заменив код на следующий:
    
    Если ИспользуемыйФорматОбмена = Перечисления.ФорматыОбменаЕГАИС.V1 Тогда
        ИнтеграцияЕГАИС.ЗаполнитьСвойствоXDTO(ЗапросXDTO, "WBTypeUsed", "WayBill", СообщениеXML);
    ИначеЕсли ИспользуемыйФорматОбмена = Перечисления.ФорматыОбменаЕГАИС.V2 Тогда
        ИнтеграцияЕГАИС.ЗаполнитьСвойствоXDTO(ЗапросXDTO, "WBTypeUsed", "WayBill_v2", СообщениеXML);
    ИначеЕсли ИспользуемыйФорматОбмена = Перечисления.ФорматыОбменаЕГАИС.V3 Тогда
        ИнтеграцияЕГАИС.ЗаполнитьСвойствоXDTO(ЗапросXDTO, "WBTypeUsed", "WayBill_v3", СообщениеXML);
    КонецЕсли;
    

Дополнительная адаптация модулей для корректного обмена

Для стабильной обработки входящих и исходящих документов формата v3 (актов подтверждения, актов расхождений и постановок на баланс) выполним поиск по всей конфигурации:

  1. Запустим глобальный поиск (сочетание клавиш Ctrl + Shift + F) по строке WayBill_v2.
  2. Проверим процедуры в общих модулях ИнтеграцияЕГАИСКлиентСервер и ИнтеграцияЕГАИС (например, функцию ДокументСоответствуетТипуЕГАИС).
  3. В местах проверки входящих типов документов аналогично добавим сопоставление для типов WayBill_v3, WayBillAct_v3 и ActChargeOn_v3, чтобы тикеты и квитанции не зависали в статусе ожидания ответа.

Способ 2. Обновление конфигурации и требования к УТМ

Рассмотрим штатный способ устранения неполадок, рекомендуемый фирмой «1С»:

  1. Обновление релиза: Все критические ошибки ветки 2.2.7 были официально исправлены в релизе 2.2.7.39, а полноценная поддержка помарочного учета по регистру № 3 реализована в линейке 2.2.8. Обновление конфигурации снимает необходимость ручной правки кода.
  2. Версия УТМ: Проверим версию Универсального транспортного модуля. Для работы с протоколом ЕГАИС v3 версия УТМ на рабочем месте должна быть не ниже 3.0.8.
  3. Контроль акцизных марок: При начале работы по стандарту v3 убедимся, что в регистре сведений Акцизные марки ЕГАИС марки привязаны корректно и имеют статус В наличии, что необходимо для проведения документов списания и реализации.
← На главную