Как определить поддерживаемую версию документов ТТН ЕГАИС у контрагента?

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

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

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

Принцип определения формата документооборота контрагента

Для того чтобы узнать версию документов, с которой работает контрагент, необходимо отправить в ЕГАИС запрос сведений об организации по ее идентификатору в системе (FSRAR_ID / СИО) или ИНН. В ответ ЕГАИС присылает карточку контрагента, содержащую служебный тег oref:VersionWB.

Проанализируем значения этого тега:

  1. Если тег содержит конкретную версию — например, WayBill_v2, WayBill_v3 или WayBill_v4, это означает, что контрагент переключился на соответствующий формат документооборота и готов к обработке накладных этой версии.
  2. Если тег отсутствует или указано значение WayBill — это означает, что контрагент работает по базовой схеме первой версии.

Формирование XML-запроса сведений о клиенте через УТМ

Выясним причину распространенной ошибки при получении версии: если отправлять устаревший тип запроса QueryClientVersion или запрос первой версии, сервер ЕГАИС может вернуть карточку организации без сведений о версии накладных либо отклонить запрос квитанцией со статусом Rejected (несоответствие формата DocType).

Для корректного получения информации сформируем запрос типа QueryClients_v2 (или более старших версий схемы). Посмотрим на пример XML-файла, отправляемого в УТМ:


<?xml version="1.0" encoding="UTF-8"?>
<ns:Documents Version="1.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ns="http://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01"
    xmlns:oref="http://fsrar.ru/WEGAIS/ClientRef"
    xmlns:qp="http://fsrar.ru/WEGAIS/QueryParameters">
    <ns:Owner>
        <ns:FSRAR_ID>Ваш_FSRAR_ID</ns:FSRAR_ID>
    </ns:Owner>
    <ns:Document> 
        <ns:QueryClients_v2>
            <qp:Parameters>
                <qp:Parameter>
                    <qp:Name>СИО</qp:Name>
                    <qp:Value>FSRAR_ID_Контрагента</qp:Value>
                </qp:Parameter>
            </qp:Parameters>
        </ns:QueryClients_v2>
    </ns:Document>
</ns:Documents>

Важные правила при отправке запроса:

  1. Параметр DocType при передаче файла в УТМ по HTTP (метод POST на /opt/in/QueryClients_v2) должен строго совпадать с корневым тегом запроса внутри блока ns:Document.
  2. В качестве параметра поиска можно передавать не только СИО (код организации в ЕГАИС), но и ИНН для поиска списка обособленных подразделений организации.
  3. Учитывайте системные ограничения ЕГАИС: на сервере действуют тайм-ауты на повторные запросы по одной и той же организации. Частые повторные запросы отклоняются.

Анализ полученного ответа от ЕГАИС

Рассмотрим структуру ответа, возвращаемого ЕГАИС в транспортный модуль по схеме ReplyClient_v2:


<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<ns:Documents xmlns:ns="http://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01" 
              xmlns:oref="http://fsrar.ru/WEGAIS/ClientRef_v2" 
              xmlns:rc="http://fsrar.ru/WEGAIS/ReplyClient_v2">
    <ns:Owner>
        <ns:FSRAR_ID>Ваш_FSRAR_ID</ns:FSRAR_ID>
    </ns:Owner>
    <ns:Document>
        <ns:ReplyClient>
            <rc:Clients>
                <rc:Client>
                    <oref:ClientRegId>010000004543</oref:ClientRegId>
                    <oref:INN>2310031475</oref:INN>
                    <oref:KPP>231303006</oref:KPP>
                    <oref:FullName>Акционерное общество "Тандер"</oref:FullName>
                    <oref:ShortName>АО "Тандер"</oref:ShortName>
                    <oref:VersionWB>WayBill_v4</oref:VersionWB>
                    <oref:State>Active</oref:State>
                </rc:Client>
            </rc:Clients>
        </ns:ReplyClient>
    </ns:Document>
</ns:Documents>

В приведенном ответе поле <oref:VersionWB>WayBill_v4</oref:VersionWB> прямо указывает на готовность контрагента принимать накладные четвертой версии с поштучным учетом кодов маркировки.

Особенности работы с версиями в типовых конфигурациях 1С

В типовых конфигурациях 1С (1С:Управление торговлей, 1С:Комплексная автоматизация, 1С:ERP, 1С:Розница) этот механизм автоматизирован:

  1. При обновлении данных через Классификатор организаций ЕГАИС программа отправляет соответствующий запрос и сохраняет полученную версию формата в реквизитах элемента справочника.
  2. При формировании документа «ТТН ЕГАИС (исходящая)» учетная система анализирует версию формата получателя и блокирует выгрузку в неподдерживаемой схеме.
  3. Для смены собственной версии организация должна отправить служебный запрос ChangeVersion через функционал настроек обмена с ЕГАИС в 1С.
← На главную