Перейти к основному контенту

Интеграция Абонемент и RK7 через Farcards

Интеграция RK7 с Абонементом представляет собой следующую структурную схему (рис.1) 

Рисунок 1

RKeeper при оплате на специальную валюту, например, "Закрытие на фолио Абонемента" в категории "платежные карты" обращается к FarCards, который вызывает подключенную к нему sdmHTTPFarCard.dll. Последняя dll обращается к ключу защиты и если лицензия найдена (проект 2 модуль 11), отправляется XML запрос на TCP/IP сервер - программу HTTPRKtoSH. Этот сервер обращается к базе данных через библиотеку ShelterConnect.dll

Интеграция проверялась на версии Абонемента 145+ с версией RK7 7.6.5.475. 

  • Версия FarCards 6.04
  • Версия HttpToSH 1.5.0.1
  • ShelterConnect 1.9.0.3
  • sdmHTTPFarCard.dll 1.17.0.5

Подготовка утилит

1.  FarCards 

FarCards устанавливается на любом компьютере в одной сети с кассой и кассовым сервером. Если модуль лицензии прописан в одном ключе с Абонементом, то FarCards обязательно устанавливается на машину, где установлен этот ключ, как правило это сервер, в противном случае необходимо в настройках будет указать ip/port в секции [LOCK.SERVER] машины, где установлен сервер блокировок. 

Настройка FARCARDS.INI 

[FarServer]
Type = 1
 DLL = sdmHTTPFarCard.dll
Gate = 1
log = 30
XMLCP=1251

[LinkDLL]
1 = pds_netk
 
[pds_netk]
NetServerName=rk_first
ininame=netk.ini
DebugMessages=1

NetServerName - серверное имя. Оно понадобиться в настройках PDS интерфейса RK7.

2.  sdmHTTPFarCard.dll
FarCards обращается к sdmHTTPFarCard.dll, которая должна находиться в папке с FarCards. sdmHTTPFarCard.dll защищена ключом защиты Shelter/Абонемент
Настройки осуществляются в файле HTTPFarCard.ini. Ниже приведен его пример.
[PARAMS]
  ClientCode = HOTEL
  UserCode = UCS
  UserPwd = 12345
  LangCode = RU

[SERVER]
  Port =2277
  Host =127.0.0.1

[LOCK.SERVER]
  TCPHost = 81.94.140.196
  TCPPort = 1116
  Project = 2
  Module = 11   

[LOG]
  FileName=HTTPFarCards_AB.log
  Level = 100
  DebugLevel = 100




В данных настройках sdmHTTPFarCard.dll обращается к TCP/IP серверу, который запущен локально на машине и слушает 2277 порт.
В секции [PARAMS] задаются параметры, которыми обворачивается XML запрос. В Настройках TCP/IP сервера, могут использоваться аналогичные параметры, например для определения «свой/чужой».
В секции [LOCK.SERVER] указывается ip/port машины, где установлен сервер блокировок Shelter/Абонемент. 
В файле HTTPFarCards_AB.log ведется логирование XML команд.
SdmHTTPFarCard.dll передает данные на TCP/IP сервер/ Для интеграции с Абонементом используется HTTPRKtoSH.exe
2. HTTPRKtoSH.exe
HTTPRKtoSH.exe является сервером, который слушает TCP/IP и обрабатывает XML запрос от sdmHTTPFarCard.dll.  HTTPRKtoSH.exe по умолчанию всегда вызывает функции ShelterConnect.dll, которая должна находить в одной директории с ним. Основные настройки осуществляются в файле HTTPRKtoSH.ini
[SERVER]