Работа с документами с маркированными товарами

ЭДО и система маркировки

С 1 января 2019 года действует Федеральный закон от 25.12.2018 N 488-ФЗ, который определяет требования к работе с маркированными товарами. Все участники оборота маркированных товаров должны передавать сведения о переходе права собственности на товар в информационную систему оператора маркировки ГИС МТ “Честный ЗНАК”.

Рассмотрим процесс работы с маркированными товарами через api Диадока, который включает следующие шаги:

1. Продавец:

  • генерирует титул продавца с маркированными товарами,
  • отправляет его покупателю.

2. Покупатель:

  • получает титул продавца с маркированными товарами,
  • генерирует титул покупателя,
  • отправляет его продавцу.

3. Оператор ЭДО:

  • отправляет документ с маркированными товарами в ГИС МТ «Честный ЗНАК»,
  • получает промежуточные и конечный статусы обработки документа в ГИС МТ «Честный ЗНАК».

4. Продавец и Покупатель:

  • узнают статус обработки документа в ГИС МТ «Честный ЗНАК».

Генерация, подписание, отправка документов с маркированными товарами

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

Передача документов в ГИС МТ «Честный ЗНАК»

Чтобы данные по документам передавались в ГИС МТ автоматически, должен быть подключен сервис передачи данных. В противном случае передавать данные и отслеживать статус нужно вручную через личный кабинет Честного ЗНАКа.

Типы документов, по которым нужно передавать данные в ГИС МТ «Честный ЗНАК»
TypeNamedId Function Version Формат Дополнительные условия
UniversalTransferDocument

СЧФДОП,

ДОП

utd820_05_01_01,

utd820_05_01_01_hyphen

приказ №820

В документах должны быть данные по маркированным товарам:

  • префикс в ИдФайл равен ON_NSCHFDOPPRMARK в 1 титуле и ON_NSCHFDOPOKMARK во 2 титуле,
  • внутри элемента Документ/ТаблСчФакт/СведТов/ДопСведТов/НомСредИдентТов указаны коды маркировки
UniversalTransferDocumentRevision

СЧФДОП,

ДОП

utd820_05_01_01,

utd820_05_01_01_hyphen

приказ №820

В документах должны быть данные по маркированным товарам:

  • префикс в ИдФайл равен ON_NSCHFDOPPRMARK в 1 титуле и ON_NSCHFDOPOKMARK во 2 титуле,
  • внутри элемента Документ/ТаблСчФакт/СведТов/ДопСведТов/НомСредИдентТов указаны коды маркировки
UniversalTransferDocument

СЧФДОП,

ДОП

utd_05_01_05,

utd_05_02_01

приказ №155

(действовал до 31.12.2019)

В документах должны быть данные по маркированным товарам:

  • в Документ/ТаблСчФакт/СведТов/ИнфПолФХЖ2 указаны коды маркировки в формате <ИнфПолФХЖ2 Идентиф=cis Значен=…>
UniversalTransferDocumentRevision

СЧФДОП,

ДОП

utd_05_01_05,

utd_05_02_01

приказ №155

(действовал до 31.12.2019)

В документах должны быть данные по маркированным товарам:

  • в Документ/ТаблСчФакт/СведТов/ИнфПолФХЖ2 указаны коды маркировки в формате <ИнфПолФХЖ2 Идентиф=cis Значен=…>
XmlTorg12 default

utd820_05_01_01,

utd820_05_01_01_hyphen

приказ №820

В документах должны быть данные по маркированным товарам:

  • префикс в ИдФайл равен ON_NSCHFDOPPRMARK в 1 титуле и ON_NSCHFDOPOKMARK во 2 титуле,
  • внутри элемента Документ/ТаблСчФакт/СведТов/ДопСведТов/НомСредИдентТов указаны коды маркировки
UniversalCorrectionDocument

КСЧФДИС,

ДИС

ucd_05_01_05,

ucd_05_02_01

приказ №189

