LINUX.ORG.RU

Python-интерфейс к фискальному регистратору Штрих ФР-К

 ,


0

1

На SourceForge выложена библиотека для доступа к фискальным регистраторам Штрих ФР-К производства компании Штрих-м (http://www.shtrih-m.ru/).

В комплекте идёт маленькая графическая программка. Работоспособность на Linux и Windows проверена.

>>> Подробности



Проверено: JB ()

Ответ на: комментарий от sako

О! А как же те оранжевые терминалы что расставлены у нашем городе по всем магазинам? Возможно сейчас это и не так, но раньше на них писалось, что на ALTLinux сделано.

prof-alex ()
Ответ на: комментарий от prof-alex

Привет, привет :-) те оранжевые работают чудесным образом на своем ПО на базе Линукс (какого именно незнаю), но хотелось бы больше терминалов запустить под Линуксом. ФР это камень преткновения для многих платежных систем и прочих непрофессиональных разработчиков ПО терминалов

sako ()
Ответ на: комментарий от anonymous

Там проблема была не в том, что долго прокачивалось, а в том, что долго (относительно, конечно) думал принтер перед тем, как напечатать. Отдаленно помню, что в принтер просто закачивался файл в формате PCX. Те принтеры, где я это видел, цеплялись по последовательному порту, а не RS232. Насколько я понимаю, поддержка графики была для того, чтобы небольшие украшательства делать на этикетке, а не как замену доморощенным протоколам.

Zubok ★★★★★ ()

Неужели кто то еще использует эти монстроподобные фискальники? Согласен с Muhas, рвотный рефлекс дает о себе знать при упоминании о Штрихе. Сейчас пишу под Атоловский FPrint, даже не сравнить с вышеназванным агрегатом. Под него, кстати, есть библиотека под Linux, все руки не дойдут ее потестить.

folibis ()
Ответ на: комментарий от folibis

«АТОЛЭ, по всей видимости, много извлек из проблем „Штриха“. Президентом „АТОЛ“ является мой одноклассник, а также впоследствии и однокурсник. До появления „АТОЛа“ мы с ним вместе на „Штрихе“ работали. :)

Zubok ★★★★★ ()
Ответ на: комментарий от kraw

>А как обходились с фискальным режимом? Для меня, в свое время, это было непреодолимым препятствием, поскольку ФР был зарегистрирован в НИ. Запишешь там какую-нить операцию, а потом попробуй отмыиться.

Так аппарат можно снять с учета и играться хоть до посинения.

demmsnt ()
Ответ на: комментарий от anonymous

Вот я и говорю, сделать демона. У него АПИ, а у демона зарегистрированы дрова. Демон может перечислять фискальники и на конкретном выполнять команды из АПИ. И мы можем подключать Штрих, Атолл.... Ну и так далее.

Мне это сейчас без надобности, но объеденив наши дрова под эгидой такого демона мы получим в 2 раза больше пользователей, а там и ктонибудь третий подтянется....

В общем если это кому-то актуально пусть берет на себя руководство, а я помогу чем смогу.

demmsnt ()
Ответ на: комментарий от demmsnt

Немного не по теме, но... Сейчас возникла потребность в установке на паре объектов чековых принтеров для распечатки чеков при транзакицях по безналу. Там на компах дебиан, посему интересует вопрос КАКИЕ ЧЕК ПРИНТЕРЫ предпочесть? Прямое управление не проблема при внятной спецификации протокола (сейчас как раз экспериментирую с Штрих-ФР-К), желательно легкое формирование чека и шустрая работа аппарата (в общем сейчас потребность вывода в чек только текстовой инфы). Как-то так - может кто-то что-то посоветует, раз народ собрался знающий?

sptim ()

Исправил неприятную ошибку когда

17719.85*100 = 1771984.9999999998 and int(17719.85*100) = 1771984 (17719.85*10)*10 = 1771985.0 and int((17719.85*10)*10) = 1771985

Это выскакивает при работе с НДС

demmsnt ()
Ответ на: комментарий от demmsnt

Да нет, штрих тут как раз в качестве ККМ - с ним всё нормально. Кстати, первой была мысль - а нельзя ли на нем же какие-нибудь ПРОИЗВОЛЬНЫЕ нефискальные чеки печатать (т.е. без стандартной шапки и прочих реквизитов - только то, вручную формируем)... Но не нашел (или плохо искал и всетаки можно?) поэтому и озадачился чек принтером. Но не знаю какой выбрать! :)

sptim ()
Ответ на: комментарий от sptim

