Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»

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

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8730
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 40 раз
Поблагодарили: 146 раз

Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»

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

Привет всем !

Класс для разрешительной проверки КМ (кодов маркировки) через API ТС ПИоТ ЕСМ от АО «ЕСП».
Поддержка работы с API ЦРПТ: ПО Локальный модуль и Национальный каталог.
Полный боевой комплект с описанием интерфейса API и примерами.

Реализованный в классе функционал соответствует ПФС версии 1.18 от 26.06.2026 г. (27 сценариев),
для получения сертификата совместимости и допуска к работе в промышленной среде ТС ПИоТ ЦРПТ. 😎

Благодарность за помощь на старте проекта: FinsoftRZ и Alex412.
Любые замечания, исправления и дополнения - приветствуются !

Список изменений в версии от 27.06.2026 г.
----------------------------------------------------------------------------------------------------
- Внесены изменения в соответствии с требованиями ПФС 1.17 и 1.18;
- Устранены проблемы по запросам и внесены изменения в примеры.
----------------------------------------------------------------------------------------------------
Рекомендуем использовать актуальные версии классов LibCURL, cJSON и PrintF.

esp.png
esp.png (13.96 КБ) 160010 просмотров
Вложения
Honest.rar
Пароль: DEFORMAT('РЕГИСТРАЦИЯ АДМИНА ВРЕМЯ В ФОРУМЕ МСК')
(57.55 КБ) 91 скачивание
Последний раз редактировалось Игорь Столяров 28 Июнь 2026, 18:27, всего редактировалось 134 раза.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8730
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 40 раз
Поблагодарили: 146 раз

Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»

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

Всем привет !

Хочу рассказать историю, непосредственно связанную с ТС ПИоТ.
АО "ЕСП" анонсировало создание по всей стране центров обслуживания ЕСМ (на сайте есть карта).
Было заявлено, что они получат часть оплаты из подписки 5тр на ЕСМ за установку и сопровождение.
Вроде бы всё правильно и хорошо, но ...

Есстественно никаких центров обслуживания ЕСМ никто создавать не собирается.
Учитывая выверты ЦРПТ с переносом сроков внедрения ТС ПИоТ - это провальная бизнес модель.
А вот всё-теже мелкие ЦТО по ремонту кассовой техники в регионах - заработать на шару не против.
Проблема в том, что у них есть техники для пайки плат, а с маркировкой они сталкиваются только в магазине.

Далее они берут под "новый проект" девочку, которая удалённо за +6-7 тр. из дома установит ЕСМ и (Внимание !!!) решит
все вопросы с ЕСМ и разработчиком кассовой программы. При этом модель ККТ, версия Windows и программы вообще пофиг.
Супер-профессионалы ! Запуганные предприниматели готовы на всё.

И начинается цирк с конями. Со мной парочка таких девах уже контактировала. От них я узнал, что программа
не видит порт если запущено окно драйвера (тупо ККТ захвачен), запуская по нескольку копий ЕСМ - они добились
эффекта когда ТС ПИоТ начинает в цикле искать и переподключаться к единственной ККТ. Всё падает на компе с 4GB RAM.
Вишенкой на этом торте, они "загуглив Алису" (дословно !) пришли ко мне, что бы я немедленно удалённо подключился
к какому-то компьютеру и решил все их проблемы. Просто пипец. Сейчас вроде пошла отсрочка, но осенью они вернуться. :D
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 6071
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 25 раз
Поблагодарили: 90 раз

Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»

Сообщение finsoftrz »

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

Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»

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

Вы знаете, я считаю, получив 2000 руб. от ЕСМ за сопровождение + 7000 руб. от клиента "за установку",
можно, как минимум, оторвать попу съездить на пол-дня в торговую точку для настройки всего этого.
Тем более, что это небольшие города, где на автобусе можно за пол-часа весь город объехать.
Но нет ! Мы устраиваем срач на ноуте из дома ... 🤦‍♀️
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 6071
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 25 раз
Поблагодарили: 90 раз

Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»

Сообщение finsoftrz »

И начинается цирк с конями. Со мной парочка таких девах уже контактировала. От них я узнал, что программа
не видит порт если запущено окно драйвера (тупо ККТ захвачен), запуская по нескольку копий ЕСМ - они добились
эффекта когда ТС ПИоТ начинает в цикле искать и переподключаться к единственной ККТ. Всё падает на компе с 4GB RAM.
Я сейчас ответы на подобные вопросы заношу в файлик и скармливаю дипсику. Затем копирую и пересылаю ответ дипсика без лишних слов. При повторном возникновении вопроса просто копирую ответ.
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8730
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 40 раз
Поблагодарили: 146 раз

Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»

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

