kalipsoaqua / icecash Goto Github PK
View Code? Open in Web Editor NEWThis project forked from redeyser/icecash
IceCash. Касса Linux. Рабочее место кассира под linux с использованием web интерфейса. С драйвером к Штрих-М ФРК.
This project forked from redeyser/icecash
IceCash. Касса Linux. Рабочее место кассира под linux с использованием web интерфейса. С драйвером к Штрих-М ФРК.
Новости: Скачать веб оснастку с драйвером и сервером драйвера можно тут http://icecash.ru:8181/dIceWWW.tar.bz2 Скрипты создания mysql таблиц тут http://icecash.ru:8181/dIceMysql.tar.bz2 Образ диска установщика кассы на debian 6 http://icecash.ru:8181/IceCash.iso [email protected] 09/06/2015 IceCash v 3.014 Драйвер штрих-м и сервер для этого драйвера. Драйвер я немного дописал. Это давно не обновлялось: ----------------------------------------------------------------- Здесь вы найдете: 1. Драйвер для штрих-М 2.Сервер этого драйвера для управления фискальником и кассой. 3.php оснастка для рабочего места кассира 4.клиент для автоматического обмена прайсами и обновления программы. ФРК управляется драйвером kkmdrv.KKM через объект frk.frk. Сам frk помещается в демон dIceCash и там инициализируется. В dIceCash также помещается объект dbIce - база данных mysql (транзакции, прайс, настройки) и сокетный клиент для ограниченного (в данном случае одного) количества активных пользователей. Для тестов работы сервера и ФРК можно использовать сокетного клиента cIceCash, предварительно набрав все команды в текстовый файл: Команда должна иметь вид: <Номер кассы>;<объект назначения>;<команда>;<параметр1>;<параметр2>,... Объекты назначения: db - база данных, frk - фискальник, frkr - фискальник (запросы без результата), self - собственные. db - запросы к базе данных (найти товар по коду, найти дисконтную карту, провести транзакцию скидки) frk - запросы к ФРК, они направляются напрямую в объект frk через метод parsingCmd, при этом необходимые транзакции пишутся в базу данных автоматически frkr - запросы на получение номера текущего чека, статуса объекта frk self - изменение переменной, отвечающей за режим работы без ФРК, а также команды загрузки-выгрузки обменных файлов в формате Штрих-М. Для запросов frk, пересылается клиенту ответ от фискальника (0 - операция прошла успешно, err - ошибка фискальника) ПРИМЕР: echo "1;frk;connect;/dev/ttyS0;115200" >txt echo "1;frk;disconnect" >>txt ./dIceCash.py & cat txt | ./cIceCash.py Можно использовать просто telnet (только в этом случае будет действовать ограничение на один открытый коннект, до тех пор пока вы не отключитесь): ПРИМЕР: telnet localhost 7171 1;frk;connect;/dev/ttyS0;115200 Таким образом можно управлять фискальником через сеть, посредством сервера dIceCash. Может у кого возникнет желание написать сетевого консольного клиента? Также можно подключить несколько клиентов, если это необходимо к одному фискальнику через демон dIceCash. В этом случае, образуется очередь подключения, так как есть ограничение на количество активных клиентов. Клиент же должен сначала подготовить весь чек, затем обратится к демону и дождавшись своей очереди, соединится и напечатать весь чек. Затем отсоединиться и освободить очередь. Ожидание очереди происходит автоматически, если пользоваться клиентом cIcecCash. В данном случае используется WEB клиент (PHP на стороне сервера) для взаимодействия с сервером dIceCash. 1. Базовые исходники kkmdrv.py и надстройка frk.py ------------------------------------------------------------------------------- В основе работы с ФРК ШТРИХ-М лежит написанный объект-драйвер неким Dmitry Shamov <[email protected]>, взятый отсюда: http://sourceforge.net/projects/pyshtrih/. Использовался только файл "kkmdrv.py" версии 1.0.4. В драйвер были добавлены некоторые, функции, возможно автор внесет их в новую версию. Описание драйвера: Для удобства, был создан файл frk.py и одноименный объект, который включает в себя базовый объект kkmdrv.KKM. frk __init__ только задает начальные свойства (пароли, порт, скорость порта) connect создает объект KKM, открывает порт, опрашивает регистратор. disconnect закрывает порт. Все используемые методы объекта KKM вынесены в объекте frk и помещены в обработку исключений. В некоторых методах сокращены параметры для удобства (setDate setTime ...) Добавлены методы в базовый драйвер и вынесены в frk: cut - отрезка чека renull - технологическое обнуление open_box - открытие ящика writesets - запись трёх настроек ФРК (автообнуление наличности, автоотрезка чека, автоокрытие ящика) writesets_text - запись трёх строк в заголовке чека (12,13,14 строка в настройках текста в чеке) frk также содержит метод parsingCmd, который получает универсальные параметры для использования собственных методов. Таким образом с ФРК можно работать например так: D=frk(kkmdrv.DEFAULT_PASSWORD,kkmdrv.DEFAULT_ADM_PASSWORD,'/dev/ttyS0',115200) D.connect() D.writesets(1,1,1) D.openCheck(0) D.Sale(2,20,'PIVO ZVERSKOE') D.closeCheck(100,10,20) D.disconnect Или так: D=frk(kkmdrv.DEFAULT_PASSWORD,kkmdrv.DEFAULT_ADM_PASSWORD,'/dev/ttyS0',115200) D.connect() D.parsingCmd('open_check',[0]) D.parsingCmd('sale',[float(1),float(20.5),"PIVASIK"]) D.parsingCmd('close_check',[float(100),float(10),float(20)])
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.