Настройка связи CRM 5 c RK7
Вводная информация
Связь систем R-Keeper CRM 5 и R-Keeper v7 осуществляется посредством ретранслятора карт Farcards.
Основные положения
- приложение Farcards должно быть настроено для работы в режиме "1" (использование внешней DLL)
- в качестве внешней DLL используется CardSystem5_RK7.dll из дистрибутива R-Keeper CRM
- для связи с кассовым сервером R-Keeper v7 необходимо настроить интерфейс с ПДС и прописать сетевое имя FARCARDS в менеджерской станции R-Keeper v7
Схема взаимодействия приложений
Рис. Схема связи приложений в R-Keeper CRM 5
Возможны два варианта взаимодействия без использования репликации:
- Развернуть в локальном ресторане транзитный сервер авторизации, настроив его на работу с центральной базой данных. Кассовый сервер через фаркардс связывается с данным транзитным сервером в этом же ресторане;
- Настроить связь кассового сервера в локальном ресторане с основным сервером авторизации в центре через Farcards
Системные требования
На объекте должно быть установлено, сконфигурировано и запущено следующе ПО:
- R-Keeper версии 7.5.3.ххх и выше
- R-Keeper CRM актуальной версии
Настройка ретранслятора карт Farcards
Скопировать и распаковать в отдельный каталог (например D:\UCS\Farcards\) с FTP архив с ретранслятором (ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/FARCARDS/fc604.7z).
Скопировать в сформированный каталог \Farcards содержимое папки ..\RK7\bin\For cardserv\ из установленной версии RK7.
Важно: если соответствующего архива RK7 в папке standalone\ на ftp с версией РК7 нет, но есть инсталлятор кассовой части ( RK7_Cash_Setup_7.5.Х.exe) , то набор библиотек необходимо брать из директории, указанной при установки (см.рисунок ниже).
Важно: обязательно нажать кнопку "Добавить" после выбора пути, куда будут скопированы библиотеки.
Рис. Выбор пути для сохранения pds_netk.dll
Из папки \RK7\Bin\For Cardserv\ini скопировать в каталог \Farcards файл - netk.ini.
Скопировать в тот же каталог (\Farcards) библиотеку связи с CRM - CardSystem5_RK7.dll из из папки ..\Bin\ дистрибутива R-Keeper CRM (в R-Keeper CRM 7 библиотека называется RKeeper_CRM.dll).
Должен получиться примерно следующий набор файлов (может варьироваться в зависимости от версий, дополнительных настроек или количества используемых для связи протоколов):
;;CardSystem5_RK7.dll - dll связи с CRM 5
RKeeper_CRM.dll - dll связи с CRM 7
borlndmm.dll // если фаркардс копируем в папку /BIN/ установки СРМ, то данную dll не брать из папки ..\RK7\bin\For cardserv\
dllman.dll
errors32.dll
Netkern.dll
pds_netk.dll - dll связи с RK7
TCPSOC.dll - dll связи с RK7
Thread32.dll
Farcards.exe
FARCARDS.INI - находится в дистрибутиве с Farcards,
требует модификации
netk.ini - сформировать вручную или скопировать из бинарного дистрибутива RK7 (каталог \bin\For cardserv\ini)
Примечание: Для связи с РК7 используется только PDS_NETK.DLL
- Выполнить настройки в конфигурационном файле Farcards.ini
Важно: Для корректной работы ПО "Farcards" с CRM необходимо использовать шаблон файла Farcards.ini, представленный ниже.
Запустить Farcards и проверить статус загруженных модулей:
с ключом /install - будет установлен в качестве службы
с ключом /uninstall - удаление из служб
с ключом /desktop - запуск в качестве настольного приложения
Примечание: Первый запуск Farcards рекомендуется выполнять в качестве desktop-приложения (ключ /desktop)
Описание параметров netk.ini
[netkern] TESTMESSAGES=0 - включение отладочных сообщений protocols=tcpsoc.dll - транспортная библиотека [TCPSOC] port=2234 - принудительное указание входящего TCP/IP-порта для модуля pds_netk.dll
Описание параметров Farcards.ini
Секция | Параметр | Описание |
---|---|---|
[FarServer] | Type = 1 | режим работы Farcards. В этом режиме FarCards передает запросы своих клиентов в некую DLL, и возвращает им результат ее работы. Название DLL указывается ниже. |
DLL = CardSystem5_RK7.dll (RKeeper_CRM.dll) | Библиотека из папки BIN системы R-Keeper CRM. | |
[LinkDLL] | 1 = pds_netk | перечислить DLL-и связи цифра = название DLL связи без расширения для каждой указанной DLL сделать секцию с именем этой DLL и параметрами, специфичными для каждой DLL. |
[pds_netk] | Раздел настроек связи с RK7. Настраивается как при связи RK7 с обычной ПДС (PERSCARD) | |
NetServerName=CRM_D1 | имя ПДС-интерфейса подключенного на кассовом сервере в RK7 (См.рис.2) | |
ininame=netk.ini | имя отдельного инициализационного файла с настройками netkern и протоколов | |
[Card System 5] Раздел настроек связи с CRM | Address=127.0.0.1 (Address=http://127.0.0.1:9193 для CRM 7) | адрес ПК где запущен сервер авторизации карт CRM |
Port=9191 (для CRM 7 не нужен) | порт сервера авторизации карт CRM указанный в конфигураторе (См.рис.4) | |
Log_Level = 10 | параметры логирования - уровень логирования | |
Log_Count = 5 | параметры логирования - число лог-файлов | |
Qualifier = 10 | код классификатора ПО, задается в редакторе карт, пункт меню "Файл -> Классификаторы ПО". | |
Images_Path = D:\RK7\CRM\Images\ | путь к папке в которую Farcards будет складывать фото клиентов, а касса будет использовать их для отображения при прокатывании карты. | |
HasCredit=1 | значение "1" - позволяет уходить в минус, если используется глубина кредита, "0" - нет | |
в 29 протоколе farcards можно передовать информацию на кассу в поле UnitInfo структуры GetCardInfoEx. Поддержано в 5.8.4.2 | ||
HasUnitInfo=1 | - передавать информацию для отображения на экране [1=true|0=false] | |
HasPrintInfo=0 | - передавать информацию для печати на принтере [1=true|0=false] | |
; ниже параметры для активации карты на кассе RKeeper 7 | ||
CardActivation_Discount=0 | скидка/наценка в RKeeper 7, передается в случае проведения неактивной карты на кассе | |
CardActivation_Transaction=0 | код транзакции, который придет с кассы для активации карты | |
CardActivation_SubAccount=0 | код субсчета (1 - 8), на который переводятся средства при проведении транзакции | |
Print_AccountTypes=1,2,3,4,6 | список типов субчетов (2-я цифра в счете клиента), которые могут быть задействованны при печати информации на чеке РК7 | |
Message_LineDiscount=Дисконт | строка предшествующая описанию дисконтного счета | |
Message_LineBonus=Бонус | строка предшествующая описанию бонусного счета | |
Message_Line1=ФИО: %Full_Name% | произвольный список строк с параметрами | |
Message_Line2=%F_Name% | в итоге получается строка = Message_Line1 + Message_Line2 + Message_Line3 + ... + Message_Line13,которая на чеке может быть выведена через переменную PDSDiscPrintText | |
Message_Line3=%M_Name% | ||
Message_Line4=%L_Name% | ||
Message_Line5=%Null% | ||
Message_Line6=%Level_Current% | ||
Message_Line7=%Count_CurrentLevel% | ||
Message_Line8=%Count_NextLevel% | ||
Message_Line9=%Summ_CurrentLevel% | ||
Message_Line10=%Summ_NextLevel% | ||
Message_Line11=Остаток: %Balance% | ||
Message_Line12=Баланс субсчета 1: %Balance_Account_1% | номер субсчета. определяется второй цифрой в полном номере счета клиента, например 01.00001.00000003.0001 >. | |
Message_Line13=Баланс субсчета 6: %Balance_Account_6% | номер субсчета. определяется второй цифрой в полном номере счета клиента, например 02.00006.00000004.0001. . | |
Message2_LineDiscount=Дисконт | ||
Message2_LineBonus=Бонус | ||
Message2_Line1=%Full_Name% | ||
Message2_Line2=%F_Name% | ||
Message2_Line3=%M_Name% | ||
Message2_Line4=%L_Name% | ||
Message2_Line5=%Null% | ||
Message2_Line6=%Level_Current% | ||
Message2_Line7=%Count_CurrentLevel% | ||
Message2_Line8=%Count_NextLevel% | ||
Message2_Line9=%Summ_CurrentLevel% | ||
Message2_Line10=%Summ_NextLevel% | ||
Message2_Line11=%Balance% | ||
[Scheme_IDs] | 1=1 | устаревшее |
2=2 | ||
3=3 | ||
4=4 | ||
5=5 |
Вывод баланса счета(-ов) клиента на чеке
Для отображение информации, переданной через Message_Line на макет чека необходимо использовать переменную [PDSPrintText] из источника данных "Скидки".
В Message_Line использовать параметр %Balance_Account_Х%, где Х - число в номере счета (вторая группа из 5 цифр).
Рис. Связь номера счета и параметров в Farcards.ini
Шаблон готового Farcards.ini
Представленный ниже шаблон можно использовать при установке в качестве рабочего экземпляра Farcards.ini:
[FarServer] Type = 1 DLL = CardSystem5_RK7.dll Gate = 1 XMLCP=1251 [LinkDLL] 1 = pds_netk [pds_netk] NetServerName=CRM_D1 ininame=netk.ini [Card System 5] *** для CRM 5 *** Address=127.0.0.1 Port=9191 *** для CRM 7 *** Address=http://127.0.0.1:9193 Log_Level = 10 Log_Count = 5 Qualifier = 10 Images_Path = C:\RK7\CRM\Images\ HasCredit=1 HasUnitInfo=1 HasPrintInfo=0 CardActivation_Discount=0 CardActivation_Transaction=0 CardActivation_SubAccount=0 Print_AccountTypes=1,2,3,4 Message_LineDiscount=Дисконт Message_LineBonus=Бонус Message_Line1=%Full_Name% Message_Line2=%F_Name% Message_Line3=%M_Name% Message_Line4=%L_Name% Message_Line5=%Null% Message_Line6=%Level_Current% Message_Line7=%Count_CurrentLevel% Message_Line8=%Count_NextLevel% Message_Line9=%Summ_CurrentLevel% Message_Line10=%Summ_NextLevel% Message_Line11=%Balance% [Scheme_IDs] 1=1 2=2 3=3 4=4 5=5
Настройка RK7
Примечание: Настраивается аналогично связи RK7 с ПДС
- Добавить на вкладку "Устройства" кассового сервера интерфейс "PDS interface" и задать ему уникальное сетевое имя - параметр PDS Server Name. Значение данного параметра должно быть такое же как у параметра NetServerName в файле Farcards.ini
Рис. Настройка параметров ПДС-интерфейса на кассовом сервере
- Создать копию предустановленного интерфейса "Персональная дисконтная система (ПДС)", присвоить интерфейсу имя и привязать логический интерфейс к физическому, созданному на этапе выше.
Примечание: по умолчанию система автоматически предлагает связать физический интерфейс, добавляемый на кассовый сервер, с предустановленным логическим интерфейсом "Персональная дисконтная система(ПДС)". Если данный логический интерфейс свободен, то можно использовать его для связи с CRM и новый не создавать.
Рис. Связь логического интерфейса с драйвером на кассовом сервере
Для отображение формы с информацией о клиенте необходимо включить параметр [Все] - [Установочные] - [Связь с другими системами] - [Персональные карточки] - [ПДС показывать инфо о карте] в справочнике Настройки - Параметры;
Для отображения фото клиента в менеджерской станции необходимо включить следующий параметр в справочнике "Настройки - Параметры" - [Все] - [Установочные] - [Связь с другими системами] - [Персональные карточки] - [ПДС Показывать картинку];
Для отображения кнопки "Оплатить" проверить следующий параметр в справочнике "Настройки - Параметры" - [Все] - [Параметры работы станции] - [Редактирование заказа] - [Расчёт/Оплата заказа] - [Оплата платёжной картой]. Выставить его значение как "Спрашивать".
Настройки CRM
- Проверить параметры порта в конфигураторе CRM. Откорректировать при необходимости Farcards.ini.
Рис.Настройка сервера авторизации карт в конфигураторе
- Главное, на что следует обратить внимание, это параметр "Qualifier" в Farcards.ini - это код классификатора программного обеспечения. Классификаторы прописываются в Редакторе карт в справочнике "Файл - Классификаторы ПО".
- При связи с RK7 можно для каждого ресторана (или кассового сервера) отдельно настроить свой классификатор и разрешить работать с опеределенными типами счетов. Соответственно сколько классификаторов, столько и экземпляров Farcards будет использоваться.
Важно! Обязательно должны быть привязаны все типы счетов, разрешенные для работы с этим классификатором!
Примечание: более подробная информация по использованию классификаторов ПО содержится в пользовательской документации на CRM - ftp://ftp.ucs.ru/books/r-keeper_crm_user_manual.pdf
- Количество допустимых "Классификаторов ПО" равно количеству терминалов (можно посмотреть на вкладке "Лицензии Сервера приложений") для используемой лицензии.
Важно! В R-Keeper CRM 5.07.X при добавлении нового классификатора происходит автоматическая привязка всех существующих счетов к этому классификатору. Счета по-умолчанию заблокированы, поэтому необходимо проверить и снять блокировку с нужных счетов. В R-Keeper CRM 5.08 и выше автоматической привязки не происходит, связь необходимо настроить в ручную.
- Аналогичная ситуация происходит при добавлении нового счета. К нему автоматически подвязываются все существующие классификаторы в заблокированном состоянии (характерно только для версий ниже 5.08.Х).
Минимальный набор действий для проверки связи RK7 и R-Keeper CRM
В "Редакторе карт" (Cards_Editor.exe) сделать следующее:
- Создать группу владельцев и группу карт (для теста);
- Добавить нового клиента;
- Добавить хотя бы один диапозон карт (справочник "Диапазон карт");
- Создать карту(активную) и привязать ее клиенту (рис.5);
- Проверить, что для РК7 создан Классификатор ПО (Файл - Классификаторы ПО);
В "Менеджерской РК7" (rk7man.exe) сделать следующее:
- Проверить ПДС-интерфейс на кассовом сервере, который используется для связи с Farcards - проверять на работающем кассовом сервере в режиме запуска как приложение, в свойствах вкладка "Интерфейсы":
Рис. Параметры кассового сервера - закладка "Интерфейсы"
- Создать новый MCR-алгоритм. Область выбрать - "Интерфейс", "Объект" - конкретный логический интерфейс для связи с Farcards (рис.7). Настроить тип алгоритма в зависимости от номера карты, заведенной в редакторе карт.
Рис. Параметр MCR-алгоритма
- Запустить кассу, создать новый заказ, можно пустой, прокатать карту и дождаться появления окна с информацией о клиенте (рис.8) - появление информации о госте на экране кассы RK7 будет показателем того, что RK7 отправил номер карты в CRM, а CRM нашел её и вернул данные о ее владельце. Т.е. связь настроена корректно.
Рис. Информация о карте на кассовой станции RK7