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

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

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

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

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

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

Привет всем !

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

Благодарность за помощь на старте проекта: FinsoftRZ и Alex412.
Любые замечания, исправления и дополнения - приветствуются !
------------------------------------------------------------------------------------------------------------
2.jpg
Вложения
Honest-2025-09-27.rar
Версия от 27.09.2025 г.
(1.25 МБ) 1495 скачиваний
Honest-2025-10-10.rar
Версия от 10.10.2025 г.
(1.26 МБ) 9 скачиваний
Последний раз редактировалось Игорь Столяров 10 Октябрь 2025, 21:25, всего редактировалось 37 раз.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8225
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 33 раза
Поблагодарили: 105 раз

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

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

Всем привет !

Версия класса для API НСЦМ "Честный знак" от 22.09.2025 г.
----------------------------------------------------------------------
Новые типы данных
- Honest:G_Contact - Параметры подключения к сервису

Новые методы:
- Honest::LM_ExportKI - Выгрузить КИ проданных товаров в JSON
- Honest::LM_ImportKI - Загрузить КИ проданных товаров из JSON
- LM_ViewStatus - Показать статус подключения к ПО ЛМ «Честный ЗНАК»

Новые варинты методов (выполнить переход, старые будут удалены в следующем релизе):
- Honest.Init - Инициализация класса
- Honest.LM_SetParam - Установить параметры подключения к ЛМ (более не используется)
- Honest.CheckReceipt - Комбинированная проверка списка КМ

- Honest::EditSoldList - Изменить список КМ проданных товаров
- Honest::CheckReceipt - Комбинированная проверка списка КМ

Honest:ClassVersion - дата версии класса Honest в человеческом формате '22.09.2025'.
Процедура Honest::GetClassVersion() вернёт версию класса Honest в формате даты Clarion.

Обновлены примеры работы с классом.

Изменения в методах сделаны для того, что бы не передавать параметры подключения
при вызове каждой процедуры или метода, т.к. их становится всё больше ...

Т.е. конструкции типа:

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

  Code
  Honest::CheckReceipt(qCodes,               |  ! Список КМ GS1 для проверки
                       'ВАШ ТОКЕН ИЗ ЛК ЧЗ', |  ! Токен  доступа к API НСЦМ «Честный ЗНАК»
                       'ПОЛЬЗОВАТЕЛЬ',       |  ! Имя    пользователя для ПО ЛМ «Честный ЗНАК»
                       'ПАРОЛЬ',             |  ! Пароль пользователя для ПО ЛМ «Честный ЗНАК»
                       'НОМЕР ФН ККТ',       |  ! Номер ФН ККТ (опционально)
                       -1,                   |  ! Кодовая страница записи протокола (без записи = -1 / CP_UTF8 / CP_ACP)
                       False)                |  ! Работа без запросов
Заменяются на:

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

gContact  Group(Honest:G_Contact).              ! Параметры подключения

  Code
  gContact.sToken         = 'ТОКЕН ИЗ ЛК ЧЗ'    ! Токен  доступа к API НСЦМ «Честный ЗНАК»
  gContact.sLM_User       = 'ПОЛЬЗОВАТЕЛЬ'      ! Имя    пользователя для ПО ЛМ «Честный ЗНАК»
  gContact.sLM_Password   = 'ПАРОЛЬ'            ! Пароль пользователя для ПО ЛМ «Честный ЗНАК»  
  gContact.sFN            = 'НОМЕР ФН ККТ'      ! Номер ФН ККТ (опционально)    
  gContact.lDebugCodePage = -1                  ! Кодовая страница записи протокола (без записи = -1 / CP_UTF8 / CP_ACP) 
  gContact.bSilentMode    = False               ! Отключить тихий режим без запросов
  ...
  Honest::CheckReceipt(gContact,qCodes)         ! Проверить список КМ
  Honest::EditSoldList(gContact,qCodes)         ! Изменить список КМ проданных товаров  
  Honest::LM_ExportKI( gContact,'MySave.json')  ! Выгрузить КИ проданных товаров в JSON
Вот и всё. :D

----------------------------------------------------------------------
Мы используем актуальную версии LibCurl и класс cJSON с сайта автора.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8225
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 33 раза
Поблагодарили: 105 раз

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

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

Всем привет !

Версия класса для API НСЦМ "Честный знак" от 27.09.2025 г.
-----------------------------------------------------------------------------
- Проверена совместимость класса с ПО Локальный Модуль «Честный знак» 1.5.1;
- Honest::LM_DelAllKI() - удалить КИ всех проданных товаров (очистить список проданных КИ);

