Страница 9 из 12 ПерваяПервая ... 56789101112 ПоследняяПоследняя
Показано с 81 по 90 из 118

Тема: DLL для FarCards. R-Keeper

  1. #81
    Разбирающийся Аватар для VampireKB
    Регистрация
    27.03.2007
    Адрес
    Moscow City
    Сообщений
    2,854
    Поблагодарил(а)
    0
    Благодарностей: 17 (сообщений: 11)
    Ошика в фаркарде-это ошибка работы внешнего модуля. Я ,работая с РК7 при помощи фаркардз 5, получал все данные корректно, за исключением бонусов, которые корректно работают только в 6.02
    Хотите БЕСПЛАТНЫЙ кипер ? http://www.techrk.ru/?cat=17
    Также доступен ФТП !! ftp://techrk.ru
    Теперь возможно произвести покупку ПО через терминалы Qiwi.Подробности на сайте

  2. #82
    Разбирающийся
    Регистрация
    14.12.2009
    Адрес
    Красноярск
    Сообщений
    148
    Поблагодарил(а)
    0
    Благодарностей: 5 (сообщений: 3)
    Параллельно разбираюсь со связью 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 чтобы заработало?

  3. #83
    Новичок
    Регистрация
    02.06.2017
    Адрес
    Тверь
    Сообщений
    3
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)
    Добрый день!
    Имеем задачу, схожую с задачей ТС - а именно "подружить keeper с собственной бонусной системой".
    Есть farcards, написала dll с необходимыми функциями - farcards подключается, пишет, что dll готова к работе, но как только запускаем кипер и пробуем провести картой (это делает специалист по настройке, не из нашей конторы, я ему попросту отдала dll, поэтому не могу быть уверена, что он верно все настроил со стороны keeper'a) - возвращается ответ "Карта не найдена", логи моей dll не пишутся, из чего делаю вывод, что до ее вызова не доходит. В логах же Farcards имеются следующие строки
    Код:
    call GetCardInfoEx (,,,,,437,1,,,)
    code: 12...
    Хотелось бы понять, что происходит.
    Почему не доходит до вызова функций dll?
    Почему, судя по логам, из всех параметров функции заполенны только InpLen и InpKind?
    Что такое code: 12... ?

    Буду благодарна за помощь.

  4. #84
    ТВОРЕЦ СЧАСТЬЯ Аватар для SH
    Регистрация
    29.11.2006
    Сообщений
    18,069
    Поблагодарил(а)
    481
    Благодарностей: 192 (сообщений: 165)
    Кипер какая версия?
    Надо для начала смотреть, отдается ли в настройках номер карты на Вашу dll.
    Алексей Аркадьев

    Когда заказчик ищет волшебника, то чаще всего он находит сказочника.
    Если у Вас есть вопрос по поддержке - напишите его на форуме, я обязательно отвечу, если знаю ответ.
    Если Вам нужны какие-то файлы, пишите на почту: support@carbis.ru, но вначале посмотрите в разделе для скачивания.
    Для коммерческих вопросов:
    +7 (495) 740-49-91, или на почту: sales@carbis.ru

  5. #85
    Новичок
    Регистрация
    02.06.2017
    Адрес
    Тверь
    Сообщений
    3
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)
    Цитата Сообщение от SH Посмотреть сообщение
    Кипер какая версия?
    Надо для начала смотреть, отдается ли в настройках номер карты на Вашу dll.
    Как я писала выше
    Цитата Сообщение от Александра Якименко Посмотреть сообщение
    логи моей dll не пишутся, из чего делаю вывод, что до ее вызова не доходит.
    Судя по всему пишутся ошибки Farcards

    Про версию кипера уточню.

  6. #86
    Новичок
    Регистрация
    02.06.2017
    Адрес
    Тверь
    Сообщений
    3
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)
    Версия R-Keeper 7.5 7.75.
    По словам тестирующего - при работе с другой библиотекой запрос выглядит так же
    Код:
    call GetCardInfoEx (,,,,,437,1,,,)
    , но не выдается код ошибки 12, ф-я отрабатывает.
    Есть ли возможность увидеть более подробные логи? Или узнать значение кода ошибки 12? Пока непонятно, куда копать...

  7. #87
    Разбирающийся
    Регистрация
    18.10.2012
    Адрес
    Новосибирск, Омск
    Сообщений
    5,362
    Поблагодарил(а)
    188
    Благодарностей: 461 (сообщений: 364)
    в 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

  8. #88
    Новичок
    Регистрация
    28.06.2017
    Адрес
    Almaty
    Сообщений
    6
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)
    Добрый день, у нас возникла проблема с 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

  9. #89
    Новичок
    Регистрация
    28.06.2017
    Адрес
    Almaty
    Сообщений
    6
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)
    также интересно , что из Ркипера в фаркардс приходит только номер карты,стальные поля не заполняются.

  10. #90
    Разбирающийся
    Регистрация
    18.10.2012
    Адрес
    Новосибирск, Омск
    Сообщений
    5,362
    Поблагодарил(а)
    188
    Благодарностей: 461 (сообщений: 364)
    Все приходит там приходит нужно только взять...
    Судя по коду вы пишите на Си. Значит и структуры данных у вас описаны типами Си.

    Есть различия (по размеру занимаемой памяти) м/у вроде бы одинаковыми типами переменных в Си и Паскале.

    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

Похожие темы

  1. Rk7 + Farcards 4.*
    от VampireKB в разделе Скидки и дисконтные системы в R-Keeper 7
    Ответов: 2
    Последнее сообщение: 26.09.2012, 22:53
  2. GetCardInfo и FarCards
    от Fromru в разделе Персональная Дисконтная Система (ПДС)
    Ответов: 2
    Последнее сообщение: 30.05.2011, 14:15
  3. FarCards ошибка
    от vgik в разделе Персональная Дисконтная Система (ПДС)
    Ответов: 4
    Последнее сообщение: 18.01.2010, 16:27

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •