Каталог решений - Честный знак — Загрузка всех КИ участника (табачная и альтернативная продукция) для управляемых форм

Честный знак — Загрузка всех КИ участника (табачная и альтернативная продукция) для управляемых форм

Честный знак — Загрузка всех КИ участника (табачная и альтернативная продукция) для управляемых форм

В наличии

Обработка загрузки Кодов идентификации из Честного знака позволяет загрузить все коды в определённом статусе, которые числятся за участником, в таблицу на форме. Разработано и адаптировано для табачной и альтернативной продукции. Имеется пошаговый механизм получения токена доступа к API честного знака. Может служить заготовкой для разработки остальных методов API.

Категория:

Описание

1. На вкладке "Настройка" поле сервер заполняется автоматически. Для табачной продукции и отп заполняется "ismotp.crptech.ru". Необходимо заполнить поле ИНН. ИНН берётся из ЛК Честного знака участника оборота.

2. Нажимаем кнопку "Загрузить сертификаты". В табличную часть загружаются сертификаты.

3. Выбираем сертификат, щёлкнув мышью по нужному сертификату. При этом поле "Сертификат" должно заполниться.

4. Нажимаем кнопку "Получить токен". Происходит процесс получения токена. И заполняются поля "УИД" и "Токен". "УИД" это поле, участвующее в получении токена. После того как токен получен и заполнен в поле "Токен", можно приступать к работе с API Честного знака.

5. Переходим на вкладку "Запрос КИ"

6. Выбираем "Статус КИ", который нужно запросить, и "Вид продукции". По умолчанию они заполняются статусом "INTRODUCED" и "Табачная продукция"

7. Нажимаем кнопку "Создать задание на выгрузку". Создаётся задание на выгрузку. Получается ID задания, имея который можно проверять статус задания.

Задание некоторое время готовится на сервере Честного знака. А в обработке включается таймер проверки задания на готовность.

Раз в 20 секунд выполняется запрос на готовность задания и возвращается результат. "COMPLETED" — готово к загрузке. "PREPARATION" — готовится. Там есть еще и другие статусы. Про них можно почитать в официальной документации.
Проверку задания можно прервать, нажав кнопку "Сброс". И потом возобновить, нажав кнопку "Включить проверку". Нажимая эту кнопку, надо иметь заполненным поле ID задания.

После того, как будет получен статус "COMPLETED", проверка задания автоматически завершается и можно приступать к загрузке архива с КИ.

8. Имея статус "COMPLETED", нажимаем кнопку "Загрузить результат". Загружаются КИ в таблицу на форме.

В работе этой обработки есть один очень жёсткий костыль. Когда происходит загрузка данных из ЧЗ в виде CSV файла и построчный парсинг, используется функция ВыделениеКИизСтроки(). Она очень костыльная. Связано это с тем форматом данных, который возвращает ЧЗ. Дело в том, что они и в КИ, и в других блоках данных используют любые символы. В том числе и служебные. Такие как запятая и кавычка. 

Например, приходит строка:

"04605648024,25-8H.-y""","04605648024225",,,"0",,"3223000539",,,"Табак для кальяна Must Have Undercoal Baikal c ароматом лесных трав и хвои","MUST HAVE",,"АО ""ПССФ""","2021-06-24T00:00:00.000Z","2021-07-14T13:00:00.000Z","WITHDRAWN",,"LOCAL","RETAIL","UNIT","TOBACCO","2021-05-07T08:21:14.150Z","2021-05-07T04:38:59.110Z",,"[]",,

и КИ в данном случае
04605648024,25-8H.-y"

Что существенно осложняет разбор строки CSV, потому как эти символы должны быть служебными и не должны использоваться в данных. То, что было написано, это такая заплатка, которая позволяет работать коду и получать данные. Иногда могут проскакивать ошибки при разборе. Тут либо надо быть внимательным, либо, изучив формат данных, отдаваемых ЧЗ, посоветовать в комментариях способ разбора строки.

Официальная документация

https://честныйзнак.рф/upload/TRUE_API.pdf

За основу работы обработки взят метод API 

8.1.3. Получение списка КИ участника оборота товаров по заданному фильтру.

Тестировалось на платформах 8.3.13.1926 и 8.3.18.1334.

15.12.21 — Обновление

Обнаружена проблема с загрузкой КИ для ООО. Проблема была в ИНН который в сертификате. К ИНН добавляется два нуля. Теперь в обработке есть реквизит "форма собственности", который обязателен для заполнения ИП/ООО. И тогда если выбирается ООО, то из ИНН корректно убираются нули при получении данных из сертификата.

22.12.21 — Обновление

В процессе работы выяснилось, что сертификаты выданные после 01.08.2021 года содержат ИНН директора для ООО, а не организации. Поэтому автоматическое заполнение поля ИНН для ООО не возможно. Функция автоматического заполнения ИНН убрана, чтобы создавать меньше путаницы. Теперь поле ИНН нужно заполнять из личного кабинета. Также убран реквизит "форма собственности".

 

has been added to your cart:
Оформление заказа