В документах должны быть данные по маркированным товарам:

  • в Документ/ТаблСчФакт/СведТов/ИнфПолФХЖ2 указаны коды маркировки в формате <ИнфПолФХЖ2 Идентиф=cis Значен=…>
UniversalCorrectionDocumentRevision

КСЧФДИС,

ДИС

ucd_05_01_05,

ucd_05_02_01

приказ №189

В документах должны быть данные по маркированным товарам:

  • в Документ/ТаблСчФакт/СведТов/ИнфПолФХЖ2 указаны коды маркировки в формате <ИнфПолФХЖ2 Идентиф=cis Значен=…>

Данные в ГИС МТ «Честный ЗНАК» передаются:

  • после подписания документа обеими сторонами,
  • после аннулирования подписанного документа.

Получение статуса ГИС МТ «Честный ЗНАК»

Статус ГИС МТ «Честный ЗНАК» можно получить только по тем документы, которые были переданы в ГИС МТ автоматически. Для автоматической передачи должен быть подключен сервис передачи данных.

Информацию о статусе обработки документов в ГИС МТ “Честный ЗНАК” можно получить в виде структуры OuterDocflow в методах:

  • работы с сообщениями GetMessage - возвращается информация о всех полученных статусах ГИС МТ
  • работы с событиями GetEvent, GetNewEvents, GetLastEvent - возвращается информация о всех полученных статусах ГИС МТ,
  • работы с документами GetDocument, GetDocumentsByMessageId, GetDocuments - возвращается только последний полученный статус по документу либо запросу на аннулирование.

В OuterDocflow может содержаться информация не только о взаимодействии с ГИС МТ «Честный ЗНАК», но и о других внешних документооборотах. Статусам ГИС МТ «Честный ЗНАК» соответствует DocflowNamedId=TtGis

Пример ответа:

"OuterDocflowInfo":
{
   "DocflowNamedId": "TtGis",
   "DocflowFriendlyName":"ГИС МТ",
   "Status":{
     "NamedId":"ProcessingError",
     "FriendlyName":"Ошибка в ГИС МТ ""Честный ЗНАК""",
     "Type":"Error",
     "Details":[
     {
        "Code":"4",
        "Text":"Документ с таким номером уже зарегистрирован в ГИС МТ"
     },
     {
        "Code":"24",
        "Text":"Статус кода маркировки {КМ} не соответствует выполняемой операции"
     }
  ]}
}

В DocflowAPI V3 данные о статусах ГИС МТ можно получить в GetDocflows (версия 3), GetDocflowsByPacketId (версия 3), SearchDocflows (версия 3), GetDocflowEvents (версия 3) в виде структур:

  • OuterDocflow - информация о последнем полученном статусе ГИС МТ.
  • OuterDocflowEntities - информация о всех полученных статусах ГИС МТ.

В OuterDocflow и OuterDocflowEntities может содержаться информация не только о взаимодействии с ГИС МТ «Честный ЗНАК», но и о других внешних документооборотах. Статусам ГИС МТ «Честный ЗНАК» соответствует DocflowNamedId=TtGis.

В зависимости от сущности, для которой получен статус ГИС МТ, подробная информация о статусе OuterDocflowEntities будет содержаться в структуре:

Пример ответа:

