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

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

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

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

Привет всем !

Класс работы с драйвером ККТ АТОЛ 10 на основе JSON заданий.
(форк класса ADMIN'а 2019 г.)

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

ВНИМАНИЕ !
Для работы с КМ (кодами маркировки) через JSON задания требуется прошивка ККТ 5.12 и выше (двухлетней давности).
На старых прошивках будет ошибка: Объекту 0x05C1E828 присвоен код ошибки 148 [Ошибка программирования реквизита 1023]

atol2.png
Вложения
Admin-2019.zip
Оригинальный класс 2019 г.
(27.92 КБ) 339 скачиваний
Atol-2024-11-29.zip
Версия от 29.11.2024 г.
(82.93 КБ) 71 скачивание
Последний раз редактировалось Игорь Столяров 09 Декабрь 2024, 14:05, всего редактировалось 35 раз.
Make Clarion Great Again ! 😎
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4933
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 10 раз
Поблагодарили: 44 раза

ATOL драйвер 10.x

Сообщение finsoftrz »

Сергей, а можно весь код формирования строки чека, до libfptr_registration?
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
SergioRaguzini
Старожил
Сообщения: 244
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 10 раз

ATOL драйвер 10.x

Сообщение SergioRaguzini »

finsoftrz писал(а): 28 Март 2024, 19:35 Сергей, а можно весь код формирования строки чека, до libfptr_registration?
Вячеслав, код довольно большой, чтобы не загружать форум, отправил на e-mail
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4933
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 10 раз
Поблагодарили: 44 раза

ATOL драйвер 10.x

Сообщение finsoftrz »

Спасибо, посмотрел. Комплексный параметр формируется первым. Я так делал, у меня вылетает ошибка типа нет информации для печати. Ладно, подумаю еще. Может, дело и в прошивке/драйвере, в своем коде проблемы не вижу.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7735
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 26 раз
Поблагодарили: 73 раза

ATOL драйвер 10.x

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

Вариант формирования отраслевого реквизита через write_sales_notice() попробовали ?
Make Clarion Great Again ! 😎
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4933
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 10 раз
Поблагодарили: 44 раза

ATOL драйвер 10.x

Сообщение finsoftrz »

Игорь Столяров писал(а): 28 Март 2024, 22:08 Вариант формирования отраслевого реквизита через write_sales_notice() попробовали ?
Нет, судя по доке это вообще не про это...
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7735
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 26 раз
Поблагодарили: 73 раза

ATOL драйвер 10.x

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

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

ATOL драйвер 10.x

Сообщение finsoftrz »

Игорь Столяров писал(а): 28 Март 2024, 22:35 Ни в коем случае не хочу бесплатно спорить, но в первом сообщении я привёл реально работающий код. :wink:
Правда не для пива, а медикоментов, там тоже задействован отраслевой реквизит и давно ...
Так вроде там очевидно, приведенный код для тега 1261, то есть для заголовка чека, а не для строки. И в документации прямо написано, что инструкция для формирования тега 1261, и по коду сразу видно, что явной ссылки на 1261 нет.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7735
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 26 раз
Поблагодарили: 73 раза

ATOL драйвер 10.x

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

OK ! В документации сначала формируется составной тег 1260 и записывается в переменную как ByteArray.
Если у Вас после записи составного тега сбрасываются параметры заголовка чека - переустановите их обратно.
Make Clarion Great Again ! 😎
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4933
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 10 раз
Поблагодарили: 44 раза

ATOL драйвер 10.x

Сообщение finsoftrz »

Проблема с составным реквизитом решилась. Как и ожидалось, это у меня в одном из методов класса происходило обрезание строки. :sur:
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4933
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 10 раз
Поблагодарили: 44 раза

ATOL драйвер 10.x

Сообщение finsoftrz »

Что-то не нахожу функцию продолжить печать. Админ написал, что из теста драйвера можно. Часто пошли сбои на атолах с недопечатыванием чеков, то ли датчики туфтят, то ли ещё что. В результате чек проходит, но на следующем ошибка, что не завершена печать предыдущего чека. В штрихах такая команда работает. Я всегда думал, что достаточно поправить бумагу, после закрытия крышки продолжит печать автоматически. Пишет, что не печатает так.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4933
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 10 раз
Поблагодарили: 44 раза

ATOL драйвер 10.x

Сообщение finsoftrz »

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

ATOL драйвер 10.x

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

finsoftrz писал(а): 20 Май 2024, 17:28 что достаточно поправить бумагу
В общем-то так и должно быть. Возможно съехала какая-то настройка или козлячья прошивка ... :(
Застрявший чек аннулируется или допечатывается. Допечатать программно мона вот так:

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

! --- Допечатать предыдущий чек если он не закрыт

Atol10.ContinueCheck  Procedure
  Code
  If Self.FlagLoaded and Self.CheckOpened()
     If libfptr_continue_print(Self.fptr) <> LIBFPTR_OK then Self.ErrorMessage('libfptr_continue_print').
  end
P/S: Раз есть вопрос, то пусть и ответ останется, иначе тема превращается в книгу тайных знаний. ;)
Make Clarion Great Again ! 😎
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7735
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 26 раз
Поблагодарили: 73 раза

ATOL драйвер 10.x

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

И с такими тупыми ботами Скайнет хочет захвать весь мир ... Мда ! :)
Make Clarion Great Again ! 😎
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3247
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 14 раз
Поблагодарили: 46 раз
Контактная информация:

ATOL драйвер 10.x

Сообщение Дед Пахом »

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

ATOL драйвер 10.x

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

Сообщение переехало в первый пост темы. :nr:
Последний раз редактировалось Игорь Столяров 16 Октябрь 2024, 13:24, всего редактировалось 11 раз.
Make Clarion Great Again ! 😎
Ответить