Класс для API АТОЛ «Драйвер ККТ версии 10»

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

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

Класс для API АТОЛ «Драйвер ККТ версии 10»

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

Привет всем !

Класс работы с драйвером ККТ АТОЛ 10 на основе JSON заданий.
Форк класса ADMIN'а: Driver10.zip

Класс рабочий, в комплекте примеры использования. Любые замечания и дополнения - приветствуются. :)
В FTP разделе форума создана папка: /_Books/Atol.KKT со всей сопутствующей документацией.
----------------------------------------------------------------------------------------------------
Рекомендуем использовать актуальные версии классов cJSON и PrintF.

Список изменений в версии от 10.07.2026 г.
----------------------------------------------------------------------------------------------------
- Поддержка изменений в драйвере АТОЛ 10.10.9.0
- Устранены проблемы по запросам и внесены изменения в примеры.
----------------------------------------------------------------------------------------------------

atol2.png
Вложения
Atol.rar
(96.72 КБ) 2351 скачивание
Последний раз редактировалось Игорь Столяров 10 Июль 2026, 19:38, всего редактировалось 69 раз.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8803
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 40 раз
Поблагодарили: 153 раза

Класс для API АТОЛ «Драйвер ККТ версии 10»

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

talgat55 писал(а): 17 Сентябрь 2026, 4:59 не находит некоторые процедуры Glo:MyAtol.jCreateNewCheck(gHeader)
Добрый день !

Да, к сожалению не отследил изменения. Я ведь примеры не юзаю ... :D
Сделано !

Я публиковал уже ранее в теме форума примеры с функцией Atol::CreateNewCheck()
см. viewtopic.php?t=4420&start=45

Если находите какие-то нестыковки или ошибки - пожалуйста пишите сюда, всё исправим. 8)
Последний раз редактировалось Игорь Столяров 17 Сентябрь 2026, 8:12, всего редактировалось 1 раз.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
talgat55
Ветеран
Сообщения: 347
Зарегистрирован: 11 Сентябрь 2008, 12:53
Благодарил (а): 4 раза

Класс для API АТОЛ «Драйвер ККТ версии 10»

Сообщение talgat55 »

Glo:MyAtol.FreeItems() не нашел и gHeader.SeparatorItems = True
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8803
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 40 раз
Поблагодарили: 153 раза

Класс для API АТОЛ «Драйвер ККТ версии 10»

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

talgat55 писал(а): 17 Сентябрь 2026, 7:20 Glo:MyAtol.FreeItems() не нашел и gHeader.SeparatorItems = True
И снова, Чип и Дейл спешат на помощь ! :D
Файл с примерами прикрепил к сообщению.
Вложения
Atol.txt
(45.27 КБ) 4 скачивания
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
talgat55
Ветеран
Сообщения: 347
Зарегистрирован: 11 Сентябрь 2008, 12:53
Благодарил (а): 4 раза

Класс для API АТОЛ «Драйвер ККТ версии 10»

Сообщение talgat55 »

У нас проблема !
Нет доступа к файлу fptr10.dll с драйвером ККТ АТОЛ.

Проверены следующие места расположения драйвера:

1. Папка установки драйвера из реестра Windows
2. Текущая и папки в переменной среды PATH Windows
3. C:\Program Files (x86)\ATOL\Drivers10\KKT\bin\fptr10.dll
4. C:\Program Files\ATOL\Drivers10\KKT\bin\fptr10.dll

При запуске такое
Хотя по пути C:\Program Files\ATOL\Drivers10\KKT\bin\fptr10.dll есть dll
И эту dll скопировал в папку программы
И прописал в виндах как параметр среды путь C:\Program Files\ATOL\Drivers10\KKT\bin\fptr10.dll
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8803
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 40 раз
Поблагодарили: 153 раза

Класс для API АТОЛ «Драйвер ККТ версии 10»

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

talgat55 писал(а): 17 Сентябрь 2026, 8:37 И эту dll скопировал в папку программы
И прописал в виндах как параметр среды путь C:\Program Files\ATOL\Drivers10\KKT\bin\fptr10.dll
Вот это всё - настоятельно не рекомендую делать.
Потом обновите версию драйвера и пойдёт разнобой компонент в разных папках и непонятные ссылки из среды ...
На компьютере должна быть ОДНА копия драйвера АТОЛ и программа сама его прекрасно найдёт в любом месте.

