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

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

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

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

Привет всем !

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

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

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

atol2.png
Вложения
Admin-2019.zip
Оригинальный класс 2019 г.
(27.92 КБ) 1633 скачивания
Atol-2025-08-25.zip
Версия от 25.08.2025 г.
(86.96 КБ) 49 скачиваний
Последний раз редактировалось Игорь Столяров 25 Август 2025, 14:16, всего редактировалось 41 раз.
Make Clarion Great Again ! 😎
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5397
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 13 раз
Поблагодарили: 68 раз

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

Сообщение finsoftrz »

В "других форумах" тоже самое написали. :D
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8152
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 30 раз
Поблагодарили: 104 раза

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

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

finsoftrz писал(а): 25 Август 2025, 15:05 В "других форумах" тоже самое написали
Отлично ! Для меня важно, что я получил информацию из компетентного источника
и сам проверил её прохождение по лог. файлам драйвера АТОЛ и чекам в ОФД. :D
Make Clarion Great Again ! 😎
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5397
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 13 раз
Поблагодарили: 68 раз

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

Сообщение finsoftrz »

Я Вам верю, не буду сам писать в техподдержку Атола и проверять, что они ответят. :lol:
В любом случае, спасибо за примеры кода. Это много времени экономит, когда можно посмотреть код на нормальном кларионе, а не на каком-то левом языке.
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8152
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 30 раз
Поблагодарили: 104 раза

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

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

Структура концепта чека в виде JSON-задания с 01.09.2025 г. от АТОЛ:

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

{
    "type": "sell",
    "operator": {
        "name": "СИС. АДМИНИСТРАТОР",
        "vatin": ""
    },
    "electronically": false,
    "preItems": [],
    "postItems": [],
    "items": [{
            "type": "position",
            "name": "Товар",
            "price": 40.0,
            "quantity": 1.0,
            "amount": 40.0,
            "infoDiscountAmount": 0.0,
            "piece": true,
            "tax": {
                "type": "vat5",
                "sum": 0.0
            },
            "measurementUnit": "11",
            "paymentObject": "commodity",
            "paymentMethod": "fullPayment",
            "imcParams": {
                "imcType": "auto",
                "itemEstimatedStatus": 3,
                "imcModeProcessing": 0,
                "itemInfoCheckResult": {
                    "imcCheckFlag": false,
                    "imcCheckResult": false,
                    "imcStatusInfo": false,
                    "imcEstimatedStatusCorrect": false,
                    "ecrStandAloneFlag": false
                },
                "imc": "MDE0NDk0NTUwNDM1MzA2ODIxUVhZWFNBTEdMTVlRUR05MUVFMDYdOTJZV0NYYm1LNlNOOHZ2d294WkZrN1dBWThXb0pOTUdHcjZDZ3RpdWphMDRjPQ=="
            },
            "industryInfo": [{
                    "fois": "010",
                    "date": "2018.12.31",
                    "number": "12345678901234567890",
                    "industryAttribute": "Ид1=Знач1&Ид2=Знач2&Ид3=Знач3"
                }
            ]
        }
    ],
    "payments": [{
            "type": "0",
            "sum": 100.0
        }
    ],
    "taxes": [],
    "total": 40.0,
    "clientInfo": {
        "emailOrPhone": "client@mail.ru"
    },
    "industryInfo": [{
            "fois": "010",
            "date": "2018.12.31",
            "number": "12345678901234567890",
            "industryAttribute": "Ид1=Знач1&Ид2=Знач2&Ид3=Знач3"
        }
    ],
    "operationInfo": {
        "id": 7,
        "data": "abcdefghijklmnopqrstuvwxyz",
        "dateTime": "2020.12.31 17:36:21"
    },
    "salesNotice": {
        "timeZone": 4
    },
    "taxationType": "osn",
    "customParameters": []
}
Make Clarion Great Again ! 😎
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5397
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 13 раз
Поблагодарили: 68 раз

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

Сообщение finsoftrz »

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

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

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

finsoftrz писал(а): 25 Август 2025, 17:06 Современное программирование во всей красе.
Ну да. Это всё сводится управления структурами данных. Т.е. по сути это уже Data Science.

Поэтому когда Вы откажетесь от эзотерической технологии парсинга текстушек из под EXE -
то Вас запросто сможет заменить какой-нибудь DeepSeek, обученный на основе моего открытого кода. :idied:
Последний раз редактировалось Игорь Столяров 26 Август 2025, 8:14, всего редактировалось 1 раз.
Make Clarion Great Again ! 😎
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5397
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 13 раз
Поблагодарили: 68 раз

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

Сообщение finsoftrz »

Мечтать не вредно, вредно не мечтать. Хотя столкновение с реальностью может стать очень болезненным. :shock:
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8152
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 30 раз
Поблагодарили: 104 раза

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

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

