Ошика в фаркарде-это ошибка работы внешнего модуля. Я ,работая с РК7 при помощи фаркардз 5, получал все данные корректно, за исключением бонусов, которые корректно работают только в 6.02
Ошика в фаркарде-это ошибка работы внешнего модуля. Я ,работая с РК7 при помощи фаркардз 5, получал все данные корректно, за исключением бонусов, которые корректно работают только в 6.02
Хотите БЕСПЛАТНЫЙ кипер ? http://www.techrk.ru/?cat=17
Также доступен ФТП !! ftp://techrk.ru
Теперь возможно произвести покупку ПО через терминалы Qiwi.Подробности на сайте
Параллельно разбираюсь со связью r-keeper и gamekeeper. Т.е. использование gk карт в качестве бонусных на кассах рк. Это работает с farcard 5.07 и R-keeper 7.5.7.65. Причем только с фаркард 5.07 это работает. С 6-ым не работает.
GKdllFARCARD.jpg
Т.е. схема farcard 5.07 + rk 7.5.7 рабочая. Что подкрутить в другой внешней dll чтобы заработало?
Добрый день!
Имеем задачу, схожую с задачей ТС - а именно "подружить keeper с собственной бонусной системой".
Есть farcards, написала dll с необходимыми функциями - farcards подключается, пишет, что dll готова к работе, но как только запускаем кипер и пробуем провести картой (это делает специалист по настройке, не из нашей конторы, я ему попросту отдала dll, поэтому не могу быть уверена, что он верно все настроил со стороны keeper'a) - возвращается ответ "Карта не найдена", логи моей dll не пишутся, из чего делаю вывод, что до ее вызова не доходит. В логах же Farcards имеются следующие строки
Хотелось бы понять, что происходит.Код:call GetCardInfoEx (,,,,,437,1,,,) code: 12...
Почему не доходит до вызова функций dll?
Почему, судя по логам, из всех параметров функции заполенны только InpLen и InpKind?
Что такое code: 12... ?
Буду благодарна за помощь.
Кипер какая версия?
Надо для начала смотреть, отдается ли в настройках номер карты на Вашу dll.
Алексей Аркадьев
Когда заказчик ищет волшебника, то чаще всего он находит сказочника.
Если у Вас есть вопрос по поддержке - напишите его на форуме, я обязательно отвечу, если знаю ответ.
Если Вам нужны какие-то файлы, пишите на почту: support@carbis.ru, но вначале посмотрите в разделе для скачивания.
Для коммерческих вопросов:
+7 (495) 740-49-91, или на почту: sales@carbis.ru
Версия R-Keeper 7.5 7.75.
По словам тестирующего - при работе с другой библиотекой запрос выглядит так же
, но не выдается код ошибки 12, ф-я отрабатывает.Код:call GetCardInfoEx (,,,,,437,1,,,)
Есть ли возможность увидеть более подробные логи? Или узнать значение кода ошибки 12? Пока непонятно, куда копать...
в farcard.ini в секции [FarServer] прописать параметр Log = 3 (3 это max уровень)
И кстати, FarCard какой версии используется?
Ильин Александр, Компания "Соттос"
г Новосибирск +7 (383) 373-96-98; +7 (909) 533-93-92; nsk@sottos.ru
г Омск +7 (3812) 377-902; +7 (905) 098-92-06; abc@sottos.ru
www.sottos.ru | vk.com/sottos | fb.com/sottosru
Продажа и установка ПО R-Keeper, обучение, техническая поддержка 24/7
Добрый день, у нас возникла проблема с farcards 6.04 .
Мы написали для нее dll - ку .
Метод GetCardInfoEx вызывается , в нем заполняем структуру ,
но Rkeeper не получает ответа от farcards по данным структуры, а только возвращается номер карточки.
лог farcads
28.06.17 14:03:25.014 185.97.112.243, __UNIT01 > QOneCard
28.06.17 14:03:25.014 Card: 1001, Rant: 1, Unit: 1
28.06.17 14:03:25.014 OptKind: 1, Size: 648 -> 1029
28.06.17 14:03:25.014 call GetCardInfoEx(,,,,, InpLen = 1029, InpKind = 1,,,)
28.06.17 14:03:25.014 To cache 1001 1 1 -> 0 0
28.06.17 14:03:25.014 Account: 0, PersonID: 0, Status: Active
28.06.17 14:03:25.014 Balance: 0,00, Discount: 0, Bonus: 0, DiscLimit: 0,00
28.06.17 14:03:25.014 Account: 0, PersonID: 0
28.06.17 14:03:25.029 185.97.112.243, __UNIT01 > CQGetImage
28.06.17 14:03:25.029 Card: 1001, NoDos: 0...
28.06.17 14:03:25.029 ... Packed size: 0
пример кода в методе GetCardInfoEx
Код:int GetCardInfoEx(int64_t Card, int64_t Restaurant, DWORD UnitNo, Info *info, char *InpBuf, DWORD InpLen, WORD InpKind, const char *OutBuf, DWORD OutLen, WORD OutKind) { //loadDataBase(); std::ofstream outfile("loyal.txt"); outfile << "Card: " << Card << std::endl; outfile << "Restaurant: " << Restaurant << std::endl; outfile << "UnitNo: " << UnitNo << std::endl; //if (InpBuf) { // outfile << "InpBuf: " << InpBuf << std::endl; //} outfile << "InpLen: " << InpLen << std::endl; outfile << "InpKind: " << InpKind << std::endl; outfile.close(); info->size = 1164; info->owner_id = 1; info->card_owner= "Maximus\0"; info->access_amount = 0; info->bounus_num = 1000; info->discount_num = 10; info->acces_amount2 = 0; info->access_amount3 = 0; //info->access_amount4 = 0; //info->access_amount5 = 0; //info->access_amount6 = 0; //info->access_amount7 = 0; info->account_number = Card; //info->not_pay_type = 2; //info->max_discount = 1000; //info->screen_comment = "\0"; //info->comment = "\0"; //info->access_amount8 = 100; //info->blocked = 0; //string test2 = "test2"; //info->block_reason = test2.c_str(); //info->deleted = 0; //info->expired = 0; //info->manager_confirm = 0; //info->nedd_withdraw = 0; info->not_valid = 0; //info->printer_comment = "\0"; //OutKind = 101; return 0; }
все поля разкоменчивали , все равно ничего не меняется.
результат в RKeeper
Screenshot from 2017-06-28 14-03-27.png
также интересно , что из Ркипера в фаркардс приходит только номер карты,стальные поля не заполняются.
Все приходит там приходит нужно только взять...
Судя по коду вы пишите на Си. Значит и структуры данных у вас описаны типами Си.
Есть различия (по размеру занимаемой памяти) м/у вроде бы одинаковыми типами переменных в Си и Паскале.
FarCard написан на Delphi, соответственно типа дынных Паскалевские.
Я как то пытался это победить (корректно описать структуру типами данных Си) и по итогу плюнул и перевел проект на Delphi. Тогда дело пошло...
Что касается GetCardInfo - проблема у вас такая же. Заполняя структуру вы "промазываете" в памяти и когда эта структура приходит в FC он ее криво разбирает и в итоге криво отображается инфа на кассе.
Ильин Александр, Компания "Соттос"
г Новосибирск +7 (383) 373-96-98; +7 (909) 533-93-92; nsk@sottos.ru
г Омск +7 (3812) 377-902; +7 (905) 098-92-06; abc@sottos.ru
www.sottos.ru | vk.com/sottos | fb.com/sottosru
Продажа и установка ПО R-Keeper, обучение, техническая поддержка 24/7