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

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

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

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

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

Привет всем !

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

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

atol2.png
Вложения
Atol-2026-03-25.rar
Версия от 25.03.2026 г.
(101.92 КБ) 40 скачиваний
Последний раз редактировалось Игорь Столяров 25 Март 2026, 20:42, всего редактировалось 63 раза.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8610
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 37 раз
Поблагодарили: 130 раз

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

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

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

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

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

Всем привет !

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

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

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

Всем привет !

Обновление версии класса для API ККТ АТОЛ.
-----------------------------------------------------------
- Обработка новых форматов кодов маркировки с переменной длиной;
- При запросе чека из ФН возвращаются ставки и суммы налога;
- Устранена проблема с первым чеком при автоматическом переоткрытии смены;
- Отработаны мелкие помарки по запросам.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
zmi
Посетитель
Сообщения: 40
Зарегистрирован: 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 для конкретизации. Сейчас убрал, чтобы класс не корежить. Можно ее чем-то заменить и как правильнее это сделать?
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8610
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 37 раз
Поблагодарили: 130 раз

Класс для 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)
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8610
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 37 раз
Поблагодарили: 130 раз

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

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

Всем привет !

Обновление версии класса для API ККТ АТОЛ.
-----------------------------------------------------------
- Изменения в версии драйвера АТОЛ 10.10.8.23 с ТС ПИоТ ЕСМ от АО "ЕСП";
- Отработаны мелкие помарки по запросам.

1.jpg
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
wad_ja
Посетитель
Сообщения: 39
Зарегистрирован: 21 Октябрь 2019, 16:20

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

Сообщение wad_ja »

У меня нет товаров - только коммунальные услуги. Если я пробью чек ЭЛЕКТРОННО (без печати на бумагу) и не будет указан адрес электронной почты и номер телефона (расчеты НЕ в интернете) - это будет ошибкой? Номер транзакции естественно я не знаю - жители платят в банке, а на предприятие приходит список поступивших платежей. Управляющая компания вынуждена проводить чеки безналично для налоговой. Сейчас пробиваются все чеки на бумагу и их никто не забирает.
wad_ja
Посетитель
Сообщения: 39
Зарегистрирован: 21 Октябрь 2019, 16:20

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

Сообщение wad_ja »

Я с сентября 2025 отключил возможность печати чеков ЭЛЕКТРОННО (без печати на бумагу). Я это зря сделал? Все разговоры, что либо чек на бумагу, либо на электронную почту или смс на телефон должны быть - были в августе 2025 года. У меня только коммунальные услуги.
wad_ja
Посетитель
Сообщения: 39
Зарегистрирован: 21 Октябрь 2019, 16:20

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

Сообщение wad_ja »

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

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

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

wad_ja писал(а): 03 Апрель 2026, 12:33 Если я пробью чек ЭЛЕКТРОННО (без печати на бумагу) и не будет указан адрес электронной почты и номер телефона (расчеты НЕ в интернете) - это будет ошибкой?
Да. Это будет налоговое нарушение.
Флаг "расчёт в интернет" применяется при покупке на сайте (маркетплейсе) и в данном случае вообще не уместен.
Реквизиты "телефон или электронный адрес покупателя" (тег 1008) и "адрес электронной почты отправителя чека" (тег 1117) должны включаться в состав кассового чека (БСО) в электронной форме и могут быть включены в составе ФД в печатной форме, если ФД будет сформирован в печатной форме, в следующих случаях:

- кассовый чек (БСО) передается покупателю (клиенту) в электронной форме;

- покупателю (клиенту) передаются в электронной форме признаки, идентифицирующие такой кассовый чек (БСО), и информация об адресе информационного ресурса в сети "Интернет", на котором такой кассовый чек (БСО) может быть получен.
Здесь можно просто включить логику. Если Вы не знаете номер телефона / e-mail покупателя и оформляете электронный чек -
значит Вы (Ваше ОФД) в принципе не можете предоставить чек покупателю. А невыдача чека покупателю - это нарушение. 😎
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
wad_ja
Посетитель
Сообщения: 39
Зарегистрирован: 21 Октябрь 2019, 16:20

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

Сообщение wad_ja »

Если чек не печатается электронно, можно запретить кассе печатать чек? В примере это делалось за счёт установки признака электронно.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8610
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 37 раз
Поблагодарили: 130 раз

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

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

wad_ja писал(а): 03 Апрель 2026, 15:15 Если чек не печатается электронно, можно запретить кассе печатать чек?
Конечно ! Проверяёте при включении признака "Электронный чек" указание контактных данных.
И при их отсутствии - выдавайте сообщение пользователю в оформлении интерфейса Вашей программы.

Более того, я рекомендую ещё проверять и корректность формата указанных e-mail / телефона, потому
что некоторые прошивки ККТ это тоже делают, но при этом выдают трудно диагностируемые ошибки.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5932
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 25 раз
Поблагодарили: 88 раз

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

Сообщение finsoftrz »

Без установки признака "электронно" в некоторых моделях ккм (по моему, в атол) будет печататься бумажная копия чека. Бумажный чек предоставлять покупателю не обязательно, по согласованию с ним, можно отправить чек на электронную почту. Другой вопрос, что ранее многие просто спрашивали у покупателя, нужен ли ему чек, если нет, то указывали какой-нибудь адрес электронной почты от балды. Поскольку был мораторий на проверки и были проблемы с закупками чековой ленты, никто такие нарушения не отслеживал.

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

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

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

Все (кроме Мишустина) понимали, что повышение налогов будет нивелировано уменьшением налоговой базы.
Просто государству удобно сразу отжать дополнительные 10% НДС с крупных налогоплательщиков, а остальное пофиг.
Ну и всеобщая маркировка. Если купил товар с КМ - то как-то надо показать его выбытие. "Сам съел !" прокатит, но не долго. :D
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5932
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 25 раз
Поблагодарили: 88 раз

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

Сообщение finsoftrz »

Игорь Столяров писал(а): 03 Апрель 2026, 16:05 Все (кроме Мишустина) понимали, что повышение налогов будет нивелировано уменьшением налоговой базы.
Просто государству удобно сразу отжать дополнительные 10% НДС с крупных налогоплательщиков, а остальное пофиг.
Ну и всеобщая маркировка. Если купил товар с КМ - то как-то надо показать его выбытие. "Сам съел !" прокатит, но не долго. :D
Надо сразу думать, где что покупаешь. :-)
C6/C12, ШВС, tps/btrieve.
Ответить