Сейчас это модная тема.
Если Вы отправите в тех. поддержку АТОЛ запрос с любым текстом, содержащим слова "ЕСМ" или "ТС ПИоТ",
то моментально получите ответ ити в тех. поддержку АО "ЕСП" и там решать все свои вопросы. 🤦‍♀️
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 6071
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 25 раз
Поблагодарили: 90 раз

Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»

Сообщение finsoftrz »

Не знаю, как у Вас, мне просто посылать своих клиентов без решения вопросов неправильно, так как они оплачивают ежемесячную поддержку. Которые остались со старых времен на годовом абонементе (маленькие), их тоже надо консультировать по минимальному уровню. Если вопросы за пределами непосредственно работы с прикладной программой, то передаю партнерам, которые решают вопрос за отдельную оплату, в том числе с выездом на место.
У меня когда-то были вопросы, которые не знал, как решить, и которые отнимали много времени. Первый это консультации, второй рисование бланков, третий высокие затраты на всякие интеграции. Появление нейросетей эти проблемы в значительной мере снимает.
C6/C12, ШВС, tps/btrieve.
DarkTMP
Прохожий
Сообщения: 2
Зарегистрирован: 08 Июль 2026, 10:03

Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»

Сообщение DarkTMP »

Добрый день. Как-то можно через API ЕСМ получить до какой даты действительна лицензия ?
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8730
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 40 раз
Поблагодарили: 146 раз

Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»

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

DarkTMP писал(а): 08 Июль 2026, 10:14 Как-то можно через API ЕСМ получить до какой даты действительна лицензия
Добрый день !

Метод класса Honest возвращает сведения о состоянии инстанса (экземпляра объекта) ЕСМ по его ID номеру:

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

!!! 1.3. Запрос получения информации из ЕСМ 
ESML_IdInfo  Procedure(String IdService,*ESML:G_IdInfo gIdInfo),Bool,Proc
Результат получите в объекте "licenses" из структуры ESML:G_IdInfo:
1.jpg
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8730
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 40 раз
Поблагодарили: 146 раз

Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»

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

DarkTMP писал(а): 08 Июль 2026, 10:14 Как-то можно через API ЕСМ получить до какой даты действительна лицензия ?
Сделал простой тест:

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

Test_ESML2 Routine
  Data
xHonest    HonestClass
gContact   Group(Honest:G_Contact).  ! Параметры подключения
gInfoList  Group(ESML:G_InfoList).
gIdInfo    Group(ESML:G_IdInfo).

  Code
  ! Инициализация класса (см. примеры)
  If xHonest.Init(gContact) 
  
     ! Запрос на получение списка всех сервисов
     If xHonest.ESML_Info(gInfoList)
     
        ! Смотрим на ID первого сервиса
        Honest::Message(gInfoList.instances[1].id)
        
        ! Запрос на получение детальной информации о конкретном сервисе по его ID
        If xHonest.ESML_IdInfo(gInfoList.instances[1].id,gIdInfo)          
           Honest::Message('Срок действия лицензии ЕСМ:' & gIdInfo.licenses[1].activeTill)          
        end
     end
  end  
Результат:
1.jpg
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
DarkTMP
Прохожий
Сообщения: 2
Зарегистрирован: 08 Июль 2026, 10:03

Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»

Сообщение DarkTMP »

Игорь Столяров писал(а): 08 Июль 2026, 15:47
DarkTMP писал(а): 08 Июль 2026, 10:14 Как-то можно через API ЕСМ получить до какой даты действительна лицензия ?
Сделал простой тест:

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

Test_ESML2 Routine
  Data
xHonest    HonestClass
gContact   Group(Honest:G_Contact).  ! Параметры подключения
gInfoList  Group(ESML:G_InfoList).
gIdInfo    Group(ESML:G_IdInfo).

  Code
  ! Инициализация класса (см. примеры)
  If xHonest.Init(gContact) 
  
     ! Запрос на получение списка всех сервисов
     If xHonest.ESML_Info(gInfoList)
     
        ! Смотрим на ID первого сервиса
        Honest::Message(gInfoList.instances[1].id)
        
        ! Запрос на получение детальной информации о конкретном сервисе по его ID
        If xHonest.ESML_IdInfo(gInfoList.instances[1].id,gIdInfo)          
           Honest::Message('Срок действия лицензии ЕСМ:' & gIdInfo.licenses[1].activeTill)          
        end
     end
  end  
