Класс для API АТОЛ «Драйвер ККТ версии 10»
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Игорь Столяров
- Ветеран движения
- Сообщения: 7735
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 26 раз
- Поблагодарили: 73 раза
Класс для API АТОЛ «Драйвер ККТ версии 10»
Привет всем !
Класс работы с драйвером ККТ АТОЛ 10 на основе JSON заданий.
(форк класса ADMIN'а 2019 г.)
Класс рабочий, в комплекте примеры использования. Любые замечания и дополнения - приветствуются.
В FTP разделе форума создана папка: /_Books/Atol.KKT со всей сопутствующей документацией.
ВНИМАНИЕ !
Для работы с КМ (кодами маркировки) через JSON задания требуется прошивка ККТ 5.12 и выше (двухлетней давности).
На старых прошивках будет ошибка: Объекту 0x05C1E828 присвоен код ошибки 148 [Ошибка программирования реквизита 1023]
Класс работы с драйвером ККТ АТОЛ 10 на основе JSON заданий.
(форк класса ADMIN'а 2019 г.)
Класс рабочий, в комплекте примеры использования. Любые замечания и дополнения - приветствуются.
В FTP разделе форума создана папка: /_Books/Atol.KKT со всей сопутствующей документацией.
ВНИМАНИЕ !
Для работы с КМ (кодами маркировки) через JSON задания требуется прошивка ККТ 5.12 и выше (двухлетней давности).
На старых прошивках будет ошибка: Объекту 0x05C1E828 присвоен код ошибки 148 [Ошибка программирования реквизита 1023]
- Вложения
-
- 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
Если работает на компьютере, то получается все равно отдельный драйвер под каждую ОС.
C6/C11, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7735
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 26 раз
- Поблагодарили: 73 раза
ATOL драйвер 10.x
Конечно отдельный драйвер на каждую ОС. А как иначе ? Он так сейчас и идёт.
Но язык взаимодействия общий - JSON. Cтруктура данных, методы - одинаковые.
Но язык взаимодействия общий - JSON. Cтруктура данных, методы - одинаковые.
Make Clarion Great Again !
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1403
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 10 раз
- Поблагодарили: 2 раза
- Контактная информация:
ATOL драйвер 10.x
Я планирую перейти, хотя и так вроде от Игоря класс использую, но какой-то не сильно новый
- SergioRaguzini
- Старожил
- Сообщения: 244
- Зарегистрирован: 08 Декабрь 2009, 19:16
- Откуда: Краснодарский край
- Благодарил (а): 10 раз
ATOL драйвер 10.x
Для работы с АТОЛ использую расширенный уже под себя класс Admin-а который, многих из нас просто спас когда "ДТО-8 приказало долго жить". Класс Игоря, конечно, штудирую, а его недавний класс Honest для работы с разрешительным режимом просто выручил, за что ему, конечно, как и Admin-у, огромная благодарность.
Переход на что-то "новое", неизбежно приводит к ошибкам и недочетам, которые приходится править. Хорошо, когда пользователь относится к этому с пониманием, а когда кассовое решение рабоатет, например, в бюджетном предприятии и каждая кассовая ошибка приводит к шоку бухгалтерию, то лучше уж проверенное старое
- Игорь Столяров
- Ветеран движения
- Сообщения: 7735
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 26 раз
- Поблагодарили: 73 раза
ATOL драйвер 10.x
Не поверите - но до сих пор вычищаем.
Раз в пару месяцев из леса выходит юзер с вопросом "Почему не печатает старая кассса с драйвером АТОЛ 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 с сайта автора.
Версия класса для ККТ АТОЛ 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 раз
- Контактная информация:
- Игорь Столяров
- Ветеран движения
- Сообщения: 7735
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 26 раз
- Поблагодарили: 73 раза
ATOL драйвер 10.x
Привет всем !
Версия класса для ККТ АТОЛ 10 от 20.11.2024 г.
-----------------------------------------------------------
Обновлён модельный ряд ККТ АТОЛ для подключения по номеру;
Возможность подключения по коду модели ККТ в драйвере АТОЛ;
Расчёт псевдонимов для тега 1214 "Признак способа расчета";
Псевдонимы по значению ставки для тега 1199 "Налоговая ставка";
Предварительная готовность к работе со ставками налога 5% и 7%;
Устранены известные проблемы (и возможно добавлены новые).
-----------------------------------------------------------
Мы используем актуальную версию класса cJSON с сайта автора.
Версия класса для ККТ АТОЛ 10 от 20.11.2024 г.
-----------------------------------------------------------
Обновлён модельный ряд ККТ АТОЛ для подключения по номеру;
Возможность подключения по коду модели ККТ в драйвере АТОЛ;
Расчёт псевдонимов для тега 1214 "Признак способа расчета";
Псевдонимы по значению ставки для тега 1199 "Налоговая ставка";
Предварительная готовность к работе со ставками налога 5% и 7%;
Устранены известные проблемы (и возможно добавлены новые).
-----------------------------------------------------------
Мы используем актуальную версию класса cJSON с сайта автора.
Make Clarion Great Again !
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1403
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 10 раз
- Поблагодарили: 2 раза
- Контактная информация:
ATOL драйвер 10.x
Актуально, а для этого нужно дополнительно драйвер обновлять или что-то еще? Прошивки недавно обновлялиИгорь Столяров писал(а): ↑20 Ноябрь 2024, 7:03 Предварительная готовность к работе со ставками налога 5% и 7%;
- Игорь Столяров
- Ветеран движения
- Сообщения: 7735
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 26 раз
- Поблагодарили: 73 раза
ATOL драйвер 10.x
К сожалению, прошивок и драйверов для новых ставок налогов (и курортного налога) сейчас ещё нет.
По банальной причине - нет закона, а есть только проект.
Новые ставки налогов начинают действовать с 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'. ! Без налога
В нём я тупо попытался угадать значения тегов для новых ставок налогов.
Но даже если я ошибся - то будет просто исправлено 4 строки и все проекты сразу уже работают с новыми
ставками налогов (в отличии от старой схемы, где псевдоним тега расчитывался от порядкового номера ставки)
и нужно было в каждой процедуре печати чеков обрабатывать ставки налогов, в т.ч. и добавлять новые ...
Как-то так оно вот ...
Последний раз редактировалось Игорь Столяров 20 Ноябрь 2024, 12:35, всего редактировалось 1 раз.
Make Clarion Great Again !
- Игорь Столяров
- Ветеран движения
- Сообщения: 7735
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 26 раз
- Поблагодарили: 73 раза
ATOL драйвер 10.x
Запускаем акцию "Переходи на кайфовую сторону и получи иконку АТОЛ в подарок !"
Make Clarion Great Again !
- Игорь Столяров
- Ветеран движения
- Сообщения: 7735
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 26 раз
- Поблагодарили: 73 раза
ATOL драйвер 10.x
Спасибо ! Забыл убрать из заголовка чека в примере - это устаревший код из "старой" версии класса.
Сейчас нефискальные элементы и БСО добавляются напрямую в элементы чека в любом кол-ве и в любое место.
(в полном соответствии с описанием драйвера АТОЛ)
Устранено в версии от 21.11.2024 г.
Сейчас нефискальные элементы и БСО добавляются напрямую в элементы чека в любом кол-ве и в любое место.
(в полном соответствии с описанием драйвера АТОЛ)
Код: Выделить всё
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)
Make Clarion Great Again !
- SergioRaguzini
- Старожил
- Сообщения: 244
- Зарегистрирован: 08 Декабрь 2009, 19:16
- Откуда: Краснодарский край
- Благодарил (а): 10 раз
ATOL драйвер 10.x
Привет Всем!
Игорь, а можно ссылку на данное "разъяснение" (не нашел в интернете)Игорь Столяров писал(а): ↑20 Ноябрь 2024, 11:31 ...Есть разъяснение ФНС о том, что при отсутствии технической возможности....