Страница 12 из 25

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Добавлено: 31 Август 2024, 7:30
Игорь Столяров
Привет всем !

Класс для выполнения разрешительной проверки КМ (кодов маркировки)
через API ГСЦМ "Честный ЗНАК" (ГИС МТ + ПО Локальный Модуль) и ТС ПИоТ.

Полный боевой комплект с описанием интерфейса API и примерами.

Реализованный в классе функционал полностью соответствует ПФС ЦРПТ (версия 1.11 / 26 сценариев)
для получения сертификата совместимости и допуска в промышленную среду работы с ТС ПИоТ. 😎

Благодарность за помощь на старте проекта: FinsoftRZ и Alex412.
Любые замечания, исправления и дополнения - приветствуются !
----------------------------------------------------------------------------------------------------
НАСТОЯТЕЛЬНО рекомендуем использовать актуальные версии классов LibCURL, cJSON и PrintF.

2.jpg

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Добавлено: 25 Январь 2026, 22:28
Игорь Столяров
finsoftrz писал(а): 25 Январь 2026, 21:59 Там вроде как 36 вариантов, не 21
Я говорил о ПФР версии 1.9 (и выкладывал в этой теме).
На сервере несколько дополнительных кодов - это отработка ошибок REST запросов и дробной выписки.
finsoftrz писал(а): 25 Январь 2026, 21:59 Получается, что надо проверять в 2 режимах (онлайн и оффлайн)
Нет. В ТС ПИоТ нет никакого "оффлайн режима" в принцие.
При реальной работе Вы можете узнать в каком состоянии находился ТС ПИоТ когда формировал
ответ по флагу "isCheckedOffline" для разбора ошибок. Но Вы не можете программно заставить его
изменить режим проверки (в отличии от прямой проверки в ГИС МТ / ПО ЛМ).

REST запрос "/api/v1/codes/checkoffline" предназначен исключительно для эмуляции нескольких сценариев из ПФР.
Когда Вы работает со стендом на сервере https://esm-emu.ao-esp.ru, и хотите что бы стенд Вам вернул ответ,
как будто ТС ПИоТ по какой-то причине перешёл в режим Off-Line. Это запрос только для тестового стенда. Вот и всё. :D

1.jpg

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Добавлено: 26 Январь 2026, 8:47
finsoftrz
Я имел ввиду проверку при сертификации. То есть, Вы хотите сказать, что при сертификации надо продемонстрировать результаты проверки только для режима онлайн? Мне кажется, что оффлайн тоже, иначе зачем они разместили отдельно тот же набор марок.

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Добавлено: 26 Январь 2026, 9:08
Игорь Столяров
finsoftrz писал(а): 26 Январь 2026, 8:47Мне кажется
Просто прочтите пожалуйста мой предыдущий пост и 20.01.2026 я публиковал ответ ЕСМ по поводу режима Off-Line. :D

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Добавлено: 26 Январь 2026, 9:44
finsoftrz
Игорь Столяров писал(а): 26 Январь 2026, 9:08
finsoftrz писал(а): 26 Январь 2026, 8:47Мне кажется
Просто прочтите пожалуйста мой предыдущий пост и 20.01.2026 я публиковал ответ ЕСМ по поводу режима Off-Line. :D
Сорри, Игорь, еще раз, вопрос был про сертификацию, а не про то, как работает локальная проверка. Я так понял, что Вы ее уже проходили.

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Добавлено: 26 Январь 2026, 11:07
Игорь Столяров
finsoftrz писал(а): 26 Январь 2026, 9:44 Игорь, еще раз, вопрос был про сертификацию
На сертификации Вы демонстрируете выполнение ПФС.
Я его публиковал здесь и он есть у Вас в разделе ДОКУМЕНТЫ ЛК ЦРПТ (если уже подажи заявку).

В ПФС есть описание сценариев, когда и как Вы демонстрируете на стенде работу ПМСР режиме Off-Line.
Например: продаём марку, переводим стенд в режим Off-Line и пытаемся продать её ещё раз. И т.д.
Выполнять проверку всех тестовых марок в Off-Line не нужно. Это бессмысленно и ничего не демонстрирует. 🤷‍♀️

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Добавлено: 26 Январь 2026, 11:16
finsoftrz
Ммм... У меня до оффлайн проверки не дойдет в этом сценарии... :idied:

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Добавлено: 26 Январь 2026, 11:32
Игорь Столяров
finsoftrz писал(а): 26 Январь 2026, 11:16 У меня до оффлайн проверки не дойдет в этом сценарии
Я понимаю, что Вы самостоятельно реализовали ведение списка проданных марок для проверки.
И видимо всегда проверяете марку сначала в свой БД, а потому уже начинаете разрешительную проверку.

