Класс для API НСЦМ «Честный ЗНАК»

Программы на Clarion, шаблоны, библиотеки и пр.

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8116
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 30 раз
Поблагодарили: 102 раза

Класс для API НСЦМ «Честный ЗНАК»

Сообщение Игорь Столяров »

Привет всем !

Класс для разрешительной проверки КМ (кодов маркировки) через API НСЦМ "Честный знак".
Поддержка целевой реализации в ПО ЛМ "Честный Знак" (обязательна с 01.09.2025 г.)
Полный боевой комплект с описанием интерфейса API и примерами.

Благодарность за помощь на старте проекта: FinsoftRZ и Alex412.
Любые замечания, исправления и дополнения - приветствуются !
------------------------------------------------------------------------------------------------------------
Ставь лайк, если уже понял, что ПО ЛМ ЧЗ нельзя обновить, а можно только переустановить ! 👍

1.jpg
Вложения
Honest-2025-08-24.zip
Версия от 24.08.2025 г.
(1.22 МБ) 4 скачивания
Последний раз редактировалось Игорь Столяров 24 Август 2025, 7:42, всего редактировалось 27 раз.
Make Clarion Great Again ! 😎
Аватара пользователя
SergioRaguzini
Старожил
Сообщения: 258
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 19 раз

Класс для API НСЦМ «Честный ЗНАК»

Сообщение SergioRaguzini »

Игорь Столяров писал(а): 17 Июнь 2025, 20:26 ...
- Отработаны изменения в Методических указаниях ЧЗ версии 11 от 05.06.2025 г.
(прилагаются в комплекте)
...
Очень нужная док! :ty:
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8116
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 30 раз
Поблагодарили: 102 раза

Класс для API НСЦМ «Честный ЗНАК»

Сообщение Игорь Столяров »

SergioRaguzini писал(а): 18 Июнь 2025, 15:24 Очень нужная док!
Говорят, что Шекспира лучше читать в подлиннике ! 🤦‍♀️
Вот ссылка: https://xn--80ajghhoc2aj1c8b.xn--p1ai/b ... gulations/
Make Clarion Great Again ! 😎
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8116
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 30 раз
Поблагодарили: 102 раза

Класс для API НСЦМ «Честный ЗНАК»

Сообщение Игорь Столяров »

1.jpg
Make Clarion Great Again ! 😎
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5360
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 12 раз
Поблагодарили: 65 раз

Класс для API НСЦМ «Честный ЗНАК»

Сообщение finsoftrz »

Они уж задолбали. Ветис 2 недели лежал, справки на бумажках выписывали, все нормально. :shock:
Кстати, заметили, что после продажи табачных в офд совсем не те марки, которые сканируются на кассах? Похожи на маркировку партий, а не отдельных пачек. Видимо, не тянут поштучный учёт (он в продуктовые только на табачных) и переходят втихоря на парционный. Или я что-то пропустил. Случайно обратил внимания во время разборок полётов по одной из проблем.
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8116
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 30 раз
Поблагодарили: 102 раза

Класс для API НСЦМ «Честный ЗНАК»

Сообщение Игорь Столяров »

Всем привет !

Версия класса для API НСЦМ "Честный знак" от 22.08.2025 г.
----------------------------------------------------------------------
- Отработаны изменения в Методических указаниях ЧЗ версии 12 от 15.07.2025 г.
(прилагаются в комплекте)

- Ведение списка проданных кодов маркировки (точнее кодов идентификации в формате RFC 1738).
- Обработка ошибки повторной реализации при разрешительной проверке КМ через ПО ЛМ ЧЗ.

Не будьте как Игорь !
Т.е. сначала обновляем ПО ЛМ ЧЗ до версии 1.5 (и выше), а потом уже
пробуем работаем с новыми методами регистрации проданных товаров ... :)

----------------------------------------------------------------------
Мы используем актуальную версии LibCurl и класс cJSON с сайта автора.
Make Clarion Great Again ! 😎
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5360
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 12 раз
Поблагодарили: 65 раз

Класс для API НСЦМ «Честный ЗНАК»

Сообщение finsoftrz »

А что означает "Обработка ошибки повторной реализации при разрешительной проверке КМ через ПО ЛМ ЧЗ"?
У себя я контроль повторных продаж марок реализовывал самостоятельно, так как не было гарантированного отслеживания дублей со стороны ЧЗ, а предупреждения с требованием исправить они начали слать. Их интересует процент дублей продаж в отдельных магазинах. Если в магазине несколько кассовых проходов, то на хостинге создаем базу продаж марок в магазине, куда пишется/читается через http запросы.
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8116
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 30 раз
Поблагодарили: 102 раза

Класс для API НСЦМ «Честный ЗНАК»

Сообщение Игорь Столяров »

finsoftrz писал(а): 22 Август 2025, 14:08 У себя я контроль повторных продаж марок реализовывал самостоятельно
Безусловно, Вы можете у себя делать всё так, как считаете правильным и нужным.

