Общая информация

Документ содержит информацию только по первичной обработке и поддержке карт "Малина" на рабочих станциях R-Keeper v6. Получение различных отчетов в формате, требуемом компанией "Loyalty Partners Vostok", в данном документе не рассматривается.

Так как количество карт "Малина" достаточно велико и карта не является персональной, то и смысла поддерживать базу данных таких карт нет. Не смотря на то, что для работы с картами "Малина" требуются модули из состава "ПДС", в базе данных сервера карт не содержится никакой информации о картах "Малина".

Поддержка карт реализована через специальную библиотеку для ретранслятора карт FarCards, которая в зависимости от настроек возвращает необходимый код скидки и бонуса, а также имя владельца карты (которое в данном случае будет одинаковым для всех карт "Малина").

Для разделения запросов от кассы на стандартные карты ПДС и на карты "Малина", используется приложение CDISTR, которое в зависимости от диапазона, в который попадает номер карты, направляет запрос либо в CARDSERV либо в FARCARDS.

Примечание: для показа напоминания о применении карт Малина и контроле минимальной пороговой суммы для начисления бонуса необходима версия кассы не ниже 6.89 (менеджера 6.87).

Для получения данных по сумме начисленных бонусов по картам "Малина" необходимо самостоятельно делать выборку из накопительной базы - либо через импорт данных в DBF (для ARK6.UDB), либо из базы R-Keeper BackOffice (если используется)

Дистрибутивы необходимого ПО можно взять на фтп ftp://ftp.ucs.ru/r-keeper/Tools/Malina/.

Настройка серверного ПО

Возможно несколько вариантов конфигурации - рассмотрим каждый из них более подробно.

Конфигурация при использовании только карт "Малина"

Такая конфигурация может использоваться в том случае, если в ресторане нет собственной системы ПДС или какой-либо другой (сторонней) дисконтной системы.

В такой конфигурации необходимо установить только приложение FarСards с поддержкой специальной библиотеки Malina.dll.

Пример файла FARCARDS.INI для такой конфигурации:

[FarServer]
Type = 1
DLL = Malina.dll
Gate = 1

[LinkDLL]
1 = RNBOpen
2 = RLocal

[RNBOpen]
Server=ASERV

[RLocal]
Port = 2

Немного подробней о каждом разделе:

  • В разделе [FarServer] мы определяем с помощью параметра Type = 1, что приложение FarСards должно передавать запросы от клиентов (кассовых серверов и других менеджерских приложений) в библиотеку Malina.dll (DLL = Malina.dll) - таким образом FarСards заменяет собой стандартный сервер карт (CARDSERV).
  • В разделе [LinkDLL] подключается два интерфейсных модуля: RNBOpen для подключения кассовых серверов и RLocal (или любой другой модуль, отличный от RNBOpen) для подключения других менеджерских приложений (Отчеты, КУБы и т.д.).
  • В разделе [RNBOpen] определяется NetBIOS-имя, по которому кассовый сервер будет пытаться подключиться к FarСards. Это значение должно соотв. значению параметра ApServer в настройках кассового сервера.
  • Далее, могут располагаться секции для других интерфейсных модулей, необходимых для подключения клиентов к FarСards.

Дополнительно требуется настройка для специальной библиотеки Malina.dll - все параметры определяются в файле Malina.ini:

[Options]
Holder = Malina CardHolder
Discount = 11
Bonus = 88

В файле  Malina.ini есть только одна секция [Options], в которой определяются три переменные:

  • Holder - определяет значение, которое FarCards будет возвращать в качестве имени владельца карты. Таким образом, для всех карт "Малина" будет возвращаться всегда одно и то же имя владельца, указанное в этом параметре
  • Discount  - определяет значение, которое FarCards будет возвращать в качестве номера скидки. Таким образом, для всех карт "Малина" будет возвращаться всегда одно и то же значение скидки, указанное в этом параметре. Если для карт "Малина" не предусмотрено скидок, необходимо создать нулевую скидку и указать ее тип в этом параметре
  • Bonus - определяет значение, которое FarCards будет возвращать в качестве номера бонуса. Таким образом, для всех карт "Малина" будет возвращаться всегда одно и то же значение бонуса, указанное в этом параметре

Конфигурация при использовании карт "Малина" и стандартной ПДС

Такая конфигурация может использоваться в том случае, если в ресторане уже установлена (или планируется к установке) стандартная версия ПДС. В таком случае, кроме сервера карт (CARDSERV) и ретранслятора карт (FarCards) необходимо настроить распределитель запросов (CDISTR).

Примечание: Если в ресторане при настройке поддержки карт "Малина" будет проводиться обновление кассового и менеджерского ПО, необходимо проверить и при необходимости сделать обновление системы ПДС.

Действия, необходимые для изменения конфигурации в работающем ресторане:

  1. Изменить настройки текущего сервера карт - необходимо убрать поддержку модуля RNOpen.dll, т.к. кассовый сервер должен будет подключаться к  модулю CDISTR. Для этого открываем CARDSERV.INI, находим раздел [LinkDLL] и комментируем (или удаляем) строку с RNBOpen :
...
[LinkDLL]
1 = RLocal
2 = RNBOpen
3 = RTCP
...

Раздел [RNBOpen] удалять или комментировать не обязательно:

...
[RNBOpen] Server = AUSERV ...............
  1. Для сервера карт CARDSERV настроить (если не было настроено ранее) подключение по одному из модулей - RLocal (для локального подключения) и/или RTCP (для удаленного подключения), для возможности подключения распределителя запросов CDISTR
  2. Настроить ретранслятор карт FARCARDS с поддержкой специальной библиотеки Malina.dll, как описано выше, за исключением поддержки модуля RNBOpen:
[FarServer]
Type = 1
DLL = Malina.dll
Gate = 1

[LinkDLL]
1 = RNBOpen
2 = RLocal
[RNBOpen] Server=ASERV 
  1. Настроить распределитель запросов CDISTR. Подробная информация по модулю и его установке находится в дистрибутиве \PERSCARD\CDISTR\.., ниже показан пример конфигурационного файла cdistr.ini с некоторыми пояснениями:
[LinkDLL]
1=RNBopen

[Server1]
; Раздел для подключения к CardServ
DLL=Rlocal
Gate=1
MaxCardNum = 9999
 [Server2] ; Раздел для подключения к FarCards
DLL=Rlocal
Gate=2
MinCardNum = 1000000000

[RLocal]
Client1 = CardServCards
Port1 = 0
Client2 = MalinaCards
Port2 = 2

[Rnbopen]
Server = ASERV
  • Данный конфигурационный файл предполагает, что подключение к приложениям FARCARDS и CARDSERV происходит локально, т.е. все приложения находятся на одном компьютере. Если требуется удаленное подключение, необходимо изменить транспортные библиотеки в разделе [Server1] и [Server1], а также прописать соотв. разделы для них.
  • Как видно из конфигурационного файла, приложение CDISTR использует модуль RNBOpen.dll, т.е. становится "первичным" сервером, который принимает запросы от кассового сервера. Поэтому значение, указанное в параметре Server раздела [Rnbopen] должно совпадать с именем, указанным в RKEEPER6.INI кассового сервера в параметре ApServer.
  • Также стоит обратить внимание на параметры MaxCardNum и MinCardNum, прописанные в разделах [Server1] и [Server2] соответственно. Благодаря этим параметрам, CDISTR после получения запроса от кассвого сервера определяет, какому приложению отправить запрос - серверу карт (CARDSERV) или ретранслятору карт (FARCARDS). Почему в параметре MinCardNum из раздела [Server2] указано значение 1000000000, будет понятно немного ниже.

Примечание: начиная с версий касс 6.1хх и выше вместо CDISTR можно использовать параметры кассового сервера ApServer1, ApServer2 и т.д. Подробнее об этих параметрах в справочнике параметров RK6 - http://support.ucs.ru/ru/rkeeper6.ini.

Настройка Менеджерской RK6 (E_Rest32)

В менеджерсокм приложении "Редактор" необходимо создать бонуc, например, "Малина 3%". В свойствах бонуса указать код и в поле "Минимум" минимальную сумму, при заказе на которую будет начисляться этот бонус (см. Рис.1).

Примечание: поле "Минимум" в свойствах бонуса доступно начиная с версии менеджерской 6.87.

Настройка  кассы 

Если установка выполняется в работающем ресторане, проверяем версию кассы - если ниже 6.89, необходимо обновить до последней.

Для поддержки карт Малина используется модуль FIX_LEN . Маска в данном случае выглядит следующим образом:

Fix_Len_Mask=6393***NNNNNNNNN=16127110000000000000
Fix_Len_AddCode=1000000000

Параметр Fix_Len_AddCode добавляет ко всем номерам карт Малина число 1000000000 - это сделано для исключения "попадания" карт Малина в диапазон карт ПДС. Это как раз объясняет, почему в параметре MinCardNum мы указали значение 1000000000

Для отображения напоминаний о применении бонусных карт есть два варианта:

Для версий кассы ниже 6.94e (но выше 6.88) можно использовать конфигурируемый файл MESSAGES.INI (находиться в рабочей директории RKCLIENT) -  напоминания выводятся в заголовке рабочего окна. Простой пример файла:
11;1; Спросите гостя о карте Малина!; -1;-1;11;11
22;2; Спросите гостя о карте Малина!; -1;-1;22;22
33;3; Спросите гостя о карте Малина!; -1;-1;33;33
Для версий кассы 6.94e и выше можно использовать параметр RemindBonusCard=ON

для печати информации по начисленным бонусам можно немного модифицировать печатные формы FCHECK.FRM и/или FICHECK.FRM (см. вложенный FORMS.RAR)

Описание процесса обработки карт "Малина"

  • В режиме заказа на кассе прокатывают карту Малина.
  • С помощью перекодировки касса выделяет номер карты, добавляет к нему 1000000000 и дальше пытается связаться с сервером карт.
  • В качестве сервера карт выступает либо CDISTR, который на вход получает номер карт и по настройкам в ini-файле определяет, что дальше делать с запросом - отправить его на сервер карт CARDSERV, если номер меньше 9999, или отправить его в FARCARDS, если номер больше 1000000000, либо FARCARDS.
  • В случае с картой Малина рестранслятор карт FARCARDS не обращается ни в какую базу, а всегда возвращает одни и те же значении для скидки и бонуса, указанные в malina.ini

Таким образом, в накопительной базе информация по номерам карт Малина будет храниться с учетом добавленного 1000000000 - при формировании выгрузки это факт необходимо учитывать. Если используются модифицированные формы FCHECK.FRM и/или FICHECK.FRM, то на чеке печатается реальный номер, точнее практически реальный -  без ведущих нулей.

ВложениеРазмер
Technical Card Specification.pdf154.93 КБ
Information exchange rules_rus.pdf493.67 КБ
FORMS.rar3.21 КБ