Просмотр полной версии : Проксимити карты
Возможно ли использовать в R-keeper проксимити карты
в качестве дисконтных карт и в качестве карт персонала? Какие настройки должны быть, если это возможно?
Хранитель
25.03.2008, 09:58
Кассовая часть системы R-Keeper v6 поддерживает работу только с 4-х значными картами персонала (официанты, кассиры и т..д.). Иногда возникает необходимость использовать в качестве карт персонала не стандартные магнитные карты, а бесконтактные, которые невозможно "запрограммировать" самостоятельно и которые, как правило, имеют более длинные номера. В таком случае можно использовать специальную библиотеку исключения - CCEX.DLL
Для установки и использования библиотеки исключения необходимо:
скопировать библиотеку CCEX.DLL в корень директории RKCLIENT
считать все карты, которые планируется использовать в качестве карт персонала - используйте для этого утилиту CHMCKBD.EXE (если устройство считывания имеет интерфейс PS/2i) или USECARD.EXE (если устройство считывания имеет интерфейс RS232i). Считывание производится в DOS
создать текстовый файл CCEX.TXT следующего формата:
<считанный номер>, <номер в который необходимо преобразовать>
например:
02623, 0262
13647, 1364
13026236004200, 1302
00133, 0013
скопировать сформированный файл CCEX.TXT в корень директории RKCLIENT
для проверки работоспособности можно снова считать карты - если все сделано правильно, считанные номера карт должны быть перекодированы
Важно: следует помнить, что работу с CCEX.DLL поддерживают не все считыватели (точнее драйвера для этих считывателей). На данный момент список совместимых драйверов следующий:
стандартная библиотека COMCARD.DLL версии 6.02 и выше. Эта библиотека подходит для всех считывателей с интерфейсом RS-232i, которые выдают информацию при считывании напрямую в порт (без дополнительных команд). Класс таких устройств достаточно обширен - например, практически все сканеры штрих-кодов могут работать в таком режиме
драйвер считывателя прокси-карт PERCo-CR-12001 версии 1.04 и выше
драйвер для клавиатуры MITEc KB99-128 с интерфейсом PS/2. С этим драйвером могут работать большинство считывателей PS/2, которые поддерживают программирование префикса (";" - точка с запятой) и постфикса ("?" - знак вопроса)
драйвер считывателя MiReader-80 (для чтения карт стандарта MIFARE)
А где взять CCEX.DLL? Какой считыватель лучше использовать? Есть ли какое описание, куда кидать DDL для считывателя и какие настройки прописывать? UCS предлагают "Считыватель бесконтактных карт СРЧ-125".
Хранитель
28.03.2008, 09:36
1. Обычно лежат в инсталляхе.
2. Да много разных, т.к. крайне мало используются в ресторанах, даже посоветовать нечего.
3. Любые длл кладутся или в корень ркклиента или в екстенд. А вообще выше в описании все написано, просто читать внимательнее нужно. Настройки обычно лежат в описании длл и инишнике к ней.
создать текстовый файл CCEX.TXT следующего формата:
[CODE]<считанный номер>, <номер в который необходимо преобразовать>
например:
02623, 0262
13647, 1364
13026236004200, 1302
Если номер считанной Em-Marine карты с запятой, например 199,57885, то как быть?
это скорее всего 100% засада.
Если номер считанной Em-Marine карты с запятой, например 199,57885, то как быть?
А задача-то у Вас какая? Использовать имеющиеся бесконтактные карты как персональские для R-Keeper?
Да, именно так.
Есть проксимити карты Em-Marine. Номера у них, при считывании в любойтерминальной программе выглядят, как три цифры-запятая-пять цифр.
Есть считыватель Matrix-III RD-All производства IronLogic (г.Москва).
Перепрошил считыватель, теперь он выдает номер карты в шестнадцатиричной системе без запятой
Не могу файл найти ccex.dll
В инсталляшках его нет
CCEX.dll попробовали?
Да, получилось.
1. Файл CCEX.DLL UCS высылает по запросу.
2. Перепрошил считыватель, теперь он выдает номер карты без запятойв шестнадцатиричной системе c переводом строки
http://ironlogic.ru/il.nsf/pages/drivers
3. Поправил rkeeper6.ini
4. Создал файл ccex.txt
Вобщем всё, как в посте №2. Спасибо Хранителю.
Важно: следует помнить, что работу с CCEX.DLL поддерживают не все считыватели (точнее драйвера для этих считывателей). На данный момент список совместимых драйверов следующий:
...
драйвер считывателя MiReader-80 (для чтения карт стандарта MIFARE)
Кто подскажет, какие сейчас читалки под MIFARE поддерживаются? Кто что использует?
http://ironlogic.ru/il.nsf/pages/hfeq
Да, Matrix III RD-All, Matrix III MF, Z-2 USB MF и Z-2 USB
http://ironlogic.ru/il.nsf/pages/hfeq
Из этой таблицы видим, что MIFARE четыре типа
http://ironlogic.ru/il.nsf/pages/cards
Ну, USB под досом работать не будет.
о ДОСе речь не шла
Кто подскажет, какие сейчас читалки под MIFARE поддерживаются?
Я и перечислил все варианты для MIFARE
Ясно, тогда уточню вопрос: читалки, которые сейчас поддерживаются досовскими клиентами RK6.
Я использовал Matrix III RD-All. у него есть RS-232 и RS-485
http://ironlogic.ru/il.nsf/pages/matrix3all
У Matrix III MF этих портов нет
http://ironlogic.ru/il.nsf/pages/matrix3MF
Перепрошил считыватель, теперь он выдает номер карты в шестнадцатиричной системе без запятой
Вопрос после перепрошивки сколько символов считыватель выдавать стал?
Возможно мне тут помогут. Опишу ситуацию.
Есть предприятие и около 5 столовых(плюс буфеты). Установлено ПО кипер по Досом. Возникла проблема с проксиметри картами. Карты EMMarin 125. Запуск производила фирма до нас. Сканеры проксиметри все сидят на ps\2 разъеме. Причем считыватели стоят фирмы Synel PRX-10(предназначены дл систем контроля доступа) Затем эти считыватели воткнуты в Энкодер Chipherlab 102 Tiny I+, который в свою очередь посылает в порт клавиатуры Код вида B55701370000000F0(проверяли на винде в блокноте). Через время код стал вида ;55701372000400?(как я понял сбились настройки в энкодере, к сожалению его я так и не смог перепрограмировать, да и вообще до конца понять как это делается не смог.) Помимо них есть считыватели Synel PRX-KE которые уже без энкодеров напрямую в ps\2 Причем в блокнот они выдают тот же самый код, т.е. 17 значный. Проверяли именно в блокнот чтобы знать что выдает сам сканер(без учета всяких преобразований драйвером в Ркипере). А теперь собственно сам вопрос энкодеры больше выпускаются, поэтому ищем подходящие считыватели. На сколько мне известно карты Еммарин могут вместить только 10 символов. И все поставщики говорят что считыватели только на 10 символов. Вобщем ищу подходящий проксиметри считыватель. Если есть COM то пожалуйста подскажите как правильно настроить в Ркипере драйвер COM т.к. с Ркипером до этого никогда не сталкивался. Или если нужна более детальная инфа по считыванию карты где и в каких файлах смотреть(Слышал что вообще код в самом ркипере толи 7 толи 8 значный).
Буду юлагодарен за помощь
"драйвер" в R-Keeper называется comcard.dll, подбирается под конкретную читалку.
Вот описание стандартного:
"Читалка магнитных карт через COM-порт
Настройки в Rkeeper6.ini
ComCardPort = 1 // номер порта, но можно указать и адрес типа $2E8
ComCardType = 0 // 0 - работает как обычно (0..9 и '=')
1 - Для ProxCard (0..9 и A..F, остальное выбрасывает ).
ComCardAdd = // строка, добавляемая в начало кода карты
ComCardRS = 0 // 0 - 9600,8,n,1 1 - 9600,7,e,1
Эту же DLL можно использовать для сканера штрих-кодов, переименовав ее
в BarCode.dll и в настройках заменив префикс ComCard... на BarCode...
с Ver 6.02 поддерживается CCEX.DLL"
Карты используются для чего, для регистрации персонала или скидок/бонусов?
Значит, у Вас еще fixlen.dll должен висеть для перекодировки.
Как я понимаю для этого нужно взглянуть на Rkeeper6.ini ? и там должна быть или маска или еще что-то. так ? Еще вопрос. на каждой столовой есть свой сервер и еще есть 1 центральный. Эту инишку смотреть где? на тех что в столовых? или на том который центральный?
Маска должна быть прописано непосредственно на каждой станции, смотрите rkeeper6.ini в клиентах. Я думаю, она везде одинакова.
И так что еще удалось выяснить. Маска Fix_Len_Mask=NNNNNNNNN0*****
еще есть Person_Mask=124400002*NNNN
Ребята которые на этом предприятии с этой программой работают говорят, что 1-й символ а именно B откидывается самой программой т.е. я так понимаю этот символ где-то запрограмировали в качестве префикса а F1 в конце тоже самое. И ребята говорят что если без этих символов считывать то касса скидывает 1-й сивмол и соответственно не видит карту.
Ниже в текстовом файле лежит то что у них в инишке.
1607
Маска Fix_Len_Mask=NNNNNNNNN0*****
Круто, значащие первые девять цифр, при условии, что десятая - 0. Не знал, что кипер девять цифр уже умеет воспринимать.
еще есть Person_Mask=124400002*NNNN
Как можно догадаться, это для карт, которые опознаются, как персональские. Значащие последние четыре цифры при условии совпадения с маской.
Ниже в текстовом файле лежит то что у них в инишке.
Все достаточно обычно. Настроек comcard нет, потому что работало через клавиатурный порт.
В общем, Вам надо только com-читалку купить, здесь на форуме в какой-то теме уже что-то называли.
---------- Добавлено в 20:25 ---------- Предыдущее сообщение было размещено в 20:25 ----------
А, в этой же теме и было на предыдущей странице.
Я использовал Matrix III RD-All. у него есть RS-232 и RS-485
http://ironlogic.ru/il.nsf/pages/matrix3all
Так уже об этом и думаю, про com читалку. У меня и возник вопрос, а что за префикс такой с буквой B и в конце постфикс еще F1 ... на сколько я знаю стандартно там префикс ; и постфикс ? Т.Е. где именно эти префикс и постфикс вбиты в ркипере?.. На крайний случай комовским считывателем можно сделать префикс B и постфикс F1? и Кстати считыватели УСБ в Досе работают(при условии работы в режиме эмуляции клавиатуры) Кстати есть и в режиме эмуляции Com порта. Т.е. как я понимаю нужно искать считыватели в которых префикс и постфикс можно запрограмировать...
что за префикс такой с буквой B и в конце постфикс еще F1
Лично я не знаю, что это имеется ввиду.
Т.Е. где именно эти префикс и постфикс вбиты в ркипере?
В кипере - нигде. А может, имелась ввиду маска в fixlen - ну так ее можно задать такой, какой нужно.
На крайний случай комовским считывателем можно сделать префикс B и постфикс F1?
Зачем?
Кстати считыватели УСБ в Досе работают(при условии работы в режиме эмуляции клавиатуры)
Проверять надо, все зависит от конкретной реализации этой эмуляции, т.е. от материнской платы.
Кстати есть и в режиме эмуляции Com порта.
Такое, думаю, точно работать не будет, ибо такая эмуляция, скорее всего, делается через драйвер.
Еще раз, внимательно прочтите описание comcard.dll и fixlen.dll. Все, что Вам нужно - уникальный код карты, далее он довольно несложно разбирается по маске.
Так еще раз .. на данный момент со считывателя поступают данные в кассу следующего вида B66350020000000F1 где первый символ а именно B откидывается и никак не воспринимается, так же как и последние символы F1. Если код будет без первой буквы .. то касса обрезает 1-ю цифру. т.е. если будет 66350020000000 то в кассу попадет 6350020000000, Где и каким образом обрезается данный символ непонятно. Я и предположил что это префикс. вот только как все это настроено так и не понятно. Кроме Rkeeper6.ini есть еще какие нибудь конфигурационные файлы? Просто я уже не знаю в какую сторону копать. МОжет что-то в драйвере клавиатуры? или для него все настройки тоже в Rkeeper6.ini содержатся?
P.S. Пообщался с ребятами они говорят, что приезжали с Дата крат что только ни пытались делать, и Маски как только не меняли ничего изменить не смогли. Короче нужен считыватель у которого Префикс символ (B) дальше 14 знаков код и в конце постфикс (F1), в других вариантах видимо не получится. Я от Ркипера совсем далек видимо своими силами я тоже не справлюсь.
Нет, вроде ничего другого нет. В теории ничего больше, к сожалению, не подскажу, может, кто подтянется с опытом. Кроме как rkeeper6.ini на станции для данного случая ничего нет. Резать тоже ничего не должно.
А как вообще в ркипере дисконт реализован.. точнее его ввод. я к тому что Может первый символ B это нажатие кнопки?и в конце F1 хотя скорее всего я ошибаюсь. Тогда такие вопросы можно ли дисконтную карту точнее ее номер просто ввести с клавиатуры? Чтобы на самом деле проверить без считывателя как вводится код и что именно воспринимается ркипером. И последний вопрос по поводу комовского драйвера. Сейчас написал менеджерам(ссылка выше была на считыватель) возможно ли создать такую прошивку для считывателя. если ответят что возможно, то каким образом не нарушая работы клавиатурных считывателей воткнуть комовский в систему? Как я понимаю ком порт 1 занят фискальником судя по ркипер ини. т.е.скажем если воткнуть в ини строку ComCardPort = 2 , то что указывать в ComCardType ? и нужно ли указывать еще какие-то параметры. И еще наткнулся на тему народ пишет что нужен обязательно префикс ; и постфикс ? Они именно драйвером этим востребованы? Или это только к штрих кодам относится а к проксиметри нет.
Возможно будут контакты человека который им все настроил. Спрошу у него про префиксы. может что прояснится.
как вообще в ркипере дисконт реализован.. точнее его ввод
С карты. Там есть шаблон определенного вида, который как раз можно переопределить с помощью fixlen.
можно ли дисконтную карту точнее ее номер просто ввести с клавиатуры?
Абсолютно точно не помню, но возможно, что да.
Может первый символ B это нажатие кнопки?и в конце F1
Нет, точно нет.
если воткнуть в ини строку ComCardPort = 2 , то что указывать в ComCardType ?
Очевидно, что 0 - если нужны только цифры, и 1 - если еще нужны буквы. Надо пробовать.
народ пишет что нужен обязательно префикс ; и постфикс ?
Ну теоретически это начало и конец строки.
можно ли дисконтную карту точнее ее номер просто ввести с клавиатуры? Чтобы на самом деле проверить
CanManualDiscInput=ON
До кассы к сожалению не добраться, чтобы поэкспериментировать.
Поэтому видимо придется сначала немного разобраться в теории.
Первый вопрос что такое Fix_Len_Card=0 .
Дальше Датакратовцы воткнули Маску Fix_Len_Mask=NNNNNNNNN0***** Может именно в ней и дело? На данный момент из того, что я знаю у меня есть следующие коды карт
B16350020000000F7
B66350020000000F0
B35741220000000F0
Как я понимаю если откинуть первый символ В который является префиксом неизвестно для чего, то Маска должны быть следующей Fix_Len_Mask=NNNNNNN0**(Можно еще добавить **** но это уже настройка считывателя как я понимаю т.е. дополнять 0 до 14-знвчного кода, зачем это я так тоже не понял), в теоии верно? у кого есть проксиметри карты Еммарин, отпишитесь у вас маска 10 знаковая?
И еще в инишке не увидел вообще никаких клавиатурных дров считывателя, а они вообще должны быть? или не обязательно?
Извините ребят что конечно докучаю тупыми вопросами но нет возможности просто даже взглянуть на всю систему ркипера, а на завод где она стоит так просто не попасть. Да и у себя ничего развернуть невозможно, т.к. как минимум ключи нужны а ркипер ни в демо режиме не пашет ни в каких бы то нибыло тестовых.
P.S. Сейчас попробую разобраться в теории и уже буду звонить в UCS общаться со спецами и у них же возможно куплю считыватели, которые как они уверяют 100 процентов будут работать на их же системе:) Но они у них только 10 знаков читают.(что на мой взгляд правильно т.к. больше в чип Еммарина просто не вместится, и что, а главное зачем там Дата крат намутили непонятно).
И еще в инишке не увидел вообще никаких клавиатурных дров считывателя, а они вообще должны быть? или не обязательно?
Клавиатурных - не должны.
---------- Добавлено в 11:19 ---------- Предыдущее сообщение было размещено в 11:03 ----------
Описание fix_len.dll (http://www.carbis.ru/forum/showthread.php?t=5496&p=42175#post42175)
Выпросил образ кассы. поставлю у себя. Считывателя проксиметри конечно нету. но есть сканеры штрих кодов.. да и ШК напечатать не проблема. ркипер сам не запустится а вот с tstfixlen и с маской поиграться думаю.... Вопрос то что покажет tstfixlen как я понимаю то и попадет в сам ркипер? в клиента в смысли и именно этот код и будет запрошен с сервера?
то что покажет tstfixlen как я понимаю то и попадет в сам ркипер?
Да.
именно этот код и будет запрошен с сервера?
Да.
Собственно немного тупой вопрос. А как пользоваться tstfixlen ?
Мои действия. В Autoexec заREMил запуск rkeeper6 и ниже поставил запуск VC . соответственно загружается волков коммандер. tstfixlen(нашел в дистрибутиве) закинул в папку RKCLIENT. запускаю tstfixlen он выдает need parametrs или что-то подобное дословно не запомнил. Вот что за параметры ему нужны? или я возможно что-то не так сделал? На всякий случай прикладываю Autoexec.1609
Что не уж то никто не использовал ее? Или для ее работы обязательно нужен запущенный ркипер?(для меня например это нереально,т.к. во первых нет фискальника Прима, во вторых нету сервера в котором ключ, т.к. вся система у клиента стоит.)
Если просто в ком строке ввести tstfixlen и дальше пробовать ввести код, то он ругается то на Max_Len то на Min_Len.
Что не уж то никто не использовал ее?
Использовал, но не помню, в чем там дело :(
Собственно немного тупой вопрос. А как пользоваться tstfixlen ?
Мои действия. В Autoexec заREMил запуск rkeeper6 и ниже поставил запуск VC . соответственно загружается волков коммандер. tstfixlen(нашел в дистрибутиве) закинул в папку RKCLIENT. запускаю tstfixlen он выдает need parametrs или что-то подобное дословно не запомнил. Вот что за параметры ему нужны? или я возможно что-то не так сделал? На всякий случай прикладываю Autoexec.1609
Наводите в VC курсор на tstfixlen.exe, нажимаете Ctrl + Enter и, либо считываете карту, либо вводите содержимое карты вручную и нажимаете Enter.
Наводите в VC курсор на tstfixlen.exe, нажимаете Ctrl + Enter и, либо считываете карту, либо вводите содержимое карты вручную и нажимаете Enter.
Так я уже пробовал. причем первое что сделал. Он выдает ошибку Number longer Maxlen и ниже False
Вбиваю код вручную с клавы.. код дал клиент его он считал рабочим сканером в блокнот.
Сейчас настраиваю сканер шк(усб, в режиме эмуляции клавы, его запрограмирую так же как и считыватели..т.е. Префикс B и Суфикс FO. И дальше уже распечатаю штрих код без этих префиксов и попробую считать.. хотя получится по сути то же самое, что урками вводить.
Он выдает ошибку Number longer Maxlen
Номер на карте длиннее значения параметра Maxlen. Посчитайте сколько символов Вы вводите и исправьте значения параметра.
и ниже False
Номер карты не удовлетворяет заданным условиям. Карта не распознается системой как дисконтная.
Номер на карте длиннее значения параметра Maxlen. Посчитайте сколько символов Вы вводите и исправьте значения параметра.
Немного не понял какого именно параметра? Maxlen в rkeeper6.ini вообще не указан. его там просто нет. Выше а именно в посте 28 (http://www.carbis.ru/forum/showthread.php?t=1544&page=3&p=42073&viewfull=1#post42073) выкладывал инишник. со всем что там есть.
Если нужно могу выложить образ кассы целиком. сейчас попробую параметр Maxlen поставить
Maxlen в rkeeper6.ini вообще не указан
Значит, он принят по умолчанию - посмотрите инструкцию к fixlen.
Значит, он принят по умолчанию - посмотрите инструкцию к fixlen.
Да я про то же. В принципе разобрался.. В маске символов 15..НО карта(точнее тот код который считывается их сканерами) как я и говорил стостоит из 1 символ префикс (B) далее идет 14 значный код и дальше идет Суфикс (F0) 2 символа.. соответственно тестфикслн не воспринимает 17 значный код. сейчас вбил код без последнего суффикса F0 который. и уже нормально сработало т.е. мне выдал 778=00000000=B35741220 . Вот только ребята говорят что без суффикса F0 по какой то причине ввод кода в ркипере тоже не срабатывает.И самое плохое они говорят, что База закрыта.т.е. какие коды именно крутятся в самой базе не узнать.(но они говорят что точно 9 значные). Сейчас попробую скататься к ним в Буфете который не на территории завода договорюсь, так же тест запущу но код уже не введу вручную а со сканера их.
P.S. такой вопрос еще. в случае если всетаки первый символ B на самом деле нужен. его можно средствами драйвера добавить к считываемому коду? т.к. программируемых считывателей не нашел. а тот что мне выше давали ссылку, мне так ничего и не ответили(по почте), а на телефон не дозвонится.
И самое плохое они говорят, что База закрыта.т.е. какие коды именно крутятся в самой базе не узнать.
Коды чего? Карт? Как не узнать, что за ерунда. Вы про какую "Базу", какие коды?
в случае если всетаки первый символ B на самом деле нужен
Кому? Киперу? Киперу точно не нужен.
Коды чего? Карт? Как не узнать, что за ерунда. Вы про какую "Базу", какие коды?
Это со слов ребят. что там конкретно я не знаю. Но у меня туда чтобы посмотреть доступа точно нет..т.к. пропуска на само предприятие нету. Да и тот же тимвьювер кинуть не дадут.
Так по собственно сабжу. запустил tstfxlen на кассе. провел пропуском итог тот же самый 17 значный код как ребята и говорили и тест маски показывает False но блин в самом ркипере все прекрасно работает.
Дальше притащили считыватель у него сбился суффикс F1 который вместо него 0 итого 16 символов... воткнули.. в ркипере не пашет. запустили тест тоже не пашет соответственно.. я в Маске добавил еще * т.е. теперь Маска 16 значная .. тест собственно заработал. запускаем ркипер.. тоже работает. поменяли считыватель обратно.т.е. тот который 17 значный код передает. итог Работает в кипере в тесте соответственно нет.
Шо там и где наковыряли в Дата крате я уже понять не могу:)
P.S. Еще есть такие данные. Выпросили там ребята 1 код из Pcard (видимо речь шла про эту Базу) 442745410 ... Код который считывается со считывателя(17 значный) B44274541000000F7 в txtfxlen соответственно если не ввести последний символ получаем
Cardnum after mask: B44274541
True
778=00000000=B44274541
Из этого напрашивается Вопрос а где именно отбрасывается символ B и добавляется 0 в конце?
Выше уже как то приводил Fix_Len_Mask=NNNNNNNNN0***** к ней я еще одну * добавил. А вообще образ мне с нее же и дали..т.е. те данные что я из Autoexec и из инишки ркипера приводил все от туда..
Берем для примера B44274541000000F7
Маска NNNNNNNNN0*****
Т.е. значимы первые 9 символов.
Первые десять символов из примера: B44274541
Тест выдает True, потому что пример подходит под маску. Выдает тест все верно.
Далее предположения.
Похоже, что первый символ отбрасывается по простой причине: кипер символы не воспринимает. Но! Длина маски 9 символов, а их становится восемь: вот и добавляется в конце ноль, т.к. AddCard по умолчанию - ноль.
В PCard Ребята говорят что тоже заносят данные этими же считывателями..т.е. с символом (B) в начале. т.е. похоже где-то стоит настройка читать со 2-го символа. Либо там по такой же схеме отбрасывается первый символ B но как там 0 появляется..
Хотя мне до конца непонятно одно
Берем для примера B44274541000000F7
Маска NNNNNNNNN0*****
Т.е. значимы первые 9 символов.
Первые десять символов из примера: B44274541
Тест выдает True, потому что пример подходит под маску. Выдает тест все верно.
Далее предположения.
Похоже, что первый символ отбрасывается по простой причине: кипер символы не воспринимает. Но! Длина маски 9 символов, а их становится восемь: вот и добавляется в конце ноль, т.к. AddCard по умолчанию - ноль.
Заметьте Длинна кода 17 символов, МАСКА всего 15 символов. в ркипер ини если заглянуть то параметров MaxLen и MINLEN НЕТУ а следовательно они равны длинне Маски. Именно по этой причине tstfxlen их не определяет и выдает FALSE но в Ркипере самом они прекрасно работают. Т.е. Почему вообще при маске 15 символов ркипером воспринимается 17 значный код?
Вообще есть одно предположение.. Первоначально ДатаКрат поставил сканеры Synel PRX-KE с клавиатурным разъемом, которые програмируются в досе через гипертерминал вроде(не помню точно) но там была настройка префиксов и суффиксов. если ее просто включить,то Префикс был сразу символом (B) а суффикс в конце (F0) . и изменить их нельзя было. Возможно Дата Крат прямо под них что-то сделали какие-то настройки чтобы чтение шло со 2-го символа, и в конце к Маске 0 прибавлялся. Но как я вас понял Такое сделать невозможно?
Заметьте Длинна кода 17 символов, МАСКА всего 15 символов. в ркипер ини если заглянуть то параметров MaxLen и MINLEN НЕТУ а следовательно они равны длинне Маски. Именно по этой причине tstfxlen их не определяет и выдает FALSE но в Ркипере самом они прекрасно работают. Т.е. Почему вообще при маске 15 символов ркипером воспринимается 17 значный код?
Да потому, что вначале применяется MaxLen, который, как Вы правильно пишите, равен длине маски, и код режется, последние два символа, которые не влезают, просто отбрасываются и маска к ним не применяется.
---------- Добавлено в 15:40 ---------- Предыдущее сообщение было размещено в 15:37 ----------
Я бы поэксперементировал с параметром AddCard, допустим, если его сделать равным "1", то какая карта начнет соответствовать коду в кипере - 442745411 или по-прежнему 44274540. Если первая, то моя догадка насчет отбрасывания символа и дополнения параметром AddCard верна.
---------- Добавлено в 15:41 ---------- Предыдущее сообщение было размещено в 15:40 ----------
В PCard Ребята говорят что тоже заносят данные этими же считывателями..т.е. с символом (B) в начале. т.е. похоже где-то стоит настройка читать со 2-го символа.
Не понял, там им в PCards что попадает? С префиксом "В" или без него?
Не понял, там им в PCards что попадает? С префиксом "В" или без него?
Коды сами в PCard попадают БЕЗ префикса B и дополняются нулем. НО настроены сами сканеры с префиксом B. Т.е. Там тоже существует система Маски как и на кассе и обрезается точно так же ?
По поводу AddCard поэксперементирую попозже, в понедельник уже видимо(только Боюсь что номера карт могут не идти последовательно т.к. Предприятие большое какие-то карты могут просто не использоваться(например человек уволился) Есть ли возможность в самом ркипере увидеть какой номер карты был введен? или он только и будет выкидывать сообщение что карта не найдена и все?). и там же попробую поэксперементировать со считывателем и отключить у него Префикс B, подстроить под него Маску и посмотреть что будет в самом ркипере.
По поводу самой Маски, я так понимаю MaxLen применяется в начале и поэтому MinLen просто не учитывается? хотя он тоже равен Маске.
поэтому MinLen просто не учитывается? хотя он тоже равен Маске.
MinLen не учитывается, потому что равен маске и код не меньше маски.
Т.е. Там тоже существует система Маски как и на кассе и обрезается точно так же ?
Нет, там такой системы нет. Т.е. при прочитывании карты сканером номер отображается уже без префикса и с финальным нулем? Если да, то это настройки сканера.
На счет отображается в момент сканирования не знаю. Попытаюсь выяснить. Но могу точно сказать, что этот же сканер в Блокнот выдает 17 значный код. Однако в Pcard при просмотре человека код всего 9 символов без префикса B, с финальным нулем. И вводился он туда именно этим сканером.
Вот Вы посмотрите своими глазами, чисто на всякий случай.
К сожалению не могу. Пропуск не дадут. И Тимвьювер тоже не подключить из-за строгих политик безопастности. Поэтому и пытаюсь вытянуть всю информацию по максимуму из того что есть.
Вопрос по поводу просмотра кода в самом Ркипере открыт. Как то его можно посмотреть или нет(т.е. только сообщение что карта не найдена или удалена или что-то в этом роде, но без вывода на экран самого кода)?
Я тут просто посмотрел на Маску и проверить AddCard как вы говорите не получится,т.е. сделать его равным 1. т.е. если последний символ будет 1 а не 0 то такой карты ТОЧНО нет в базе. и он мне выкен ошибку. Правда с другой стороны я могу просто попробовать добавить в ркипер ини саму команду AddCard=0 т.е. понятно что она теоретически и так равна 0. Но теперь уже если она будет стоять в инишке добавится у меня еще один лишний 0. или все нормально будет и ркипер человека воспримет с его кодом.
Фиг его знает, я этими параметрами не пользовался никогда, а у Вас там и так заколдованный лес.
Можно распечатать информационный чек по карте, на нем, вроде бы, печатается и номер.
Для этого надо на кассе зарегистрироваться кассиром, а далее, не открывая стола, считать карту. Кажется, так.
Итак.. еще информация. Сам еще не проверял конечно, попробую организовать... проверку. Пока ребята сами проверили и кинули такую информацию:
Ни один считыватель не работает без первой БУКВЫ, причем
- если буквы нет он открывает денежный ящик
- если буква любая кроме B он не реагирует вообще
- если буква = B то все нормально срабатывает
И с Информационным чеком в Ркипере тоже не разобрались. Не разобрались как его вывести.
И с Информационным чеком в Ркипере тоже не разобрались. Не разобрались как его вывести.
Вроде там ничего сложного: регистрируемся кассиром, далее не открывая стол, катаем карту.
Ну вот как они говорят ничего не происходит, при прокатывании карты. Еще раз вопрос задам, который уже задавал ранее. А средствами драйвера(Com который) или fx_len 1-й символ добавить можно к коду со считывателя? в частности B или нет? Если нет то получается нужно дальше копать куда именно используется этот символ B.
Через fix_len ничего добавить нельзя, а вот через comcard.dll, вроде, что-то можно я же выкладывал, посмотрите.
---------- Добавлено в 20:27 ---------- Предыдущее сообщение было размещено в 20:23 ----------
"ComCardAdd = // строка, добавляемая в начало кода карты"
Через fix_len ничего добавить нельзя, а вот через comcard.dll, вроде, что-то можно я же выкладывал, посмотрите.
---------- Добавлено в 20:27 ---------- Предыдущее сообщение было размещено в 20:23 ----------
"ComCardAdd = // строка, добавляемая в начало кода карты"
Спасибо. Еще 2 вопроса.. 1 из них тупой.
1) (он же тупой) Для подключения сканера через COM порт достаточно в ркипер ини следующие значения?
ComCardPort = 3 (ну либо 4-й не помню если честно какой там свободен)
ComCardType = 1(в моем случае именно 1 как я понимаю,из-за этого злосчастного символа в начале строки)
ComCardAdd = B (Тут немного не разобрался, т.е. писать просто символы которые будут добавлятся? или их в " включать)
ComCardRS = 0
И собственно вопрос помимо ркипер ини в autoexec.bat ничего больше добавлять не нужно?
2) Каким образом можно будет проверить в tstfxlen Комовский сканер? это я к тому что работать будет(если не вносить данные в autoexec.bat)
Буду пробовать тестировать Комовский сканер ШтрихКода(если не ошибаюсь для этого нужно ComCard.dll переименовать в Barcode.dll, ну и сами настройки тоже переименовать) у себя сначала. и если символ B добавится безпроблемно то уже поеду к клиенту с этим же сканером и протестирую на кипере. И уже потом буду заказывать сами считыватели.
И собственно вопрос помимо ркипер ини в autoexec.bat ничего больше добавлять не нужно?
Вроде бы так.
2) Каким образом можно будет проверить в tstfxlen Комовский сканер? это я к тому что работать будет(если не вносить данные в autoexec.bat)
Буду пробовать тестировать Комовский сканер ШтрихКода(если не ошибаюсь для этого нужно ComCard.dll переименовать в Barcode.dll, ну и сами настройки тоже переименовать) у себя сначала. и если символ B добавится безпроблемно то уже поеду к клиенту с этим же сканером и протестирую на кипере. И уже потом буду заказывать сами считыватели.
Да, будет работать, должен протестироваться.
В общем вбил в ини
BarCodePort=1(других портов в компе просто нету, все что связано в 1 портом, там фискальник висел все закоментировал и в ини и в autoexec)
BarCodeType=1
BarCodeRS=0
Barcode.dll закинул в Extens сначала, вбил в строке tstfxlen и соответственно сканирую шк, сам сканер пикает, т.е. считывание происхдит, но как и предполагалось ничего не выводится.
Всетаки что-то должно быть в autoexec.bat прописано помоему. Ведь как Дос знает что у меня на 1 коме висит сканер?Сам Ркипер ведь у меня не грузится. Или сканер как то настроен должен быть к примеру в режиме светового пера?
пробовал эту длл закинуть и в RkClient и в корень диска. ничего не происходит.
P.S. Нашел в корне RK клиента утилиту UseCard Она обращается к COMCARD.dll и при запуске этой утилиты она обращается на 1 ком порт.(со сканера шк данные она не получает, сейчас попробую с настройками еще покопаться) . Эта утилита как я понимаю для магнитных кард. Если длл переименовать в BarCode то UseCard ее не видит.собственно вопрос а нет ли чего-то подобного для сканера ШК как раз?
Ведь как Дос знает что у меня на 1 коме висит сканер?
Никак. Это - ДОС. Ком-порт по умолчанию просто работает. ДОСу пофиг, что именно там висит, в ДОСе прямой доступ к оборудованию.
В общем вбил в ини
BarCodePort=1
А пробовали не переименовывать и использовать как Comcard?
Никак. Это - ДОС. Ком-порт по умолчанию просто работает. ДОСу пофиг, что именно там висит, в ДОСе прямой доступ к оборудованию.
Вот об этом и речь, что по сути никакая программа не обращается к этому оборудованию.
А пробовали не переименовывать и использовать как Comcard?
Да пробовал. тоже ничего нету. А вот UseCard по крайней мере запускается если имя ComCard.dll(как я понимаю по крайней мере при запуске UseCard идет ожидание данных с COM1).
В Теме (http://www.carbis.ru/forum/showthread.php?t=2584&page=7&p=40808&viewfull=1#post40808) у ovp тоже что-то не получалось с картами шк работать и в посте 66 он пишет что в UCS сказали карту прокатывать после запуска CHMCKBD.EXE . Вот этого я если честно не пробовал. Но как я понял из его коментариев у него и так все работало.
P.S. При запуске UseCard она показала версию длл 6.01
Вот об этом и речь, что по сути никакая программа не обращается к этому оборудованию.
Не так: программа, которая будет обращаться к ком-порту так, как будто на нем висит сканер, получит доступ к этому сканеру, при условии, что этот сканер, конечно, есть :)
Я, если честно, по теории уже все сказал, что мог. Подключал когда-то сканер для использования карт как дисконтных - никаких проблем не было. Использовал comcard и все, без вопросов.
Не так: программа, которая будет обращаться к ком-порту так, как будто на нем висит сканер, получит доступ к этому сканеру, при условии, что этот сканер, конечно, есть
Так в том то и дело получается что я никаких программ не запускаю. tstfxlen я просто ввожу в строку и пытаюсь сканировать считывателем карту. чтобы потом уже нажать Enter. Т.е. раньше я проверял как просто ввожу tstfxlen и дальше через пробел ввожу номер карты вручную и жму enter и тест срабатывает. а здесь сканер ведь не в режиме клавиатуры чтобы сразу вывести(напечатать) в строку считанный код.
Я не уверен, что tstfxlen должен работать с com-портом...
Понятно. Ладно попробую поковыряться с UseCard и если не получится то уже придется договариваться и на живой кассе в самом ркипере тестировать.
И так в useCard у меня всетаки пошли данные со считывателя... и прекрасно работает команда ADD т.е. в начале добавляется символ B. Приехал к ребятам на завод.. воткнул все тоже у них.. в досе прекрасно пашет. а Вот в самом Ркипере нет..т.е. считываю код и вообще ничего не происходит. Бывает правда на экране что-то чуть чуть моргнет в момент считывания.. и тишина.
И еще если считать карту(с рабочего считывателя) сразу после того как зашли под кассиром то выдает сообщение Нет дисконтной программы или что-то в таком духе. а если считать через комовский считыватель ничего не происходит.
P.S. Единственное что я забыл попробовать это переименовать ComCard в BarCode. Но помоему ведь ошибку то хоть какую-то он должен был выкинуть.
Может какие-то суфиксы или префиксы нужны? у меня сканер выдает просто голый код. без суффикосов и префиксов. И еще такой момент после регистрации кассира никакой регистрации стола нету.т.е. идет сразу ввод товара и все.
после регистрации кассира никакой регистрации стола нету.т.е. идет сразу ввод товара и все.
Понятно, это режим фаст-фуда.
Надо попробовать в rkeeper6.ini прописать следующий параметр:
ShowCardInfo=ON
Тогда можно будет снимать инфу с карты на экране регистрации.
Только у меня сейчас нет времени поискать, с какой версии кассы это работает.
Есть еще WaiterCardInfo=ON, но он для станции официанта.
---------- Добавлено в 14:27 ---------- Предыдущее сообщение было размещено в 14:22 ----------
выдает сообщение Нет дисконтной программы или что-то в таком духе
Вы в следующий раз ошибку точно записывайте.
и вообще ничего не происходит.
А что должно было произойти? Стол пустой был или с товаром? Раздел скидок открывали, смотрели?
ShowCardInfo=ON
Если не ошибаюсь данный параметр уже стоит.
WaiterCardInfo=ON
попробуем
Вы в следующий раз ошибку точно записывайте.
Постараюсь. как только там появлюсь запишу.
А что должно было произойти? Стол пустой был или с товаром? Раздел скидок открывали, смотрели?
И с товаром и без. Т.е. если на ps\2 ,когда товара нет он выкидывает ошибку(которую уточню в сл. раз), а если есть товар то регистрируется карта нормально. То на комовском сканере штрих кода ни с товаром ни без него ничего не происходит. А по поводу скидок я даже без понятия где это смотреть.
p.s. Позвонил в UCS заказал считыватель комовский(на свой страх и риск) и паралельно задавал вопросы, они тоже говорят что у вас как то все странно работает и запросили, какой код ресторана в System.db. Договорились, что я у клиента попрошу этот файл и им вышлю. Связался с клиентом. мне сказали что у них вообще нет этого файла.
VampireKB
24.02.2012, 20:41
выдает сообщение Нет дисконтной программы или что-то в таком духе
Вы в следующий раз ошибку точно записывайте.
нет связи с сервер карт :) (либо cardserver выключен,либо просто не существует :))
нет связи с сервер карт (либо cardserver выключен,либо просто не существует )Нет в том то и дело что там что-то про дисконтную систему написано было. Извиняюсь за тупой вопрос,т.к. еще не в теме а Cardserver и Pcard это не одно и то же?
Блин 3-й проэкт который после Датакртовцев разгребаю, 2 на Кристале и теперь этот на Ркипере. Что-то мне эти товарищи все меньше и меньше нравятся.
Если не ошибаюсь данный параметр уже стоит.
Ну, в том инишнике, который Вы выкладывали, его нет.
А по поводу скидок я даже без понятия где это смотреть.
Там есть кнопка "Скидки". Нажимаете ее и смотрите, какие скидки назначены в чеке. После проведения карты должна появится новая.
Связался с клиентом. мне сказали что у них вообще нет этого файла.
Клиент гонит 100%, точнее, клиент тупо не в теме. Без этого файла сервер не стартанет. Файл лежит на сервере в DATABASE, надо брать именно оттуда, а не из дистрибутива, там чистый с пустым кодом ресторана.
---------- Добавлено в 00:11 ---------- Предыдущее сообщение было размещено в 00:09 ----------
Извиняюсь за тупой вопрос,т.к. еще не в теме а Cardserver и Pcard это не одно и то же?
Нет, но это части одной системы. Cardserver - это собственно сервер базы данных по картам, отвечающий на запросы клиентов. Клиентом может быть касса, терминал официанта, Отчеты или PCards. PCards, собственно - интерфейс для работы с базой данных по картам.
---------- Добавлено в 00:26 ---------- Предыдущее сообщение было размещено в 00:11 ----------
Блин 3-й проэкт который после Датакртовцев разгребаю, 2 на Кристале и теперь этот на Ркипере. Что-то мне эти товарищи все меньше и меньше нравятся.
Отдать нам сканер, одну карту - все настроим, сдадим рабочую конфигурацию. Даже сильно много денег не возьмем.
Ну, в том инишнике, который Вы выкладывали, его нет.
Прошу прощения в том файле который до этого файл который выкладывал это был просто копипаст от клиентов реально там вот этот файл 1635. Но в нем строчка ShowCardInfo=ON закоментирована. На кассе просто при выходе в Дос 1-й символ не видно, поэтому видимо и не заметил, что он закоментирован. Как у них буду попробую убрать.
Там есть кнопка "Скидки". Нажимаете ее и смотрите, какие скидки назначены в чеке. После проведения карты должна появится новая.
Немного не понял Где Там? в Ркипере на вкладке Меню? Или где?(спрашиваю на тот случай чтобы если не сам поеду,клиента самого заставить найти, и чтобы он сразу туда ткнул)
Клиент гонит 100%, точнее, клиент тупо не в теме. Без этого файла сервер не стартанет. Файл лежит на сервере в DATABASE, надо брать именно оттуда, а не из дистрибутива, там чистый с пустым кодом ресторана.
Из Тех Тем что я тут перерыл на форуме про System.db и вообще организацию серверной части, я это тоже понял. Вот только решение на этом заводе было не стандартное, куда именно там сливаются данные для обрабоки и как, я тоже не знаю. Т.к. там есть центральная База данных предприятия в котором идет обработка сколько человек наел за месяц и сколько у него списать с Зарплаты. данная система самописная програмистами самого предприятия и где и каким образом она стыкуется с системой ркипера, я не знаю. Да и уже зная что могут намутить Датакратовцы по прошлым проэктам я бы не стал зарекаться что вот именно 100 процентов данный файл там есть. В одном из проэктов(на кристале который был) вообще небыло сервера как такового, т.е. отчеты по продажам никуда не сгружались загрузки не откуда небыло вся База лежала просто на кассе и вручную через какую-то там утилитку правилась. Единственное что там было именно автоматизировано это работа с картами(тобишь пропусками там тоже предприятие было), тоже через утилитку, которая никакого отношения не имела к Кристалу. И по сути клиент тупо получил автономные кассы и ВСЕ, ни аналитики ни отчетов вообще ничего Из отчетов только X и Z c фискальников. Вот я боюсь как бы тут чего-то похожего небыло.
Но на всякий случай с каких-то инишников можно выдернуть расположение System.db? (как клиент говорит local.db тоже нету). И еще я в начале писал где-то, что там в каждой столовой есть свой сервер и потом данные(какие именно не понятно) идут на центральный. System.db на центральном искать? или на том который в столовой?
Отдать нам сканер, одну карту - все настроим, сдадим рабочую конфигурацию. Даже сильно много денег не возьмем.
А вот тут так не получится, во первых сканеров рабочих "лишних" у них нет, во вторых скорее всего нужно именно локально смотреть и разбираться как все настроено(останавливать работу всех столовых и буфетов никто не даст они круглосуточно работают). А вот тут загвоздка с пропуском на завод. Я им предлагал Спецов с УЦС вызвать командировку оплатить и т.д. и организовать пропуск. Пока ответа так и не получил.
Немного не понял Где Там? в Ркипере на вкладке Меню? Или где?(спрашиваю на тот случай чтобы если не сам поеду,клиента самого заставить найти, и чтобы он сразу туда ткнул)
Когда в чеке находитесь на кассе, есть кнопка "Скидки".
Вот только решение на этом заводе было не стандартное, куда именно там сливаются данные для обрабоки и как, я тоже не знаю.
Как бы организовано не было, сервер в любом случае есть, папка database на нем тоже точно есть и есть и system.db и local.db. То, что клиент не может их найти - это другой вопрос.
Но на всякий случай с каких-то инишников можно выдернуть расположение System.db?
Из инишников - нет, путь к database прописан в local.db, обычно это подпапка в той папке, где Local.db лежит.
И еще я в начале писал где-то, что там в каждой столовой есть свой сервер и потом данные(какие именно не понятно) идут на центральный. System.db на центральном искать? или на том который в столовой?
У Вас в каждой столовой сервер, и на каждом сервере system.db. Возможно, у каждого сервера - свой.
А вот тут так не получится, во первых сканеров рабочих "лишних" у них нет
Я, если честно, думал про тот, который Вы заказали в UCS. Почему у них? Заказали бы у нас :)
во вторых скорее всего нужно именно локально смотреть и разбираться как все настроено(останавливать работу всех столовых и буфетов никто не даст они круглосуточно работают).
Нет, достаточно иметь карту и сканер.
Когда в чеке находитесь на кассе, есть кнопка "Скидки". Если честно то не видел. Вообще в Досе кнопок не видел. а на Проагрмируемой клаве ее просто нету.
У Вас в каждой столовой сервер, и на каждом сервере system.db. Возможно, у каждого сервера - свой. Вот я про это и думаю что Ребята там на заводе смотрели только на основном сервере, а не в столовых. В понедельник буду выяснять.
Я, если честно, думал про тот, который Вы заказали в UCS. Почему у них? Заказали бы у нас
Нет, достаточно иметь карту и сканер.
Ответил в ЛС
а на Проагрмируемой клаве ее просто нету.
А, там клава. А какая? Кнопка "Скидки/наценки" должна быть.
SH респект ( ..... у меня уже давно бы терпение закончилось - ну после предложения платной помощи в посте №81 уж точно ....)
OFF
интерактивное обучение мля.... посмотрим на сколько тебя хватит (походу тут надолго тема).....
OFF
интерактивное обучение мля.... посмотрим на сколько тебя хватит (походу тут надолго тема).....
SH на самом деле достоин уважения. А Вы я смотрю вообще все знаете про все железо, и про все ПО которое есть на рынке Автоматизации. и чтож Вы тогда на форуме делаете? Идите и проходите обучение на ВСЕ железо И на ВСЕ ПО, получайте сертификаты, клейте на стену и гордитесь ими. Мне обучение именно как таковое не нужно, т.к. я НИКОГДА не буду ставить систему ркипера у клиента. На данный момент я пытаюсь разобраться в проблеме, решение которой мне точно не оплатят.. причем пытаюсь я ее решить не видя ни клинтской части ркипера(на данный момент я ее видел аж целых 2 раза) ни серверной(вообще не видел). По Ркиперу знаю только то что вычитал на этом форуме(поэтому тут помощи и просил) и то что подсказал SH. Если получится клиента раскрутить на деньги(в чем я сомневаюсь), для решения проблемы, и оплатить работы товарищу SH. То ради Бога. Мне лично будет только жаль своего попросту убитого на них времени.
А вам товарищь Andy, я рекомендую поработать или сисадмином или в любой службе тех.поддержки. Терпения Дофига наберетесь, причем так что никогда кончатся не будет.
P.S. сори за офф.
ray-mp
:drinks:
можно я даже отвечать не буду? ты практически по всем пунктам угадал .... без обид ладно? реально спасибо, в тех поддержку меня давно не посылали ..... :)
офф
ray-mp
:drinks:
можно я даже отвечать не буду? ты практически по всем пунктам угадал .... без обид ладно? реально спасибо, в тех поддержку меня давно не посылали ..... :) 5 балов!
SH, я восхищен! Удалять аппендицит по телефону с зубным техником, который управляет руками слесаря-сантехника!
Но, все же я надеюсь, что у вас с ray-mp получится прикрутить и заставить работать этот сканер карт.
superyura
10.01.2013, 20:36
У кого нибудь получилось заставить работать считыватель
EMR01-PS/2
Все делаю по инструкции, в досе работает, ccex оба варианта, захожу в утилиту chkmbd пишет:
key: 600 0258 0
key: 600 0258 0
key: 601 0259 1
key: 600 0258 0
key: 602 025a 2
key: 606 025e 6
key: 609 0261 9
key: 607 025f 7
key: 609 0261 9
key: 607 025f 7
key: 28 001c
Перекодировки в утелите не происходит. Драйвер под клавиотуру есть новее 2002 года? Ни чего новее не могу найти.
На этом все заканчивается. Под кипером выходят 10 значная цифра (самые последние). Оборудование дали на тестирование с UCS нет времени ждать ответа. Дополнительный вопрос, в инишнеке надо прописывать или нет? Все делал по вышеуказанной инструкции. С комовским нет проблем, но хочется под клавиатурный вход.
Помогите если возможно. Плиз. Всех с наступившим Новым годом и Рождеством Христовым.
Powered by vBulletin® Version 4.2.6 LTS Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot