Работа с документами с маркированными товарами¶
ЭДО и система маркировки¶
С 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 | В документах должны быть данные по маркированным товарам:
|
UniversalTransferDocumentRevision | СЧФДОП, ДОП |
utd820_05_01_01, utd820_05_01_01_hyphen |
приказ №820 | В документах должны быть данные по маркированным товарам:
|
UniversalTransferDocument | СЧФДОП, ДОП |
utd_05_01_05, utd_05_02_01 |
приказ №155 (действовал до 31.12.2019) |
В документах должны быть данные по маркированным товарам:
|
UniversalTransferDocumentRevision | СЧФДОП, ДОП |
utd_05_01_05, utd_05_02_01 |
приказ №155 (действовал до 31.12.2019) |
В документах должны быть данные по маркированным товарам:
|
XmlTorg12 | default | utd820_05_01_01, utd820_05_01_01_hyphen |
приказ №820 | В документах должны быть данные по маркированным товарам:
|
UniversalCorrectionDocument | КСЧФДИС, ДИС |
ucd_05_01_05, ucd_05_02_01 |
приказ №189 | В документах должны быть данные по маркированным товарам:
|
UniversalCorrectionDocumentRevision | КСЧФДИС, ДИС |
ucd_05_01_05, ucd_05_02_01 |
приказ №189 | В документах должны быть данные по маркированным товарам:
|
Данные в ГИС МТ «Честный ЗНАК» передаются:
- после подписания документа обеими сторонами,
- после аннулирования подписанного документа.
Получение статуса ГИС МТ «Честный ЗНАК»¶
Статус ГИС МТ «Честный ЗНАК» можно получить только по тем документы, которые были переданы в ГИС МТ автоматически. Для автоматической передачи должен быть подключен сервис передачи данных.
Информацию о статусе обработки документов в ГИС МТ “Честный ЗНАК” можно получить в виде структуры 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 будет содержаться в структуре:
- DocflowV3 - для документа
- RevocationDocflowV3 - для запроса на аннулирование.
Пример ответа:
"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 |