Ничего плохого в этом нет, но и к разрешительной проверке тоже отношения не имеет. Лишнее действие.
Проверять дублирование КМ в локальном списке проданных КМ нужно только если ТС ПИоТ вернул в ответе,
что он выполнил проверку Off-Line. В On-Line режиме ТС ПИоТ сам контролирует дубли. Такие вот требования.

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Добавлено: 26 Январь 2026, 11:44
finsoftrz
Мы это обсуждали уже. Пиот сам по себе ничего не контролирует, контроль на уровне ЛМ. Но ЛМ хранит не всю историю продаж, а зачищает данные с определенной периодичностью. Плюс история продаж может потеряться при обновлении его внутренней базы данных. Поэтому рекомендация была регулярно архивировать базу данных ЛМ, а при надобности восстанавливать. А кто вот всем этим будет заниматься, большой вопрос. В своей базе данных хотя бы ничего не теряется.

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Добавлено: 26 Январь 2026, 11:57
Игорь Столяров
finsoftrz писал(а): 26 Январь 2026, 11:44 В своей базе данных хотя бы ничего не теряется.
Свой маленький свечной заводик - это всегда хорошо ! :D
Есть де-юре требования регламента обмена ЦРПТ и опыт де-факто того, как оно работает в реальности ...
Вот здесь мы занимаемся тем, что де-юре.

Кстати, ПО ЛМ ЧЗ никто не отменял.
Для работы работы ТС ПИоТ (по крайне мере ЕСМ точно) требуется его установка, настройка и конфигурация.
А для инициализации ПО ЛМ - требуется токен ЦРПТ, тот самый что будут отключать с 01.03.2026. ХЗ 🤷‍♀️

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Добавлено: 26 Январь 2026, 12:12
finsoftrz
Еще одну проверку средствами ккм тоже вроде как никто не отменял. Они идут постепенно, это можно понять.

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Добавлено: 26 Январь 2026, 17:20
finsoftrz
Подумал еще немного, наверно, все таки токен не для проверки делается, а для управления блокировками. То есть, они видят статистику, где вылезают продажи марок, которых не должно быть. И могут по каким-то признакам заблокировать продажи. Чтобы не заблокировать лишнее, могут проверять по идентификатору и токену, блокировать или конкретную кассу, или все кассы, где данное ПО используется. Насколько такое может быть эффективно, хз.

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Добавлено: 27 Январь 2026, 5:38
Игорь Столяров
Нам пообещали расширить область применения сабжа:
https://www.gazeta.ru/business/news/202 ... 3641.shtml

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

scale_1200.png

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Добавлено: 27 Январь 2026, 13:06
Игорь Столяров
SergioRaguzini писал(а): 24 Январь 2026, 21:59 «Самозанятый разработчик», это будет правильно?
Пардон, немного неправильно ответил. Исправлюсь здесь.

Физ. лицо может получить доступ в реестр партнёров и интеграторов ЦРПТ только если зарегистрировано
в ФНС РФ как в качестве плательщика налога на профессиональный доход (самозанятого).
Т.е. просто гражданин РФ Игорь Столяров не может заниматься разработкой ПМСР с оборотом кодов маркировки
для СУЗ (например по трудовому договору) и быть партнёром ЦРПТ. ХЗ почему оно так. Но как есть. 🤷‍♀️

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Добавлено: 27 Январь 2026, 19:26
finsoftrz
Среди тестов для работы с пиот обратил внимание на 8.18 (продажа товаров, прошедших проверку в ЛМ).
Написано, что кассовое ПО должно формировать фискальный документ "Уведомление о реализации" в ЧЗ. Вроде как его сама ккм автоматически формирует.
И еще написано про тег 2000, который содержит полную марку, в офд (такском) не вижу его, хотя М+ на месте... У кого-нибудь он выводится? Остальные теги из таблички в тесте на месте.

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ

Добавлено: 27 Январь 2026, 20:10
Игорь Столяров
finsoftrz писал(а): 27 Январь 2026, 19:26 Вроде как его сама ккм автоматически формирует
Ну да. ПМСР пробивает чек на реализацию с выбытием КМ.
finsoftrz писал(а): 27 Январь 2026, 19:26 И еще написано про тег 2000, который содержит полную марку
Это исходный КМ который подаётся на вход ККТ для распарса. В ФД ОФД это уже тег 1163 -> 1305 с КИЗ
Если код маркировки сформирован (например, в составе реквизита «КТ GS1.М» (тег 1305) или «КТ КМК» (тег 1306)),
тег 2000 принимает значение прочитанного кода маркировки.
Тестовое задание ЕСМ для ПМСР - это копипаст задания ЦРПТ для тестирования самой ТС ПИоТ ЕСМ.
Кстати, сценарий 5.9 с продажей блока сигарет за 1800 руб. у Вас вопросов не вызвал ? ;)