- Добавлена возможность указания имени файла для хранения кеша CDN площадок;
- Добавлено хранение кеша CDN площадок в папке рабочих данных пользователя Windows;
- Добавлены запись и использование кеша с данными загруженных ранее CDN площадок;

- Для операций выгрузки / загрузки КИ в JSON добавлен режим с запросом имени файла;
- При выгрузке КИ добавлено сообщение об успешном выполнении с кол-вом КИ;
- При загрузке КИ добавлен запрос с кол-вом КИ в пакете и сообщение с кол-вом загруженных КИ;
-----------------------------------------------------------------------------
Мы используем актуальные версии классов LibCurl и cJSON с сайта автора.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8225
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 33 раза
Поблагодарили: 105 раз

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

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

Всем привет !

Версия класса для API ГСЦМ «Честный ЗНАК» от 01.10.2025 г.
-----------------------------------------------------------------------------

НСЦМ «Честный ЗНАК» переобулась на лету. :)
Далее они просят называть себя Государственная Система Цифровой Маркировки (ГСЦМ «Честный ЗНАК»).

- Honest::PulseOnLine покажет мониторинг доступности сервиса ГСЦМ «Честный ЗНАК».

- Метод / процедура CheckReceipt() для разрешительной проверки КМ в чеке:
* Безусловный запрет на печать чека с ошибками проверки КМ;
* Показывается список всех ошибочных КМ в чеке с расшифровкой проблемы;
* Параметр bOnlyOffLine - отключение On-Line проверки в сервисе (проверка только в ПО ЛМ);
* В сообщении об ошибке показан вид выполненной проверки (On/Off-Line);

- В метод LM_ViewStatus() добавлена информация о текущем состоянии ПО ЛМ;
- Добавлена возможность указывать папку по умолчанию для обмена пакетами КИ;

-----------------------------------------------------------------------------
Мы используем актуальные версии классов LibCurl и cJSON с сайта автора.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8225
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 33 раза
Поблагодарили: 105 раз

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

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

Не спать ! :)
С 1 октября стартовал эксперимент по маркировке посуды и товаров для дома.
https://taxcom.ru/baza-znaniy/markirovk ... dlya-doma/
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8225
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 33 раза
Поблагодарили: 105 раз

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

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

Всем привет !

Версия класса для API НСЦМ "Честный знак" от 10.10.2025 г.
----------------------------------------------------------------------

- Отработаны изменения в Методических указаниях ГСЦМ «Честный ЗНАК» версии 13 от 10.10.2025 г.
(прилагаются в комплекте)

----------------------------------------------------------------------
Мы используем актуальные версии классов LibCurl и cJSON с сайта автора.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
StillZero
Ветеран
Сообщения: 460
Зарегистрирован: 06 Июль 2005, 2:17
Откуда: Хабаровск
Благодарил (а): 1 раз
Поблагодарили: 1 раз
Контактная информация:

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

Сообщение StillZero »

В этой теме спрошу, косвенно перекликается.
Возникло желание продавать носки. Логично продавать в единице измерения "пара". Что-то не вижу такого кода для ККТ.
Подскажите, пожалуйста.
Или в штуках продаете?
по аэродрому...
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5511
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 16 раз
Поблагодарили: 75 раз

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

Сообщение finsoftrz »

В штуках.
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8225
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 33 раза
Поблагодарили: 105 раз

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

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

Вот полный список единиц измерений доступных для ФФД 1.2 в кассовых чеках:

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

!  1 шт. или ед.  0    Применяется для предметов расчета, которые могут быть реализованы поштучно или единицами
!  2 г      10    Грамм
!  3 кг     11    Килограмм
!  4 т      12    Тонна
!  5 см     20    Сантиметр
!  6 дм     21    Дециметр
!  7 м      22    Метр
!  8 кв. см 30    Квадратный сантиметр
!  9 кв. дм 31    Квадратный дециметр
! 10 кв. м  32    Квадратный метр
! 11 мл     40    Миллилитр
! 12 л      41    Литр
! 13 куб. м 42    Кубический метр
! 14 кВт•ч  50    Киловатт час
! 15 Гкал   51    Гигакалория
! 16 сутки  70    Сутки (день)
! 17 час    71    Час
! 18 мин    72    Минута
! 19 с      73    Секунда
! 20 Кбайт  80    Килобайт
! 21 Мбайт  81    Мегабайт
! 22 Гбайт  82    Гигабайт
! 23 Тбайт  83    Терабайт
!255 Применяется при использовании иных единиц измерения, не поименованных в п.п. 1-23
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Ответить