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

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

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

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

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

Привет всем !

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

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

Список изменений в версии от 10.07.2026 г.
----------------------------------------------------------------------------------------------------
- Поддержка изменений в драйвере АТОЛ 10.10.9.0
- Устранены проблемы по запросам и внесены изменения в примеры.
----------------------------------------------------------------------------------------------------

atol2.png
Вложения
Atol.rar
(96.72 КБ) 24 скачивания
Последний раз редактировалось Игорь Столяров 10 Июль 2026, 19:38, всего редактировалось 69 раз.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 6096
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 25 раз
Поблагодарили: 90 раз

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

Сообщение finsoftrz »

Насчет товарных групп и какой учет, проще погуглить.
Остатки в разрезе gtin не надо вести. Он соответствует конкретному товару. Ничего приклеивать тоже не надо. Просто ведете учет в разрезе товаров, как обычно, при оптовой продаже передаете в эдо gtin товара, при розничной сканируете марку.
Когда поштучный учет и опт, у нас с помощью тсд сканируют упаковки для каждой отгрузочной накладной, затем прикрепляют марки к накладной в учетной системе, делается сверка количества и отправляется в эдо вместе с марками. Если осу, ничего сканировать не надо.
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 6096
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 25 раз
Поблагодарили: 90 раз

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

Сообщение finsoftrz »

RaFaeL писал(а): 23 Июль 2026, 0:08 P.S. И мне так никто и не написал что делать с чеком если есть только GTIN а марки полной нет, т.е. как это списание по ОСУ осуществить. В ЭДО допустим примерно понимаю - что пришло то и дальше передать, количество только поменять. С чеком непонятно
Так написали же, продажа в розницу через кассу (не путать с оптовой продажей) осуществляется одинаково, независимо от того, осу или поштучный учет. Просто сканируете маркировку на товаре. Маркировка у маркируемых товаров есть всегда. Если через кассу оптовая продажа, то пробивается как товар без маркировки.
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8751
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 40 раз
Поблагодарили: 149 раз

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

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

Я уточню пару моментов по ККТ.

1. Использование ККТ для оптовой торговли - это достаточно непростая тема.
Как минимум, требуется фискализация отдельного ФН (а по сути ККТ+ФН).
В опте ККТ просто фиксирует сумму продажи. И в чеке есть теги для оформления продаж на ЮЛ / ИП.
И там есть ограничения на суммы.

2. Чек оформляется только на кол-во / стоимость товара, а все марочные дела делаются через ЭДО.
Для товаров с ОСУ в этом случае ничего делать ничего не нужно (штрих-код передаёте в чеке как qItems.gProductCodes.ean13)
Так работают продуктовые базы, где закупаются ларёчники и киоскеры за нал ... :D

3. Помним про то, что законодательно установлено ограничение на передачу не более 100 КМ в одном чеке.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 6096
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 25 раз
Поблагодарили: 90 раз

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

Сообщение finsoftrz »

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

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

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

finsoftrz писал(а): 23 Июль 2026, 7:03 Иначе пиот в первом чеке лезет в лм
Знаете, мы специально делали эксперимент.
На двух компьютерах в одном магазине работал ТС ПИоТ и проверка через ГИС МТ.
Потом смотрел протоколы. ПИоТ хаотически и непредсказуемо начинает искать CDN площадки,
почему-то их не находит, переключается в Off-Line (на ПО ЛМ), потом без запроса площадок опять
переключается на ГИС МТ и так по кругу. Самопальная проверка черех ГИС МТ работает без проблем всю смену.

Поэтому на такие мелочи можно просто не обращать внимания.
Наша задача выполнить запрос в ТС ПИоТ, дальше что вернули, c тем и работаем (формируем тег 1260 в чеке).
С точки зрения выбытия марок в Честном ЗНАКе разницы никакой.
За теми, кто отстал, не возвращаться ! 🏴‍☠️ Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1436
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 12 раз
Поблагодарили: 2 раза
Контактная информация:

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

Сообщение RaFaeL »

finsoftrz писал(а): 23 Июль 2026, 0:28 Остатки в разрезе gtin не надо вести. Он соответствует конкретному товару. Ничего приклеивать тоже не надо. Просто ведете учет в разрезе товаров, как обычно, при оптовой продаже передаете в эдо gtin товара, при розничной сканируете марку.
Во-первых это подразумевает строгий учет GTIN у товара. А его нет, его никто не писал. Написали сразу через марки несколько лет назад когда внедряли лекарства. Получается, надо писать отдельно блок для ОСУ. Не хочется. С ЭДО напрямую не работаем (не осилил, извините). Документ формируется в складской программе с марками и передается в 1С, далее 1С из него формирует ЭДО и передает дальше. Марки там норм передаются. Как передать туда только GTIN я честно говоря не знаю даже
Далее, кладовщик не знает, куда накладная уйдет, в розницу или в опт. Даже клиент может в любой момент передумать и вместо оплаты безналом взять и купить как физлицо. И что делать, пересканировать? Товар уже на кассе, а сканер - на складе, на кассе сканера марок нет (не пишите только что так нельзя, я немного понимаю, но теория это теория, а практика это практика). Я не очень представляю это всё скажем так физически.
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1436
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 12 раз
Поблагодарили: 2 раза
Контактная информация:

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

Сообщение RaFaeL »

Игорь Столяров писал(а): 23 Июль 2026, 6:12 Для товаров с ОСУ в этом случае ничего делать ничего не нужно (штрих-код передаёте в чеке как qItems.gProductCodes.ean13)
Ага, значит надо штрихкод передавать. Сейчас то ничего подобного нет
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 6096
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 25 раз
Поблагодарили: 90 раз

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

Сообщение finsoftrz »

Gtin это в большинстве случаев и есть штрих-код еан13, дополненный нулем спереди до 14 знаков. Он также присутствует в составе маркировки, его можно вытащить оттуда (с 3 позиции, 14 символов).
ОСУ на два порядка проще, чем штучный учет. Я наблюдаю, как у нас оптовики матерятся. А у них пока только вода, соки и безалькогольные напитки на поштучном учете. То не то положили, что прислали через эдо, то марки не проходят, так как поставщик прислал чужие и не проверил после в ГИС МТ (оно же проверяется после того, как подписали в ЭДО, а не сразу), то еще что-то. Разбираться с этим уйма времени уходит, а людей лишних нет, и так выживают. А на ОСУ просто отгружаем, как немаркированный товар, разница в том, что в эдо указывают gtin для товара.
Передавать штрих-код в чеке не обязательно было (для немаркированных товаров). Для маркированных товаров мы всегда на ккм шлем полную марку.
C6/C12, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 6096
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 25 раз
Поблагодарили: 90 раз

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

Сообщение finsoftrz »

Тут еще веселуха намечается с 1 сентября - партионный учет. Это промежуточный вариант между осу и поштучным (поэкземплярным) учетом. До чиновников дошло, что перевод скоропортящихся товаров на поштучный учет приведет к коллапсу экономики. Предлагают теперь в документах указывать номер партии производства. Причем, сюрприз, это только на бумажных документах, на упаковках номер партии наносится не должен. Производитель прислал кучку вопросов по этому поводу, можно ли миксовать один товар с разными видами учета в одном упд в переходный период, можно ли присылать старые товары после того, как присылали новые, можно ли размещать на одной палете и т.п. Сидим в прострации, как эту хотелку адаптировать к реалиям жизни...
C6/C12, ШВС, tps/btrieve.
Ответить