А причина проблемы скорее всего в том, что разрядность драйвера определяется приложением, а не Windows.
Т.е. даже для Windows x64 нужно установливать драйвер АТОЛ x32.
Что собственно и написано в сообщении, если его дочитать до конца, перед тем как постить ... :D
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 6161
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 26 раз
Поблагодарили: 92 раза

Класс для API АТОЛ «Драйвер ККТ версии 10»

Сообщение finsoftrz »

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

Класс для API АТОЛ «Драйвер ККТ версии 10»

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

finsoftrz писал(а): 17 Сентябрь 2026, 11:11 драйверу стало без разницы, какой номер com ему задаешь
Потому что в АТОЛ есть автоопределение порта и модели ККТ.
Но к одному РМК может быть подключено несколько ККТ или сама ККТ может быть подключена через ТСP / IP порт.
В последнем случае не всегда даже удаётся подключиться через настройку драйвера, нужно явно указывать адрес / порт ...
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 6161
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 26 раз
Поблагодарили: 92 раза

Класс для API АТОЛ «Драйвер ККТ версии 10»

Сообщение finsoftrz »

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

Класс для API АТОЛ «Драйвер ККТ версии 10»

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

finsoftrz писал(а): 17 Сентябрь 2026, 13:11 а драйверу пофик стало, что я указал
Здесь нужно смотреть конкретный код.
Возможно где-то неявно выполняется реинициализация / сброс подключения в значения по умолчаню с автопоиском.
Сейчас все параметры подключения в методе Atol10.Connect() сабжа отрабатываются корректно.
Даже слишком. Явное указание неправильных адресов / портов приводит к отказу подключения. 🤷‍♀️
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
talgat55
Ветеран
Сообщения: 347
Зарегистрирован: 11 Сентябрь 2008, 12:53
Благодарил (а): 4 раза

Класс для API АТОЛ «Драйвер ККТ версии 10»

Сообщение talgat55 »

драйвер 10.10.5.0 как я понял 32 разрядный
Win 64
Я же писал что даже библитеку бросил в папку программы - не находит
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8803
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 40 раз
Поблагодарили: 153 раза

Класс для API АТОЛ «Драйвер ККТ версии 10»

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

talgat55 писал(а): 17 Сентябрь 2026, 13:50 как я понял 32 разрядный
1. Возможно Вы неправильно поняли.
Проверьте разрядность драйвера в списке установленных программ.

1.jpg

2. Возможно уже началось то, о чём я Вас предупреждал.
Загрузчик не находит в каком-то DLL нужные функции и прекращает работу.

Поудаляйте всё наставленное и накопированное.
Загрузите и установите из Центра загрузок АТОЛ текущую версию x32 драйвера 10.10.9.0
Вот прямая ссылка, что бы не промахнуться: https://fs.atol.ru/_layouts/15/atol.tem ... 6f&webUrl=
Это бесплатно.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
talgat55
Ветеран
Сообщения: 347
Зарегистрирован: 11 Сентябрь 2008, 12:53
Благодарил (а): 4 раза

Класс для API АТОЛ «Драйвер ККТ версии 10»

Сообщение talgat55 »

спасибо. Дрова были 64
ККТ не подключен поэтому, как я понял, теперь выдает

-- Внимание !

Не удалось получить доступ к драйверу ККТ АТОЛ !

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

Класс для API АТОЛ «Драйвер ККТ версии 10»

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

talgat55 писал(а): 17 Сентябрь 2026, 14:42 спасибо. Дрова были 64
Вот это правильно. Нужно сначала поспорить, а потому уже посмотреть. :D
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
talgat55
Ветеран
Сообщения: 347
Зарегистрирован: 11 Сентябрь 2008, 12:53
Благодарил (а): 4 раза

Класс для API АТОЛ «Драйвер ККТ версии 10»

Сообщение talgat55 »

Это да...
А в чем суть файла driver.zip
Я беру все из atol.zip
В первом там программа демо с НЕ дейтвующими кнопками, или я что-то не туда...
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8803
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 40 раз
Поблагодарили: 153 раза

Класс для API АТОЛ «Драйвер ККТ версии 10»

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

talgat55 писал(а): 17 Сентябрь 2026, 14:56 А в чем суть файла driver.zip Я беру все из atol.zip
Наверно, что-то местное, нет у нас такого ... 🤷‍♀️

1. Текущая версия класса АТОЛ 10 поставляется в файле ATOL.RAR;
2. Исходная версия класса, которую нам любезно предоставил АДМИН, поставлялась в файле Driver10.zip ...
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Ответить