"OuterDocflows": [
   {
      "DocflowNamedId": "TtGis",
      "ParentEntityId": "d2cdd36a-a1bc-47a4-a358-3e344dca7bc2",
      "OuterDocflowEntityId": "c75815a2-6dfc-43bb-997a-1dbaba4b08a3"
   }
],
"OuterDocflowEntities": [
   {
      "DocflowNamedId": "TtGis",
      "DocflowFriendlyName": "ГИС МТ",
      "StatusEntities": [
         {
            "Attachment": {
               "Attachment": {
                  "Entity": {
                     "EntityId": "14aed39d-70e3-49e4-a3e4-c1cde04fd506",
                     "CreationTimestamp": {
                        "Ticks": 637359498817771378
                     },
                     "Content": {
                        "Size": 829
                     }
                  },
                  "AttachmentFilename": "TtGis_InProcessing_20200904_145417.xml",
                  "DisplayFilename": ""
               }
            },
            "Status": {
               "NamedId": "InProcessing",
               "FriendlyName": "Обрабатывается в ГИС МТ \"Честный ЗНАК\"",
               "Type": "Normal",
               "Description": "Документ обрабатывается в ГИС МТ \"Честный ЗНАК\".",
               "Details": []
            }
         },
         {
            "Attachment": {
               "Attachment": {
                  "Entity": {
                     "EntityId": "c75815a2-6dfc-43bb-997a-1dbaba4b08a3",
                     "CreationTimestamp": {
                        "Ticks": 637359499045398064
                     },
                     "Content": {
                        "Size": 1092
                     }
                  },
                  "AttachmentFilename": "TtGis_SuccessProcessed_20200904_145520.json",
                  "DisplayFilename": ""
               }
            },
            "Status": {
               "NamedId": "SuccessProcessed",
               "FriendlyName": "Обработан в ГИС МТ \"Честный ЗНАК\"",
               "Type": "Success",
               "Description": "Документ обработан в ГИС МТ \"Честный ЗНАК\".",
               "Details": []
            }
         }
      ]
   }
]

Для получения контента квитанций ГИС МТ «Честный ЗНАК» нужно использовать метод GetEntityContent. Квитанции будут возвращаться в том виде, в котором получены от ГИС МТ.

Список статусов ГИС МТ «Честный ЗНАК»

Обрабатывается в ГИС МТ Честный ЗНАК

Статус возвращается после успешной передачи документа в ГИС МТ Честный ЗНАК. Статус не предполагает никаких дополнительных действий от участников документооборота.

В ответе возвращается:

  • статус,
  • транспортная квитанция ГИС МТ.
Обработан в ГИС МТ Честный ЗНАК

Статус возвращается после успешной обработки документа в ГИС МТ Честный ЗНАК. Данный статус означает, что произошел переход прав собственности на маркированные товары. Товары из документа можно реализовывать дальше.

В ответе возвращается:

  • статус,
  • технологическая квитанция ГИС МТ.
Ошибка в ГИС МТ Честный ЗНАК

Статус возвращается, если в процессе обработки документа в ГИС МТ Честный ЗНАК возникли ошибки. Нужно проанализировать ошибку и предпринять действия по ее устранению. В большинстве случаев потребуется аннулирование текущего документа и перевыставление нового либо отправка исправления или корректировки.

В ответе возвращается:

  • статус,
  • технологическая квитанция ГИС МТ,
  • список ошибок, которые возникли в ходе обработки документа.
Передается в ГИС МТ Честный ЗНАК

Статус возвращается, если ГИС МТ Честный ЗНАК недоступен, документ передать не удалось, но попытки передачи продолжаются. Статус не предполагает никаких дополнительных действий от участников документооборота.

В ответе возвращается:

  • статус,
  • файл с текстом ошибки.
Ошибка передачи в ГИС МТ Честный ЗНАК

Статус возвращается, если при передаче документа в ГИС МТ Честный ЗНАК получена ошибка 4хх или 500, документ передать не удалось, повторные попытки передачи не выполняются. Статус не предполагает никаких дополнительных действий от участников документооборота. После устранения проблем передачи документы будут повторно отправлены в ручном режиме.

В ответе возвращается:

  • статус,
  • транспортная квитанция ГИС МТ.
Соответствие возвращаемых в ответе значений
DocflowNamedId Status.NamedId Status.FriendlyName Status.Type
TtGis SendingInProgress Отправляется в ГИС МТ Честный ЗНАК Normal
TtGis GisReceivingError Ошибка передачи в ГИС МТ Честный ЗНАК Error
TtGis InProcessing Обрабатывается в ГИС МТ Честный ЗНАК Normal
TtGis SuccessProcessed Обработан в ГИС МТ Честный ЗНАК Success
TtGis ProcessingError Ошибка в ГИС МТ Честный ЗНАК Error