Страница 27 из 30
Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»
Добавлено: 31 Август 2024, 7:30
Игорь Столяров
Привет всем !
Класс для разрешительной проверки КМ (кодов маркировки) через API ТС ПИоТ ЕСМ от
АО «ЕСП».
Поддержка работы с API ЦРПТ:
ПО Локальный модуль и
Национальный каталог.
Полный боевой комплект с описанием интерфейса API и примерами.
Реализованный в классе функционал соответствует ПФС версии 1.16 от 20.05.2026 г. (26 сценариев),
для получения сертификата совместимости и допуска к работе в промышленной среде ТС ПИоТ ЦРПТ.
Благодарность за помощь на старте проекта: FinsoftRZ и Alex412.
Любые замечания, исправления и дополнения - приветствуются !
Список изменений в версии от 19.06.2026 г.
----------------------------------------------------------------------------------------------------
- Новая товарная группа 59. "Пиротехнические изделия";
- Изменения в протоколе взаимодействия с оркестратором ЕСМ 1.1;
- Управление сервисами и ПО ЛМ по идентификатору инстанса ЕСМ;
- Устранены проблемы по запросам и внесены изменения в примеры.
----------------------------------------------------------------------------------------------------
Рекомендуем использовать актуальные версии классов
LibCURL,
cJSON и
PrintF.

- esp.png (13.96 КБ) 115218 просмотров
Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»
Добавлено: 06 Май 2026, 12:01
Игорь Столяров
SergioRaguzini писал(а): 06 Май 2026, 11:46
если в учетной системе имеется собственный механизм исключения дубликатов
Здесь ответ нужно разделить на два:
1. При проверке в ГИС МТ - проверяйте локально дубликаты КМ как считаете нужным;
2. При проверке в ТС ПИоТ - система сама будет проверять локальные дубликаты в ПО ЛМ при отсутсутвии подключения к ГИС МТ,
и устанавливать признак SOLD для проверямого КМ. А значит для этого нужно записывать выбытие КМ в БД ПО ЛМ.
В принципе, если есть время свободное, да удаль молодецкая - Вы можете самостоятельно анализировать результат
проверки всего пакета КМ и при установке флага isCheckedOffline = true проверять весь пакет по своей локальной БД КМ.
Без проблем и в этом случае не нужно записывать КМ в БД ПО ЛМ для отслеживания дубликатов выбытия.
Но от использования ПО ЛМ Вас это не избавит, т.к. всё равно ТС ПИоТ должен проверять по ней заблокированные ОГВ КМ.
Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»
Добавлено: 06 Май 2026, 12:47
SergioRaguzini
Спасибо за оперативный отклик, но прошу уточнить:
Игорь Столяров писал(а): 06 Май 2026, 12:01
...
При проверке в ТС ПИоТ - система сама будет проверять локальные дубликаты в ПО ЛМ при отсутсутвии подключения к ГИС МТ,
и устанавливать признак SOLD для проверямого КМ. А значит для этого нужно записывать выбытие КМ в БД ПО ЛМ.
...
Т.е., например, КМ успешно прошла проверку через пр-ру
Honest::CheckReceipt, далее анализируем передачу чека в ФР, если чек в ФР закрыт
корректно, то выполняем запись КМ с использованием пр-ры
Honest::EditSoldList,
если же чек в ФР
не закрылся (например, нет чековой ленты), то тогда, после устранения ошибки ФР, делаем повторную попытку передачи в ФР чека и, если, на этот раз удалось безошибочно закрыть, то выполняем
Honest::EditSoldList
Так?
Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»
Добавлено: 06 Май 2026, 13:37
Игорь Столяров
Да. Успешное создание фискального кассового чека (печать на ленту или электронный чек) означает передачу
КМ из содержания чека Вашему ОФД и далее в "Честный ЗНАК", где фиксируется выбытие КМ для On-Line проверки.
А Вы после этого, на своей стороне, фиксируете выбытие этих же КМ в БД ПО ЛМ или своей БД для Off-Line проверки,
на то случай если БД ГИС МТ будет не доступна On-Line. Конкретно ТС ПИоТ это переключение проверки выполняет сам.
Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»
Добавлено: 06 Май 2026, 15:11
finsoftrz
Если кассовое ПО само умеет проверять дубли марок, то использовать для этого ЛМ не обязательно. Это вспомогательный механизм, не обязательный для использования. Я не стал такое реализовывать, так как будут еще всякие заморочки с резервным копированием/восстановлением базы ЛМ, которая и так периодически может на свое усмотрение очищаться и требовать инициализации. Буквально сегодня такое видел в нескольких магазинах.
Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»
Добавлено: 06 Май 2026, 16:20
Игорь Столяров
finsoftrz писал(а): 06 Май 2026, 15:11
так периодически может на свое усмотрение очищаться и требовать инициализации
Есть такое дело ! ПО ЛМ реализовали в виде BackEnd, как REST сервер.
И это классно, делайте FrontEnd хоть на Windows, хоть на распилочных "русских" Linux.
Но вот когда этот REST сервис с суверенной БД Енисей стали ставить на ноутбуки с 4 GB RAM,
торрентами и несколькими бесплатными антивирусами - всё пошло немного не по плану ...

Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»
Добавлено: 12 Май 2026, 20:13
SergioRaguzini
Привет Всем!
Прошу помощи в следующем - при попытке выполнить пр-ру "
Удалить КИ всех проданных товаров"
PIoT::DelAllKI(gContact), получаю ошибку:

