Страница 1 из 5

Библиотека для работы с ККМ АТОЛ

СообщениеДобавлено: 25.01.2013 23:42:11
alexs
Всем добрый день.
Реализовал библиотеку для работы с ККМ от производителя АТОЛ.
Умеет регистрировать чеки/отменять, снимать отчёты
Работает с регистрами кассового аппарата.
Всё кросплатформенно. Всё - 100% паскаль.

Программный интерфейс библиотеки стараюсь делать максимально похожим на английский вариант com-объекта от АТОЛ.
Начал писть документацию по библиотеке - http://w7site.ru/fpc/kkm/
Если есть у кого интерес - буду рад участию.

Re: Библиотека для работы с ККМ АТОЛ

СообщениеДобавлено: 26.01.2013 12:01:01
alexkam
Добрый день! А где можно посмотреть саму библиотку?
Хотелось бы также реализовать библиотеку от АТОЛ для сканеров шрих-кода.

Re: Библиотека для работы с ККМ АТОЛ

СообщениеДобавлено: 26.01.2013 12:22:04
alexs
alexkam писал(а):Добрый день! А где можно посмотреть саму библиотку?

Ещё на SVN не выкладывал. Скорее всего положу на шаманграде.
А что касается штрихкодов - в чём проблема? Они все умеют работать как эмултор кавиатуры. Я именно в этом режиме их использую. Проблем нет.

Re: Библиотека для работы с ККМ АТОЛ

СообщениеДобавлено: 26.01.2013 12:27:00
alexkam
Хотелось бы работать через COM порт, чтобы можно было его передавать с локальной машины на терминальный сервер.

Re: Библиотека для работы с ККМ АТОЛ

СообщениеДобавлено: 26.01.2013 13:42:37
alexs
А разве клавиатурный поток не передаётся?

Добавлено спустя 11 часов 23 минуты 11 секунд:
Выложил исходники на шаманград - http://shamangrad.ru/project.php?act=view&prj=ecr_atol.
Документация тут - http://w7site.ru/fpc/kkm.

Re: Библиотека для работы с ККМ АТОЛ

СообщениеДобавлено: 29.01.2013 23:18:55
alexs
Обновил документацию на сайте. Включил в неё небольшие примеры.

Re: Библиотека для работы с ККМ АТОЛ

СообщениеДобавлено: 15.02.2013 03:05:45
count
Круто!
Делал реализацию поддержки ФР через их OLE, но такой вариант намного приятнее.

Re: Библиотека для работы с ККМ АТОЛ

СообщениеДобавлено: 15.02.2013 10:53:51
alexs
У них нет ОЛЕ для линуха :-)
Кстати - формат протокола достаточно толковый. А вот его OLE реализация - бестолковая.

Re: Библиотека для работы с ККМ АТОЛ

СообщениеДобавлено: 19.02.2013 23:51:17
Attid
круть =) надо будет глянуть. я себе тоже писал. но у меня был писанный клас под штрих. и я на него сверху одел атоловский.

Re: Библиотека для работы с ККМ АТОЛ

СообщениеДобавлено: 20.02.2013 00:53:47
alexs
Штрих тоже наверное не сложно прикрутить.
Но у меня нет аппарата для тестирования :-)

Re: Библиотека для работы с ККМ АТОЛ

СообщениеДобавлено: 20.02.2013 12:01:29
Attid
да принцип похож, правда со штрихом у меня сразу все заработало и проблем не было, а вот с атолом через неделю вылезли проблемы при большой нагрузке, но там я так понял виноват синасер был, что-то с задержками, точнее уже не помню.

Re: Библиотека для работы с ККМ АТОЛ

СообщениеДобавлено: 20.02.2013 18:56:55
alexs
Подробнее можно - чего было?
Вдруг и я столкнусь...

Re: Библиотека для работы с ККМ АТОЛ

СообщениеДобавлено: 21.02.2013 12:43:08
Attid
я же говорю что смутно помню, проблемма именно в синасере была, или в юзб дровах. таймауты выдерживались не верно, то есть е говорю ждать ответ секунду, а он мог выпасть в ошибку через 0,1 сек

поставил что если ошибка по таймауту, то еще раз ждать ответ. не красиво конечно вышло, но быстро и рабоче. а дома ошибка не воспроизводилась.

Re: Библиотека для работы с ККМ АТОЛ

СообщениеДобавлено: 10.03.2013 03:52:37
Attid
почитал код, красивый мой совсем страшненький и обработки хуже =(
надо будет поучиться у тебя

ошибку нашел, у тебя подключается на одной скорости. вне зависимости от настроек скорости порта =)

ГЫ хотел подглядеть у тебя как ты определяешь максимальную длину строки. а ты не определяешь.

ЗЫ а чего ты не вынес все "ReadACK;SendEOT;ReadENQ;SendACK;" в отдельную процедуру куда передаешь команду оно все делает и отдает обратно ? кол-во строк кода уменьшилось бы вдвое
правда процедура большая и страшненькая получается, но если что все ошибки в ней :lol:

Re: Библиотека для работы с ККМ АТОЛ

СообщениеДобавлено: 10.03.2013 23:03:00
alexs
1. Особо не получилось рулить скоростью. Постоянно ошибку получал.
2. Максимальная длина строки - это где?
3. Это наследие - когда начинал всё это делать - было удобнее отлаживать. Потом не стал переделывать.
Сейчас отдал программу на тестирование заказчику - по результатам тестирования будет рефакторинг кода. Поэтому и хочу собрать до этого момента статистику.