[ОТВЕТИТЬ]
Опции темы
26.06.2016 17:28  
Alexei
При прокатывании ДК с магнитной полосой через ридер появляется окно с надписью "Неверная карта". Если сначала нажать кнопку "Скидка" и в появившемся окне запроса номера карты прокатать карту через ридер, то появляется окно с надписью "Дисконтная карта ',,' не обслуживается".
Такое происходит не на всех картах. Меня смутил номер карты ',,'. Включил расширенный лог для мониторинга клавиатуры в ukm.ini:
Код:
UKM_OPTIONS='--log-add=ckeyboardportstandard'
В логах:
Код:
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r65
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r60
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r42
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r49
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r44
15:19:14: 0x00004000: WARNING: debug#/usr/local/storage/home/ukm/build-br-71-2016_06_20_17_43_54/ukm/libukm/ccontext_default.cpp(4051) HandleMCR: Неверная карта
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r65
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r60
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r42
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r48
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r30
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r31
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r35
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r40
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r40
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r40
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r40
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r40
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r40
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r40
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r03
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r40
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r03
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r09
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r08
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r09
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r0f
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r0c
15:19:14: 0x0004c010: INFO: ckeyboardportstandard: r44

Красным цветом выделено то, что соответствует номеру карты: 0000000303989 (похоже, что r40 - это 0).
Если прокатать карту через ридер, подключенный в разъем клавиатуры на компе, то выглядит все правильно ;0000000303989? (да и в УКМ2 работает).
На картах, которые работают нормально, в логах отсутствует первая часть r65 r60 r42 r49 r44 (до WARNING ... HandleMCR: Неверная карта)
Похоже, что УКМ рассматривает r44 (выделено зеленым цветом) как конец данных и пытается получить номер ДК. Пробовал в шаблоне менять номера дорожек на 1 и 3 с соответствующими префиксами, но это ничего не дало. Менял шаблон так, что после символа ';' все остальное - номер карты, но все равно получал окно "Дисконтная карта ',,' не обслуживается". Подозреваю, что карта криво намагничена.
Может быть, как-то можно сделать так, чтобы r44 был частью префикса в шаблоне?
 
27.06.2016 03:18  
whitewizard
Шаблон покажи
 
27.06.2016 09:07  
Alexei
Скриншот
Нажмите на изображение для увеличения
Название: template.png
Просмотров: 37
Размер:	31.4 Кб
ID:	7548
Шаблон: ;<длина от 4 символов>?<длина от 0 символов>
Номер карты: $2

Последний раз редактировалось Alexei; 27.06.2016 в 09:12. Причина: Плохой скриншот
 
27.06.2016 11:12  
whitewizard
1. Если карта магнитная, то зачем включена клавиатура в шаблоне?
2. ;<длина карты>?<длина от 1 символа>
 
27.06.2016 11:58  
Alexei
Цитата:
Сообщение от whitewizard
1. Если карта магнитная, то зачем включена клавиатура в шаблоне?
2. ;<длина карты>?<длина от 1 символа>
1. Убрал галки с клавиатуры и сканера, оставил только вторую дорожку.
2. Сделал так.
По-прежнему "Неверная карта".
 
27.06.2016 12:03  
winmasta
у меня в шаблоне Номер карты - ;$0?, попробуйте по аналогии, например ;$2? или вообще шаблон переделать
 
27.06.2016 12:04  
whitewizard
Поставь $0 вместо $2 и посмотри, что он вообще читает
 
27.06.2016 12:04  
winmasta
Картинка для наглядности. Записано на магнитной полосе ;999xxx999? или ;999xxxx999?
Миниатюры
Нажмите на изображение для увеличения
Название: 1.jpg
Просмотров: 34
Размер:	261.4 Кб
ID:	7549  
 
27.06.2016 12:56  
Alexei
Цитата:
Сообщение от whitewizard
Поставь $0 вместо $2 и посмотри, что он вообще читает
Получается, что читает ',,' (две запятые)
Если провести "хорошей" картой, то читает ',;0000000319706?>,'.
 
27.06.2016 13:30  
whitewizard
На картах вообще ничего не записано на второй дорожке? Или что?
 
 


Опции темы



Часовой пояс GMT +3, время: 16:48.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.