Вводная информация

Связь систем R-Keeper CRM 5 и R-Keeper v7 осуществляется посредством ретранслятора карт Farcards.

Документация по установке и настройке Farcards в Установка и настройка системы ПДС и Использование http-протокола для FarCards


Основные положения

  • приложение Farcards должно быть настроено для работы в режиме "1" (использование внешней DLL)
  • в качестве внешней DLL используется CardSystem5_RK7.dll из дистрибутива R-Keeper CRM
  • для связи с кассовым сервером R-Keeper v7 необходимо настроить интерфейс с ПДС и прописать сетевое имя FARCARDS в менеджерской станции R-Keeper v7

Схема взаимодействия приложений

Рис. Схема связи приложений в R-Keeper CRM 5

Возможны два варианта взаимодействия без использования репликации:

  1. Развернуть в локальном ресторане транзитный сервер авторизации, настроив его на работу с центральной базой данных. Кассовый сервер через фаркардс связывается с данным транзитным сервером в этом же ресторане;
  2. Настроить связь кассового сервера в локальном ресторане с основным сервером авторизации в центре через 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