1) Не ставим на учет

2) Как вариант там есть печать графики. Я если честно подумал, а кто нам мешает эмблемку фискализации просто как картинку печатать.

demmsnt ()
Ответ на: комментарий от sptim

>Кстати, первой была мысль - а нельзя ли на нем же какие-нибудь ПРОИЗВОЛЬНЫЕ нефискальные чеки печатать (т.е. без стандартной шапки и прочих реквизитов - только то, вручную формируем)... Но не нашел (или плохо искал и всетаки можно?) поэтому и озадачился чек принтером. Но не знаю какой выбрать! :)

Всегда было можно. Посмотри повнимательнее. Была команда печати произвольной строки текста. Только для этой команды недоступны некоторые спецсимволы, используемые в фискальных чеках.

Zubok ★★★★★ ()
Ответ на: комментарий от Zubok

БЕЗ Шапки? Я почему уточняю, потому что даже стандартный чек было бы можно (строк нужных в тело навставлять) всё устраивает, но в шапке забиты реквизиты фирмы, а отпуск по безналу - от другой.

sptim ()
Ответ на: комментарий от sptim

Там операции Открытие чека, Добавление в чек позиции (приход, расход), и закрытие чека. Они влияют на чек и пишутся в фискалку. А есть печать строки, команда 0x17. Длина 40 символов, но если надо нарежете. Поглядите в kkmdrv.py там комментарии на русском.

demmsnt ()
Ответ на: комментарий от sptim

Погоди, что-то я не улавливаю, что ты хочешь сделать? Я сейчас пытаюсь вспомнить детали. Возможно, что-то изменилось, но раньше ККМ печатала текст шапки сразу же после закрытия предыдущего чека. После этой шапки можно было любую лабуду печатать. Да, а шапку просто оторвать потом. Но если сейчас все по-другому, и чек, и шапка печатаются за один проход, то тогда не знаю. Сомневаюсь, что так можно. Да и все-равно копию фискального чека ты не напечатаешь. В фискальных чеках используются спецсимволы и часто шрифт укрупненный (широкий) есть, который по команде с компа отпечатать нельзя.

Помнится, что как-то давно шла речь о том, чтобы ККМ можно было в тестовый режим переключить, даже если она фискализирована. Но я не знаю, было ли такое сделано и не противоречит ли это каким-то требованиями ГМЭК.

Zubok ★★★★★ ()
Ответ на: комментарий от demmsnt

Да нет, печать строки - это всё понятно, но как заметил Zubok - после печати (закрытия) чека, после его отрезки печатается шапка следующего чека - куда ж её девать. Ну хорошо, отрезчику дал команду - отрезал, напечатал какой надо «информационный» чек, отрезал... и? Следующий нормальный чек напечатается без шапки?

Поэтому и решил отдельный чек принтер поставить и выводить на нем. Zubok, что-то можете посоветовать? (т.е. с вменяемым протоколом)

sptim ()
Ответ на: комментарий от Zubok

Да на фискльность глубоко побоку (наоборот не нужна, т.к. это информационный чек транзакции клиента). Это подразумевалась как замена квитанций - на нём все параметры транзакции и на него просто ставится штампик и выдается клиенту (есть еще такие фирмы, что требуют подобного подтверждения).

sptim ()
Ответ на: комментарий от Ttt

> Если да, то заказчик дал согласие на публикацию? А то ведь в некоторых случаях исключительное право принадлежит ему.

Всё намного хуже - у нас, согласно ГК ч.4, исключительное авторское право принадлежит только программисту. Даже компания-работодатель идет лесом.

Вот такие пироги.

fi ★★★ ()
Ответ на: комментарий от demmsnt

Есть желание написать openPOS на питоне, точнее я уже сейчас этим занимаюсь. У меня Феликс-РК АТОЛ, почти написал свой драйвер, хотя можно и тот что выше указывали форкнуть) Предлагаю собраться всем заинтересованым, можно например на github.com

nvkz ()
Ответ на: комментарий от sptim

>Ну хорошо, отрезчику дал команду - отрезал, напечатал какой надо «информационный» чек, отрезал... и? Следующий нормальный чек напечатается без шапки?

Тебе надо посмотреть, нет ли в списке команд твоего ФР «печать клише» (печать заголовка документа в Штрихах — это не то). Раньше такой команды не было, и для того, чтобы сделать такой финт, как ты хочешь, делали так:

1. Закрываем чек. Автоматически печатается клише следующего чека.

2. Печатаем произвольный текст.

3. Отрезаем.