Результат:
1.jpg
Большое спасибо за развёрнутый ответ, у нас около 40 контрагентов и нужно мониторить их добро для предупреждения подачи заявок в техподдержку. Осталось только победить пароль на архив, пока не получается..
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8730
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 40 раз
Поблагодарили: 146 раз

Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»

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

1.jpg
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
SergioRaguzini
Ветеран
Сообщения: 314
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 44 раза
Поблагодарили: 1 раз

Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»

Сообщение SergioRaguzini »

Привет Всем!
В файле документации "ЕСМ + Атол (Win): Установка и настройка v.2.0 (24.06.2026)" есть упоминание об установке "Контролера ЛМ ЧЗ"
На рабочем месте пользователя, после сертификации, необходимо локально установить ЕСМ, собственно сам ЛМ 2-й версии уже давно установлен и работает, а вот в для чего необходим "Контролер ЛМ ЧЗ", он вместо самого ЛМ или как дополнительное ПО? В каком случае его необходимо устанавливать?
Поиск в Яндексе не дает о нем точную инф-ю, нашел только "Контроллер ЛМ ЧЗ рекомендуется устанавливать вместе с ЕСМ, если необходимо поддерживать офлайн-режим проверки кодов маркировки".

Вопрос перешел в теоретическую плоскость - дозвонился до оф.партнера ЕСМ, ответили "для чего не знаем, но при установке ЕСМ, ставьте галочку "Контролер ЛМ ЧЗ"
Последний раз редактировалось SergioRaguzini 09 Июль 2026, 10:52, всего редактировалось 1 раз.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8730
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 40 раз
Поблагодарили: 146 раз

Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»

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

SergioRaguzini писал(а): 09 Июль 2026, 10:15 а вот в для чего необходим "Контролер ЛМ ЧЗ", он вместо самого ЛМ или как дополнительное ПО?
Все эти вопросы подробно описаны в документации из Вашего Личного кабинета ЕСМ.
Не поймите неправильно, но как-то совсем уже тупо пересказывать инструкцию производителя.
Возможно есть проблема с нахождением описаний установки и настройки ЕСМ ? См. рисунок.

1.jpg
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
SergioRaguzini
Ветеран
Сообщения: 314
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 44 раза
Поблагодарили: 1 раз

Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»

Сообщение SergioRaguzini »

Привет Всем!
Игорь, можно Вас попросить, в какой-то очередной версии класса, если такое возможно, КОНСТАНТЫ: POLM:RootHost (хост ПО Локальный модуль «Честный ЗНАК»), PIoT:RootHost и PIoT:SoftPort (Хост ТС ПИоТ и внутрених методов ЕСМ для ПО ЛМ), PIoT:CertMode, ESML:RootHost превратить в ПЕРЕМЕННЫЕ (для цели, чтобы потом в ПМСР, присваивать им нужные значения)
Например, в общепите, может быть ситуация, когда, внесение товарных позиций происходит с разных рабочих мест и, на рабочей станции отличной от Localhost для проверки позиции марк.продукции необходимы иной адрес и порт, результаты проверки сохраняются в записи таблицы, потом окончательный расчет (чек) выполняется, конечно, с того рабочего места где подключена ККМ.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8730
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 40 раз
Поблагодарили: 146 раз

Класс для API ТС ПИоТ ЕСМ от АО «ЕСП»

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

SergioRaguzini писал(а): 09 Июль 2026, 19:13 PIoT:SoftPort
Если Вам это действительно интересно, попробуйте поискать текст "PIoT:SoftPort" в Honest.clw.
Это штатная возможность переключать несколько ККТ для ТС ПИоТ (хотя я сам ещё такого в работе не видел).

Что касается доступа к ПО ЛМ из ТС ПИоТ - теперь всё настраивается внутри интерфейса ЕСМ.

1.jpg

Остальные адреса доступа указаны константами в документации. Можно сделать их переменными, но это тонкая работа,
для которой нужен либо реальный пример использования, либо адекватный тестер. У меня пока такого нет. 🤷‍♀️

P/S: Всегда хорошо получить отсылку к документации, где показано использование заявленной настройки.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Ответить