Как я понимаю, у нас с 01.09.2025 г. ожидается небольшая революция в кассовом учёте.

1. Для выполнения требования ФНС РФ нужно будет всем устанавливать прошивку ККТ 5.16
(и как следствие, драйвер АТОЛ 10.10.7.0 её поддерживающий).

Судя по резко выросшим ценам на ККТ, продаваны приготовились к тому, что огромное кол-во
девайсов со старыми материнками не потянет требования Платформы 5 и пойдёт на замену.

ФФД 1.05 / 1.1 формально не запрещены, но как-то тупо их устанавливать для ФН после
перепрошивки, учитывая проблемы с тегами, возвратами и корректировкой чеков.

2. Отмазки про "не было интернета, беспилотника летала" больше ФНС РФ не принимаются.
Разрешительная проверка КМ становится обязательной, обязанность контроля пробития
дубликатов и запрещённых КМ, при отсутствии доступа к сервису НСЦМ ЧЗ, переносится на продавца -
т.к. в ПО Локальный Модуль ЧЗ все технологические возможности для этого уже предоставлены.

С одной стороны - логичная унификация кассового учёта, а с другой - затратная. 😪
Make Clarion Great Again ! 😎
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5397
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 13 раз
Поблагодарили: 68 раз

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

Сообщение finsoftrz »

Ффд 1.05 некоторые используют, если не пробивают маркированные товары. Они просто не обновляли прошивки, а сейчас им придётся, если хотят оставаться в правовой поле.
А что касается дубликатов и обязательного разрешенного режима, в продуктовке это уже несколько месяцев так. Проверку дубликатов, наверно, с полгода назад делали, так как регулятор начал слать предупреждения и угрозы штрафов. ЛМ все активировали, когда перестала пробиваться белорусская молочка, разрешительный режим уже был обязательным. Это где-то около месяца назад произошло.
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8152
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 30 раз
Поблагодарили: 104 раза

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

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

finsoftrz писал(а): 27 Август 2025, 8:49 роверку дубликатов, наверно, с полгода назад делали, так как регулятор начал слать предупреждения и угрозы штрафов
Это хорошо, что у Вас упреждающая реакция на требование регулирующих органов.
Но де-юре это всё вступает в силу именно с 01.09.2025 г.
Make Clarion Great Again ! 😎
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5397
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 13 раз
Поблагодарили: 68 раз

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

Сообщение finsoftrz »

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

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

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

finsoftrz писал(а): 27 Август 2025, 9:55 Вы сейчас обвиняете регулятора в превышении должностных полномочий?
Это невозможно. Регулятор не может превысить полномочия по требованиям, которые сам и вводит. :D
Здесь скорее вопрос о том, что формально технические возможности для выполнения этих требований
предоставлены более месяца назад (в сезон отпусков !) и поэтому они вступают в силу с 01.09.2025 г.
Make Clarion Great Again ! 😎
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5397
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 13 раз
Поблагодарили: 68 раз

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

Сообщение finsoftrz »

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

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

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

finsoftrz писал(а): 27 Август 2025, 11:04 и полагались на онлайн проверку марок.
Вот в этом как раз и кроеться дьявол ! :)
- Проверяем в сервисе КМ и продаём -> сервис ЧЗ выводит КМ из оборота.
- Происходит (например) путаница и отгружается другой КМ.
- Отключают интернет, торговое предприятие переходит на ЛМ и повторно реализует этот же КМ.
- Рано или поздно (до 72 часов) через ОФД оба кода попадают в НСЦМ и возникает дублирование.

Раньше была отмазка - разрешительная проверка была выполнена в ЛМ и всё OK !
С 01.09.2025 - она не принимается.
finsoftrz писал(а): 27 Август 2025, 11:04 о белорусских производителях молочки
Это очень частный пример. Например я вообще об этой проблеме никогда не слышал ...
Make Clarion Great Again ! 😎
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 5397
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 13 раз
Поблагодарили: 68 раз

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

Сообщение finsoftrz »

Наверно, у вас нет клиентов, которые торгуют белорусской молочкой. Или они гипер ответственные, и обновляли все версии ЛМ. Шорох знатный был по всей стране.
Проверка дублей со стороны регулятора основывается на проценте. То есть допускается небольшой процент по магазину по причинам технических сбоев. Какой процент, не скажу. ЛМ тоже не дает гарантированного контроля, так как базируется на накопительной информации за период работы. Я пока не видел обсуждения проверки дублей марок через ЛК, обычно народ начинает обмениваться. Вы первый этот вопрос подняли. Скорее всего, пока это не носит обязательного характера.
Вообще говоря, при работе с сервисами всегда есть вероятность сбоев, там невозможно гарантированно обеспечить целостность транзакций по определению.
C6/C12, ШВС, tps/btrieve.
Ответить