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

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

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

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

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

Привет всем !

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

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

atol2.png
Вложения
Atol-2026-02-05.rar
Версия от 05.02.2026 г.
(91.85 КБ) 23 скачивания
Последний раз редактировалось Игорь Столяров 05 Февраль 2026, 20:52, всего редактировалось 62 раза.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8485
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 36 раз
Поблагодарили: 123 раза

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

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

Версия класса для API АТОЛ 10 от 17.12.2025 г.
-----------------------------------------------------------
- Отработаны изменения и рекомендации в релизном драйвере АТОЛ 10.10.8.0;
- Исправлены мелкие помарки по запросам.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8485
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 36 раз
Поблагодарили: 123 раза

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

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

Всем привет !

Версия класса для API АТОЛ 10 от 11.01.2026 г.
-----------------------------------------------------------
- Очистка кодов маркировки от GS1 и разбор кода маркировки на части;
- Дополнение форматов поддерживаемых кодов маркировки;
- Исправлены мелкие помарки по запросам.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8485
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 36 раз
Поблагодарили: 123 раза

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

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

Всем привет !

Обновление версии класса для API ККТ АТОЛ.
-----------------------------------------------------------
- Обработка новых форматов кодов маркировки с переменной длиной;
- При запросе чека из ФН возвращаются ставки и суммы налога;
- Устранена проблема с первым чеком при автоматическом переоткрытии смены;
- Отработаны мелкие помарки по запросам.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
zmi
Новичок
Сообщения: 22
Зарегистрирован: 26 Октябрь 2017, 21:51

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

Сообщение zmi »

1. В последней версии класса процедура jCreateNewCheck признана рудиментом. Тем не менее, в примерах классов ATOL и HONEST (*.txt) она присутствует. Ее можно просто без последствий убрать у себя из исходников или все-таки следует заменить на что-то?
При Atol:Legacy Equate(1) вышеуказанная процедура включается в компиляцию, НО вместе с ней включается описание отсутствующей не использующейся процедуры jFreeItems. Надо бы в Atol.inc убрать ее описание.
2. При изъятии/внесении денег (jCashInOut) в чек выводится опционально информация процедурами jAddEasyHeader/jAddEasyFooter, как описано в примере (Atol.txt). Я использовал jAddEasyHeader для конкретизации. Сейчас убрал, чтобы класс не корежить. Можно ее чем-то заменить и как правильнее это сделать?
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8485
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 36 раз
Поблагодарили: 123 раза

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

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

zmi писал(а): 11 Февраль 2026, 13:52 В последней версии класса процедура jCreateNewCheck признана рудиментом.
Уже давно ... Метод класса jCreateNewCheck() заменён на аналогичную процедуру Atol::CreateNewCheck().
Это удобней, если нужно одновременно формировать несколько кассовых чеков (и не только). См. пример.
Вопросы с флагом Atol:Legacy Equate и примерами устраним в следующем (опубликованном здесь) релизе.
zmi писал(а): 11 Февраль 2026, 13:52 Сейчас убрал, чтобы класс не корежить
Вообще без проблем.
Печатайте нефискальный информационный текст до и после любого фискального документа.
Вот реальный пример из рабочей программы для чеков на внесение / выплаты кеша.

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

  ! Создать новый фискальный документ
  Atol::CreateNewCheck(Loc:Header,Glo:MyAtol.qTextItems,Glo:MyAtol.qPostItems)
  
  Atol::AddOutItem('ТЕКСТ ДО ЧЕКА',   Glo:MyAtol.qTextItems)  ! Добавить текст для печати перед документом
  Atol::AddOutItem('ТЕКСТ ПОСЛЕ ЧЕКА',Glo:MyAtol.qPostItems)  ! Добавить текст для печати после документа
  
  Loc:Header.gOperator       = MyFRS.gOperator                ! Данные кассира (ФИО / ИНН)
  Loc:Header.OpenDrawer      = MyFRS.FBox                     ! Открыть денежный ящик при оплате наличными
  Loc:Header.Electronically  = MyFRS.Electronically           ! Электронный чек (без печати на кассовую ленту)
  
  Loc:Header.Silent          = MyFRS.Silent                   ! Без выдачи сообщений (принт-сервер чеков)
  Loc:Header.Total           = MyFRS.Summa                    ! Сумма операции
  
  Execute MyFRS.XType                                         ! Вид чека (для обработки внутри класса) 
    Loc:Header.CheckType     = ATOL:CASH_IN                   ! 1. Внесение 
    Loc:Header.CheckType     = ATOL:CASH_OUT                  ! 2. Выплата
  end
  
  Loc:RetValue = Glo:MyAtol.jCashInOut(Loc:Header)
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Ответить