Реализация драйвера семейства ККМ "Штрих" на Python.
$ pip install pyshtrih
- ШТРИХ-ФР-К
- ШТРИХ-ФР-ПТК
- ШТРИХ-КОМБО-ФР-К
- ШТРИХ-ПТК
- ШТРИХ-LIGHT-ПТК
- ШТРИХ-950К
- ШТРИХ-ФР-01Ф
- ШТРИХ-ON-LINE
- ШТРИХ-М-01Ф
- ШТРИХ-М-02Ф
- ШТРИХ-ЛАЙТ-01Ф
- ШТРИХ-ЛАЙТ-02Ф
- ШТРИХ-МИНИ-01Ф
- РИТЕЙЛ-01Ф
import pyshtrih
def discovery_callback(port, baudrate):
print port, baudrate
if __name__ == '__main__':
devices = pyshtrih.discovery(discovery_callback)
if not devices:
raise Exception(u'Устройства не найдены')
# для простоты примера, предположим, что подключена только одна ККМ
device = devices[0]
device.connect()
print device.model()
print device.full_state()
device.open_check(0)
device.sale(
(u'Позиция 1', 1000, 1000), tax1=1
)
device.sale(
(u'Позиция 2', 1000, 2000), tax1=2
)
device.sale(
(u'Позиция 3', 1000, 3000), tax1=3
)
device.sale(
(u'Позиция 4', 1000, 4000), tax1=4
)
device.close_check(10000)
device.cut(True)
device.disconnect()Внимание! Набор команд зависит от конкретной модели оборудования.
| Код | Название |
|---|---|
| 0x10 | Короткий запрос состояния ФР |
| 0x11 | Запрос состояния ФР |
| 0x13 | Гудок |
| 0x14 | Установка параметров обмена |
| 0x15 | Чтение параметров обмена |
| 0x16 | Технологическое обнуление |
| 0x17 | Печать строки |
| 0x19 | Тестовый прогон |
| 0x1A | Запрос денежного регистра |
| 0x1B | Запрос операционного регистра |
| 0x1E | Запись таблицы |
| 0x1F | Чтение таблицы |
| 0x21 | Программирование времени |
| 0x22 | Программирование даты |
| 0x23 | Подтверждение программирования даты |
| 0x25 | Отрезка чека |
| 0x28 | Открыть денежный ящик |
| 0x29 | Протяжка |
| 0x2B | Прерывание тестового прогона |
| 0x2D | Запрос структуры таблицы |
| 0x2E | Запрос структуры поля |
| 0x40 | Суточный отчет без гашения |
| 0x41 | Суточный отчет с гашением |
| 0x50 | Внесение |
| 0x51 | Выплата |
| 0x80 | Продажа |
| 0x82 | Возврат продажи |
| 0x85 | Закрытие чека |
| 0x86 | Скидка |
| 0x87 | Надбавка |
| 0x88 | Аннулирование чека |
| 0x8C | Повтор документа |
| 0x8D | Открыть чек |
| 0xA0 | Отчет ЭКЛЗ по отделам в заданном диапазоне дат |
| 0xA2 | Отчет ЭКЛЗ по закрытиям смен в заданном диапазоне дат |
| 0xB0 | Продолжение печати |
| 0xC0 | Загрузка графики |
| 0xC1 | Печать графики |
| 0xC2 | Печать штрих-кода |
| 0xE0 | Открыть смену |
| 0xFC | Получить тип устройства |
| 0xFF01 | Запрос статуса ФН |
| 0xFF03 | Запрос срока действия ФН |
| 0xFF08 | Отменить документ в ФН |
| 0xFF0A | Найти фискальный документ по номеру |
| 0xFF0B | Открыть смену в ФН |
| 0xFF0C | Передать произвольную TLV структуру |
| 0xFF35 | Начать формирование чека коррекции |
| 0xFF36 | Сформировать чек коррекции |
| 0xFF38 | Сформировать отчёт о состоянии расчётов |
| 0xFF39 | Получить статус информационного обмена |
| 0xFF3F | Запрос количества ФД на которые нет квитанции |
| 0xFF40 | Запрос параметров текущей смены |
| 0xFF41 | Начать открытие смены |
| 0xFF42 | Начать закрытие смены |
| 0xFF43 | Закрыть смену в ФН |
MIT лицензия. Подробнее в файле LICENSE.