Страница 19 из 19
Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ
Добавлено: 31 Август 2024, 7:30
Игорь Столяров
Привет всем !
Класс для выполнения разрешительной проверки КМ (кодов маркировки)
через API ГСЦМ "Честный ЗНАК" (ГИС МТ + ПО Локальный Модуль) и ТС ПИоТ.
Полный боевой комплект с описанием интерфейса API и примерами.
Реализованный в классе функционал полностью соответствует ПФС ЦРПТ (версия 1.10 / 21 сценарий)
для получения сертификата совместимости и допуска в промышленную среду работы с ТС ПИоТ.
Благодарность за помощь на старте проекта: FinsoftRZ и Alex412.
Любые замечания, исправления и дополнения - приветствуются !
----------------------------------------------------------------------------------------------------
НАСТОЯТЕЛЬНО рекомендуем использовать актуальные версии классов
LibCURL,
cJSON и
PrintF.
Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ
Добавлено: 16 Февраль 2026, 16:16
finsoftrz
Игорь, а какие версии libcurl, json и printf Вам достались от бабушки? Вроде все это от дедушки.

Если от дедушки можно, а от бабушки нет, то это сексизм.

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ
Добавлено: 16 Февраль 2026, 16:28
zmi
zmi писал(а): 16 Февраль 2026, 14:16
Коды как раз-таки идут в том же порядке, диагностика к ним неправильная.
Игорь, кажется я понял, что происходит с обработкой списка.
Как только появляется код с диагностикой "КМ не найден в ГИС МТ" происходит смещение диагностики на него (и именно диагностики, последовательность кодов верная), как будто этой строки очереди нет.
Вот например, если добавить в мой пример еще один код, который отсутствует в ГИС МТ, на 2-е место, то диагностика по 1-му коду верная, по 2-му - от третьего, по 3-му - от четвертого, к последнему дописывается от 2-го.
Free(qCodes)
Clear(qCodes); qCodes.GS1 = '0104670540176099215''W9Um<29>93dGVz'; Add(qCodes) ! КМ из сертификации 5.1
Clear(qCodes); qCodes.GS1 = '0107613036147262215ChK<W<29>93NKId'; Add(qCodes) ! КМ зоокорм
Clear(qCodes); qCodes.GS1 = '0104670540176099215LnOjv<29>93dGVz'; Add(qCodes) ! КМ из сертификации 5.2
Clear(qCodes); qCodes.GS1 = '0104602220006549215opFcmK<29>93dGVz'; Add(qCodes) ! КМ из примера (алкоголь)
PS. Я пробовал разные варианты, но все они соответствуют данной версии.
Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ
Добавлено: 16 Февраль 2026, 16:31
Игорь Столяров
Современный софт на всех уровнях стал достаточно сложным.
Ошибки - это рабочий процесс, и далеко не всё официально публикуется. Просто исправляется и всё.

Недавно я говорил об ошибках в драйвере ККТ POScenter, которых нет в драйвере ТБМ.
Всё-таки после разбора логов они сознались, что это ошибка "новой команды разработчиков" и она исправлена.
Но это только в переписке со мной, для всех остальных на сайте - всё супер !

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ
Добавлено: 16 Февраль 2026, 16:32
Игорь Столяров
zmi писал(а): 16 Февраль 2026, 16:28
Игорь, кажется я понял, что происходит с обработкой списка
Мне кажется всё проще. Сначала идут успешные коды, а потом ошибки.

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ
Добавлено: 16 Февраль 2026, 16:45
zmi
Игорь Столяров писал(а): 16 Февраль 2026, 16:32
Сначала идут успешные коды, а потом ошибки.
Такая мысль и мне первой пришла в голову

НО в результате некорректная диагностика!!

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ
Добавлено: 16 Февраль 2026, 16:50
Игорь Столяров
zmi писал(а): 16 Февраль 2026, 16:45
в результате некорректная диагностика
Спасибо. Да, я уже это понял. ТС ПИоТ меняет последовательность кодов при ошибке.

Сейчас сделаю - не заморачивайтесь пока с этим. Это будут внутренние изменения в классе.
- Если проверяется один КМ при выписке - с ним не может быть проблемы нарушения последовательности;
- Если ошибка проверки списка КМ в чеке - то чек всё равно снимается с продажи, но возможно неправильное указание КМ с ошибкой.
Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ
Добавлено: 16 Февраль 2026, 20:37
finsoftrz
Игорь Столяров писал(а): 16 Февраль 2026, 16:31
Современный софт на всех уровнях стал достаточно сложным.
Ошибки - это рабочий процесс, и далеко не всё официально публикуется. Просто исправляется и всё.

Недавно я говорил об ошибках в драйвере ККТ POScenter, которых нет в драйвере ТБМ.
Всё-таки после разбора логов они сознались, что это ошибка "новой команды разработчиков" и она исправлена.
Но это только в переписке со мной, для всех остальных на сайте - всё супер !
Эта сложность объясняется низким уровнем адекватности спускаемых сверху правил, с одной стороны, и попыткой более полно реализовать это в учетных системах (я, конечно, про наших баранов). Это игра в одни ворота. Следовать всем правилам в итоге смогут только крупные компании, которые могут позволить себе тратить много денег на содержание больших ит отделов и прочих бухгалтеров. Для средних и небольших компаний такой подход прямой путь к закрытию. Что мы сейчас и наблюдаем. По этой причине сейчас надо как-то оптимизировать взаимодействие с государственными сервисами, сознательно ограничивая и упрощая их использование.
Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ
Добавлено: 16 Февраль 2026, 20:46
Игорь Столяров
zmi писал(а): 16 Февраль 2026, 16:45
НО в результате некорректная диагностика!!
Устранено ! Приглашаю все заинтересованные стороны к тестированию.
Вот негодяи ! Зачем же они сделали в ТС ПИоТ пасхалку с перетасовкой записей в ответе при ошибках ?
Хотя, кстати, это может быть только проблемой тестового стенда (уже были такие и в ГИС МТ и в Ветисе)
Начали сертификацию в АО ЕСП. Спойлер: всё не просто ...

Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ
Добавлено: 16 Февраль 2026, 20:57
finsoftrz
А зачем нужна сертификация в АО ЕСП? Первый раз слышу, вроде достаточно в ЧЗ.
Класс для API ГСЦМ «Честный ЗНАК» / ТС ПИоТ
Добавлено: 16 Февраль 2026, 21:02
Игорь Столяров
finsoftrz писал(а): 16 Февраль 2026, 20:57
А зачем нужна сертификация в АО ЕСП? Первый раз слышу, вроде достаточно в ЧЗ.
Для работы - оно как бы да, достаточно только попасть в реестр совместимого ПО ЦРПТ и получить свой токен ...
Но ведь теперь хочется (очень), попасть на сайт ЦРПТ в калькулятор выбора ПО и рекомендации ЕСП для удобства клиентов.