А порядок действий рекомендуемый НСЦМ "Честный Знак" по пунктам расписан в
разделе «5. Сценарий проверки продукции перед продажей» и мы его реализовали. :)
(см. страницу 65 в Методических указаниях ЧЗ версии 12 от 15.07.2025 г.)
finsoftrz писал(а): 22 Август 2025, 14:08 Если в магазине несколько кассовых проходов, то на хостинге создаем базу продаж марок в магазине, куда пишется/читается через http запросы.
Ну в принципе, ПО ЛМ ЧЗ реализует те же яйца, только в профиль.

Код: Выделить всё

2.1 Особенности работы в режиме офлайн 
...
ЛМ ЧЗ устанавливается на торговую точку в единственном экземпляре вне 
зависимости от числа касс, каждый экземпляр ЛМ ЧЗ имеет свой уникальный идентификационный 
номер (для каждого ИНН должен быть установлен отдельный экземпляр ЛМ ЧЗ);
Отказаться от ПО ЛМ ЧЗ Вы не можете, а значит вешаете дублирующий код.
Который, кстати, возможно и полезен для внутренних задач статистики дубликатов и т.д.,
но к разрешительной проверки КМ уже не имеет никакого отношения ... :)
Make Clarion Great Again ! 😎
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5360
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 12 раз
Поблагодарили: 65 раз

Класс для API НСЦМ «Честный ЗНАК»

Сообщение finsoftrz »

Что-то я сомневаюсь, что ЛМ может контролировать повторные продажи марок. Если только они кардинально не изменили схему его работы, про что не было информации (у меня, во всяком случае).
1. Обращение к ЛМ происходит только тогда, когда недоступна онлайн проверка марок.
2. В ЛМ имеется информация только о заблокированных со стороны надзорных органов марках. Эта информация периодически синхронизируется с их серверами. Осуществить другие проверки (статус марки, срок годности и т.п.) через ЛМ нельзя.
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8116
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 30 раз
Поблагодарили: 102 раза

Класс для API НСЦМ «Честный ЗНАК»

Сообщение Игорь Столяров »

finsoftrz писал(а): 22 Август 2025, 14:47 Обращение к ЛМ происходит только тогда, когда недоступна онлайн проверка марок
Абсолютно верно, но к контролю дублирования КМ при продажах это не имеет отношения.
Запись данных о проданных КМ может (и видимо должна) выполнятся в ЛМ при любом режиме разрешительной проверки.
finsoftrz писал(а): 22 Август 2025, 14:47 Осуществить другие проверки (статус марки, срок годности и т.п.) через ЛМ нельзя
Полностью с Вами согласен. Но проверка статуса КМ и попытка продажи дубликата КМ - это иное. Совсем.
Кстати, интересно, что КМ добавленный в список дубликатов ЛМ ЧЗ автомтически удаляется оттуда через 30 дней.

Т.е. это механизм для оперативного исключения ошибок при продажах внутри предприятия.
Пробили одни товары, а отгрузили другие. Потом начали повторно списывать марки и т.д.
Make Clarion Great Again ! 😎
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5360
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 12 раз
Поблагодарили: 65 раз

Класс для API НСЦМ «Честный ЗНАК»

Сообщение finsoftrz »

Пока не попадалась информация, что надо регистрировать продажу марок в ЛМ.
Если действительно так, то это печалька, так как работу ЛМ мы не можем в достаточной мере контролировать. Например, не так давно грохнулась база данных ЛМ при обновлении списка заблокированных марок, пришлось инициализировать заново, так как опять наложилось с недоступность сервиса белорусов. 30 дней тоже смущает, а если дубль будет позже? Потом все дополнительные телодвижения нужны, когда в магазине несколько проходов. Если касса одна, то дубли просто контролируются локально по базе кассовой программы.
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8116
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 30 раз
Поблагодарили: 102 раза

Класс для API НСЦМ «Честный ЗНАК»

Сообщение Игорь Столяров »

finsoftrz писал(а): 22 Август 2025, 15:16 Например, не так давно грохнулась
Есть метод выгрузки КИ из БД, отдельно указано, что можно его использовать для создания резервных копий списка КИ ...
Вообще развитие продуктов НСЦМ идёт по принципу падающего самолёта, плодятся новые костыли, вместо сломанных. :D
Make Clarion Great Again ! 😎
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8116
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 30 раз
Поблагодарили: 102 раза

Класс для API НСЦМ «Честный ЗНАК»

Сообщение Игорь Столяров »

Всем привет !

Версия класса для API НСЦМ "Честный знак" от 24.08.2025 г.
----------------------------------------------------------------------
- Отработаны изменения в Методических указаниях ЧЗ версии 12 от 15.07.2025 г.
(прилагаются в комплекте)

- Исправлены методы ведения списка проданных КМ (в описании ошибочно указана кодировка RFC 1738 !);
- Новая функция Honest::EditSoldList() - изменить список проданных КМ товаров (см. примеры).

Не будьте как Игорь !
Т.е. сначала обновляем ПО ЛМ ЧЗ до версии 1.5 (и выше), а потом уже
пробуем работаем с новыми методами регистрации проданных товаров ... :)

----------------------------------------------------------------------
Мы используем актуальную версии LibCurl и класс cJSON с сайта автора.
Make Clarion Great Again ! 😎
Ответить