Класс для 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 КБ) 332 скачивания
Atol-2024-11-29.zip
Версия от 29.11.2024 г.
(82.93 КБ) 64 скачивания
Последний раз редактировалось Игорь Столяров 09 Декабрь 2024, 14:05, всего редактировалось 35 раз.
Make Clarion Great Again ! 😎
Аватара пользователя
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

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

Конечно отдельный драйвер на каждую ОС. А как иначе ? Он так сейчас и идёт.
Но язык взаимодействия общий - JSON. Cтруктура данных, методы - одинаковые.
Make Clarion Great Again ! 😎
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1403
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 10 раз
Поблагодарили: 2 раза
Контактная информация:

ATOL драйвер 10.x

Сообщение RaFaeL »

finsoftrz писал(а): 31 Октябрь 2024, 16:23 Интересно, кто-нибудь еще пользуется классом из этой темы?
Я планирую перейти, хотя и так вроде от Игоря класс использую, но какой-то не сильно новый
Аватара пользователя
SergioRaguzini
Старожил
Сообщения: 244
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 10 раз

ATOL драйвер 10.x

Сообщение SergioRaguzini »

finsoftrz писал(а): 31 Октябрь 2024, 16:23 ...Интересно, кто-нибудь еще пользуется классом из этой темы?...
Для работы с АТОЛ использую расширенный уже под себя класс Admin-а который, многих из нас просто спас когда "ДТО-8 приказало долго жить". Класс Игоря, конечно, штудирую, а его недавний класс Honest для работы с разрешительным режимом просто выручил, за что ему, конечно, как и Admin-у, огромная благодарность.
Переход на что-то "новое", неизбежно приводит к ошибкам и недочетам, которые приходится править. Хорошо, когда пользователь относится к этому с пониманием, а когда кассовое решение рабоатет, например, в бюджетном предприятии и каждая кассовая ошибка приводит к шоку бухгалтерию, то лучше уж проверенное старое
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7735
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 26 раз
Поблагодарили: 73 раза

ATOL драйвер 10.x

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

SergioRaguzini писал(а): 01 Ноябрь 2024, 17:33 когда "ДТО-8 приказало долго жить"
Не поверите - но до сих пор вычищаем.
Раз в пару месяцев из леса выходит юзер с вопросом "Почему не печатает старая кассса с драйвером АТОЛ 8" после обновления.
И казалось бы всё просто - ставь драйвер АТОЛ 10, переключай на него программу и работай.
Но нет. Теперь перчику добавил уже сам АТОЛ, вырубив в драйвере 10.10.3.0 поддержку старой платформы 2.5. ;)
Make Clarion Great Again ! 😎
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7735
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 26 раз
Поблагодарили: 73 раза

ATOL драйвер 10.x

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

ДД !

Версия класса для ККТ АТОЛ 10 от 15.11.2024 г.
-----------------------------------------------------------
Сняты ограничения на кол-во и места печати нефискальных элементов в чеке;
Добавлена возможность указывать символ для разделителя строк в чеке;
Печать нефискальных элементов с реквизитами пользователя и чека (БСО);
Печать нефискальных элементов с картинкой из памяти ККТ по номеру;
Печать нефискальных элементов с картинкой из массива пикселей;
Добавлен параметр Header.Silent для печати чеков без выдачи сообщений;
Добавлен режим Self.ReopeningShift для авто-переоткрытия истекшей смены (КМ !);
Добавлен метод jDisplayFnStatus() для просмотра текущего состояния ФН;
Добавлен распарс кода маркировки для пива и слабо-алкашки;
Убраны массивы ANY полей в QUEUE - сложно использовать и обслуживать;
Устранены известные проблемы и обновлены примеры.
-----------------------------------------------------------
Мы используем актуальную версию класса cJSON с сайта автора.
Последний раз редактировалось Игорь Столяров 15 Ноябрь 2024, 11:56, всего редактировалось 1 раз.
Make Clarion Great Again ! 😎
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3247
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 14 раз
Поблагодарили: 46 раз
Контактная информация:

ATOL драйвер 10.x

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

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

ATOL драйвер 10.x

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

Привет всем !

Версия класса для ККТ АТОЛ 10 от 20.11.2024 г.
-----------------------------------------------------------
Обновлён модельный ряд ККТ АТОЛ для подключения по номеру;
Возможность подключения по коду модели ККТ в драйвере АТОЛ;
Расчёт псевдонимов для тега 1214 "Признак способа расчета";
Псевдонимы по значению ставки для тега 1199 "Налоговая ставка";
Предварительная готовность к работе со ставками налога 5% и 7%;
Устранены известные проблемы (и возможно добавлены новые).
-----------------------------------------------------------
Мы используем актуальную версию класса cJSON с сайта автора.
Make Clarion Great Again ! 😎
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1403
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 10 раз
Поблагодарили: 2 раза
Контактная информация:

ATOL драйвер 10.x

Сообщение RaFaeL »

Игорь Столяров писал(а): 20 Ноябрь 2024, 7:03 Предварительная готовность к работе со ставками налога 5% и 7%;
Актуально, а для этого нужно дополнительно драйвер обновлять или что-то еще? Прошивки недавно обновляли
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7735
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 26 раз
Поблагодарили: 73 раза

ATOL драйвер 10.x

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

RaFaeL писал(а): 20 Ноябрь 2024, 11:04 Прошивки недавно обновляли
К сожалению, прошивок и драйверов для новых ставок налогов (и курортного налога) сейчас ещё нет.
По банальной причине - нет закона, а есть только проект.

Новые ставки налогов начинают действовать с 01.01.2025 г., требования отражать их в чеках с 01.03.2025 г.
Есть разъяснение ФНС о том, что при отсутствии технической возможности (прошивки + драйвера), в этот период налогоплательщик
продолжает выдавать чеки со ставкой "БЕЗ НАЛОГА" подразумевая, что в сумме без налога уже исчислен налог по новой ставке.
(не по ставке "0 % НДС" + сумма налога, как ошибочно копипастят друг у друга некоторые блогеры)

Что касается драйвера АТОЛ 10, то в нём добавлен метод

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

!!! Расчёт значения тега 1199 "Налоговая ставка" 
Atol::Calc1199 Procedure(Byte bTaxRate = 255) !,String
  Code
  If    bTaxRate =   0 then Return 'vat0'
  elsIf bTaxRate =   5 then Return 'vat5'   ! Предварительно
  elsIf bTaxRate =   7 then Return 'vat7'   ! Предварительно
  elsIf bTaxRate =  10 then Return 'vat10'
  elsIf bTaxRate =  20 then Return 'vat20'
  elsIf bTaxRate = 105 then Return 'vat105' ! Предварительно
  elsIf bTaxRate = 107 then Return 'vat107' ! Предварительно
  elsIf bTaxRate = 110 then Return 'vat110'
  elsIf bTaxRate = 120 then Return 'vat120'
                       else Return 'none'.  ! Без налога
который по ЗНАЧЕНИЮ СТАВКИ НАЛОГА возвращает псевдоним для тега 1199.
В нём я тупо попытался угадать значения тегов для новых ставок налогов. ;)

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

Как-то так оно вот ... :D
Последний раз редактировалось Игорь Столяров 20 Ноябрь 2024, 12:35, всего редактировалось 1 раз.
Make Clarion Great Again ! 😎
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1403
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 10 раз
Поблагодарили: 2 раза
Контактная информация:

ATOL драйвер 10.x

Сообщение RaFaeL »

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

ATOL драйвер 10.x

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

Запускаем акцию "Переходи на кайфовую сторону и получи иконку АТОЛ в подарок !" :D
Make Clarion Great Again ! 😎
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1403
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 10 раз
Поблагодарили: 2 раза
Контактная информация:

ATOL драйвер 10.x

Сообщение RaFaeL »

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

ATOL драйвер 10.x

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

Спасибо ! Забыл убрать из заголовка чека в примере - это устаревший код из "старой" версии класса.
Сейчас нефискальные элементы и БСО добавляются напрямую в элементы чека в любом кол-ве и в любое место.
(в полном соответствии с описанием драйвера АТОЛ)

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

  Atol::CreateNewItem(qItems)                  ! Разделитель элементов в чеке
  qItems.gOutItem.type  = 'separator'
  Add(qItems)
  
  Atol::CreateNewItem(qItems)                  ! Произвольный текст
  qItems.gOutItem.type  = 'text'
  qItems.gOutItem.text  = 'Просто текст в содержании чека'
  Add(qItems)       
  
  Atol::CreateNewItem(qItems)                  ! 1192 Номер исходного ФД для возврата и коррекции
  qItems.gOutItem.type  = 'additionalAttribute'
  qItems.gOutItem.value = '1122334455'
  Add(qItems) 
  
  Atol::CreateNewItem(qItems)                  ! Текст с разделением по ширине строки
  qItems.gOutItem.type  = 'text'
  qItems.gOutItem.text  = 'Комиссионный сбор:' ! Левая  часть строки с текстом
  qItems.gOutItem.value = '15%'                ! Правая часть строки с текстом  
  Add(qItems)       
  
Устранено в версии от 21.11.2024 г.
Make Clarion Great Again ! 😎
Аватара пользователя
SergioRaguzini
Старожил
Сообщения: 244
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 10 раз

ATOL драйвер 10.x

Сообщение SergioRaguzini »

Привет Всем!
Игорь Столяров писал(а): 20 Ноябрь 2024, 11:31 ...Есть разъяснение ФНС о том, что при отсутствии технической возможности....
Игорь, а можно ссылку на данное "разъяснение" (не нашел в интернете)
Ответить