- piot_img1.png (6.92 КБ) 3735 просмотров
список должен быть пустой, т.к. пр-ру
Honest::EditSoldList еще не использовал, может в этом и проблема что "пусто"?
Отладочный
Honest_PIoT_lmSold_Request.txt содержит:
Код: Выделить всё
https://tspiot.sandbox.crptech.ru/api/v3/lmSold?skip=0&limit=100
а ответ
Honest_PIoT_lmSold_Response1.json:
Код: Выделить всё
{"timestamp":"2026-05-12T17:09:05.477+00:00","status":404,"error":"Not Found","path":"/api/v3/lmSold"}
При этом иные пр-ры, например,
Honest::CheckReceipt(gContact, qCodes, gVerified) или
LOC:Honest.PIoT_Info(gInfo) выполняются корректно.
установлен следующий ЛМ:

- piot_img2.png (8.71 КБ) 3735 просмотров
Что делаю не так?
Спасибо
Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»
Добавлено: 12 Май 2026, 20:54
Игорь Столяров
Всё.
Вы пытаетесь заставить ТС ПИоТ на тестовом стенде ЦРПТ очистить Вашу локальную БД ПО ЛМ.
А он сопротивляется. И выдаёт вполне логичный HTTP статус:
• 404 — Запрашиваемая информация не найдена;
Нужно установить локальный ТС ПИоТ ЕСМ и уже через него штатно взаимодействовать с Вашей БД ПО ЛМ.
Ну или удалять записи через процедуру прямого взаимодействия с ПО ЛМ: POLM::DelAllKI(gContact)
Код: Выделить всё
! Удалить КИ всех проданных товаров
If Loc:gContact.bPIoT
PIoT::DelAllKI(Loc:gContact)
else
POLM::DelAllKI(Loc:gContact)
end
Сейчас всё уже сводится к штатной работе с локальным ТС ПИоТ, т.к. on-line стенд, в принципе, не обеспечивает весь функционал.
У них было время. Но оно закончилось. (С) Бугония

Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»
Добавлено: 15 Май 2026, 8:13
finsoftrz
А в реестр совместимого ПО на сайте ЧЗ через какое время программа попадает? У меня 2 недели прошло, пока не нахожу.
Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»
Добавлено: 15 Май 2026, 8:33
Игорь Столяров
Список изменений в текущей версии публикуется в заглавном сообщении темы.
Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»
Добавлено: 22 Май 2026, 10:55
SergioRaguzini
Привет Всем!
Прошу поделиться опытом - как проходит сертификация, что необходимо из оборудования подготовить, нужен ли подключенный ФР с МГМ-ФН.
Как указать что хочу, например, для сертификации использовать стенд
https://tspiot.sandbox.crptech.ru
Спасибо
Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»
Добавлено: 22 Май 2026, 11:36
Игорь Столяров
Я уже отвечал на этот вопрос.
см. пожалуйста:
viewtopic.php?p=57242&hilit=zoom#p57242
Но нужно понимать, что мой ответ про ЦРПТ был актуален более 3-х месяцев назад.
Всё меняется. Насколько я могу судить по тем вопросам, что люди задавали на крайнем
вебинаре в АО "ЕСП" и изменениям в самом ПФС, то там всё пошло по пути закручивания гаек.
Система козлит, пользователи истерят, а ЦРПТ считает что основная причина проблем с ТС ПИоТ -
это именно низкий уровень готовности и недостаточная совместимость прикладных ПМСР.

Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»
Добавлено: 22 Май 2026, 11:58
finsoftrz
Я в конце прошлого месяца проходил, могу даже показать.

Вначале записал ролик, отправил им, думал, вдруг прокатит. Про прокатит не ответили, сказали, лучше мы к вам подключимся через zoom. Время назначили где-то за 3 недели. Я скопировал программу на ноутбук, подключил их, показал экран и сделал все тоже самое, что в ролике. По ходу пару каких-то вопросов задали, типа что если режим работы с пиот не будет включен (сказал, что в этом случае работает текущий вариант проверок без него) и нельзя ли отключить работу с маркировкой (нет, конечно же). После этого сказали, нам нужно увидеть пробитый чек в офд, достаточно прислать скриншот. Я скопировал программу в один из магазинов, сделал продажу и возврат с маркой из теста, где-то через полчаса отправил скриншот тегов из офд им на электронную почту. Ответили, все норм.
В ролике только осталась описка в названии ЕМЦ, к демонстрации поправил.
https://finsoftrz.ru/tests/piot_test.mp4
Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»
Добавлено: 22 Май 2026, 15:06
Игорь Столяров
Тогда всё складывается !
Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»
Добавлено: 23 Май 2026, 9:09
SergioRaguzini
Привет Всем!
finsoftrz писал(а): 22 Май 2026, 11:58
записал ролик
Вячеслав, посмотрел ролик, спасибо, правда смутил один момент - почему в ролике, упомянуты пункты с нумерацией начинающейся с "
8"-ки:
ведь в эмуляторе
https://tspiot.sandbox.crptech.ru/?mode ... ab=general все пункты ("
Общий", "
Аптеки", "
Легкая промышленность") для тестирования начинаются с 5-ки, или это просто собственная внутренняя нумерация программы?
Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»
Добавлено: 23 Май 2026, 9:28
finsoftrz
Я так понимаю, есть два варианта с описанием тестов. Мне они присылали ссылку, я по ней и сделал. Роли это никакой не играет.