4. Читаем из регистратора текст клише (можно его сохранить в компьютере), печатаем его методом печати строки.

5. ...

6. PROFIT.

Zubok ★★★★★ ()
Ответ на: комментарий от sptim

Делал для протоколов ЭЛВЕС-Микро и Шрих-ФР работу в качестве чекового принтера для Openbravo POS, там использовалась команда печать произвольной строки. Можете посмотреть, как это выглядит на Java http://code.google.com/p/openbravoposru/wiki/ELVESMIKROECR и http://code.google.com/p/openbravoposru/issues/detail?id=71 Так что проблем подключить ФР в качестве чекового принтера можно, но сейчас работаю с специальным чековым принтером Senor, скорость феноменальная и для работы используются ESC последовательности. Так что вам лучше поискать именно чековый принтер.

jerdna ()
Ответ на: комментарий от fi

>Всё намного хуже - у нас, согласно ГК ч.4, исключительное авторское право принадлежит только программисту. Даже компания-работодатель идет лесом.

А Авторское и должно. И это правильно

demmsnt ()

Исправил везде где мог ошибку с выскакиванием 1-й копейки.

demmsnt ()
Ответ на: комментарий от fi

>Всё намного хуже - у нас, согласно ГК ч.4, исключительное авторское право принадлежит только программисту. Даже компания-работодатель идет лесом.

Не совсем. Сейчас влом лезть и смотреть про договоры авторского подряда, но вкратце:
1) Если написание программы прямо не подразумевалась договором, то исключительное право по умолчанию (если в договоре подряда не прописано иное) принадлежит подрядчику.
2) Если объектом договора является как раз создание программы, то, наоборот, заказчику.
Как я понял из слов автора сабжа, тут как раз первый случай, следовательно он выложил программу правомерно.

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от jerdna

Как раз так и сделал. :) Насчёт того, что чековый принтер - это самое оно - полностью согласен, почему изначально (в первом своём посте) и просил совета по выбору конкретной марки\модели! з.ы. По поводу Senor, спецификациями протокола можешь поделиться? (или где взять можно - хочется поглядеть как там всё организовано?)

sptim ()
Ответ на: комментарий от sptim

Senor продаются у нас в Казахстане, в России они есть или нет не знаю. Можно посмотреть на их сайте http://www.senortech.com/ Описания протокола там нет, но он идёт с самим принтером, если нужно могу скинуть на почту. Отличием от стандартных команд ESC/POS является работа с китайскими иероглифами, а так ни каких проблем с подключением к Openbravo POS у меня не возникло.

jerdna ()
Ответ на: комментарий от jerdna

Спеки по ESC\POS 1.0 скачал от Star чек-принтеров, разбираюсь, на первый взгляд всё достаточно нативно. А сей девайс можно заказать и у нас. Смотрю чек-принтеры Star и Posiflex большей частью возятся, как они?

sptim ()
Ответ на: комментарий от jerdna

Ясно. Я и старовский протокол глянул - для простых чеков вполне нормально. Спасибо всем за советы! :)

sptim ()

Очередное изобретение велосипеда.

Кстати, ребятки из Денси (http://dnc-soft.ru) вроде как все реализовали.

Кабы не распылять силы на отдельные реализации, а использовать стандарт, тот же UPOS, то и дело двигалось шустрее ИМХО.

Касательно работы с торговым оборудованием одинесники на этом не одну собаку съели.

ulyss ()
Ответ на: комментарий от muhas

> как вспомню штриховские фискальники, так блевать тянет - вечно с ними какие-то проблемы были, то ли дело феликсы - поставил и забыл до замены эклз.

не могу согласиться. у нас порядка сотни феликсов, в ЦТО обращаемся практически каждую неделю.

не думаю, что современные штрихи хуже в плане надёжности.

edo ()
Ответ на: комментарий от ulyss

> Кстати, ребятки из Денси (http://dnc-soft.ru) вроде как все реализовали.

ребятки из денси хотят деньги за свою реализацию. и посмотрел я мельком - не впечатлила она меня.

а вот за несколько килобайт кода на питоне хочется сказать огромное спасибо. напрямую я этот код использовать вряд ли буду, а вот «подсмотреть» какие-то вопросы обмена с кассой - это намного удобнее, чем самому сниффить.

edo ()

Интересный опыт

Дмитрий, сейчас встал вопрос сделать то же самое на ruby нашел ваш пост, есть вопросы по сотрудничеству, свяжитесь со мной: development@software4.ru

С Уважением, Стас Бедункевич

bedunkevich ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.