Справочник PDS

Установка и настройка системы ПДС

Введение

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

Как правило, ПДС устанавливается в качестве дополнения к системе R-Keeper, но может работать и как самостоятельное ПО.

Состав системы

В состав системы входят следующие обязательные приложения:

Также в состав системы входят дополнительные (необязательные) модули:

Примечание: Все модули ПДС устанавливаются и работают под управлением Windows

Лицензирование

Для работы модуля "Редактор карт" (PCARDS) требуется аппаратный ключ защиты Guardant Stealth II (USB), подготовленный специальным образом.

Дополнительное лицензирования ни со стороны ПДС, ни стороны R-Keeper не требуется.

Сервер карт (CARDSERV)

Назначение сервера карт

В функции сервера карт входит управление базой данных и обспечение взаимодействия с клиентами системы ПДС (кассовая система или другое ПО, в том числе стороннее)

Состав сервера карт

Сервер карт состоит из следующих компонентов:

Установка сервера карт

Для установки сервера карт необходимо:

Обновление сервера карт

Для обновление версии сервера карт необходимо:

Примечание: При обновлении сервера карт рекомендуется также обновлять набор используемый библиотек связи, загрузить который можно с FTP ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/netdll.7z 

Настройка сервера карт

Все параметры сервера карт хранятся в конфигурационном файле CARDSERV.INI

По-умолчанию,  CARDSERV.INI содержит минимальный набор параметров, далее рассмотрены все возможные параметры и их описание:

[DB]                - секция параметров базы данных
File = card.udb     - файла базы данных сервера карт
DayBound = 4:00     - время границы суток - значение, которое сервер учитывает при проверке различных временных ограничений (срок действия карт, лимиты и т.д.), а также использует при построении отчетов

Примечание: Рекомендуется указывать значение времени суток, когда кассовый сервер уже закрыл день, а новая кассовая смена еще не открыта. Для предприятий, работающих круглосуточно, логично использовать астрономическую границу суток - 00:00

Backup =            - путь для сохранения автоматического бекапа базы CARD.UDB. Если не указан, будет выполняться в том же каталоге, где находится рабочая БД 

Примечание: Автоматический бекап выполняется раз в сутки, время выполнения не настраивается и регулируется сервером по внутренним правилам.

BackupCount = 2      - количество файлов автоматического бекапа, после достижения указанного значения файлы автоматически перезаписываются
WeekStart = 7        - параметр указывающий серверу карт день начала недели. Используется для карт с недельными ограничениями, может принимать след. значения: 1 - пн 2 - вт, 3 - ср, ... 7 - вск
Bonus =              - если указать значение DISCOUNT, номер (идентификатор) бонуса карты будет равен номеру (идентификатору) ее скидки. Подробнее о данном параметре см. ниже
MinRest =            - если указать сумму в этой настройке, то остаток денег на карте будет считаться нулевым, если он меньше этой суммы.
IgnoreStopDate = No  - если = YES, то срок действия карт неограничен.
Log = 2              - Уровень лог-файла. 0 - редкие события. 1 - факты запросов. 2 - подробности некоторых запросов

[LinkDLL]            - секция параметров поддержки библиотек связи
1 = RNetBios         - поддержка канала связи через протокол NetBios
2 = RNBOpen          - поддержка специального канала связи через протокол NetBios, используется только для кассовой системы R-Keeper v6
3 = RTcp             - поддержка канала связи через протокол TCP/IP
4 = RLocal           - поддержка локального протокола связи

Важно: Модуль связи RLOCAL.DLL был исключен из всех дистрибутивов (обнаружена проблема, см.  http://tracker.ucs.ru:8080/redmine/issues/47751#note-35) . Во всех рабочих конфигурациях, где используется модуль RLOCAL.DLL, рекомендуется заменить его на модуль RTCP.DLL (даже при локальных подключениях)

Примечание: Модули связи загружаются и инициализируются в том же порядке, как указаны в секции [LinkDLL]

Примечание: Рекомендуется в секции [LinkDLL] указывать только необходимые библиотеки связи. После запуска сервера требуется некоторое время (5-20 сек) для иницилизации всех подключаемых модулей связи

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

[RNetBios]           - секция параметров для модуля связи NETBIOS
Server = PCSERV      - уникальное (в пределах локальной сети) регистрозависимое сетевое NETBIOS-имя сервера карт

[RNBOpen] - секция параметров для модуля связи RNBOPEN
Server = ASERV - уникальное (в пределах локальной сети) регистрозависимое сетевое NETBIOS-имя сервера карт, используется ТОЛЬКО для подключения  кассовой системы R-Keeper v6

Примечание: Модули связи RNetBios и RNBOpen запускаются на всех номерах адаптеров NetBios, обнаруженных в ОС Windows. Более подробно о протоколе NetBios  и номерах адаптеров можно ознакомиться в статье http://support.ucs.ru/ru/node/5220

[RTcp] - секция параметров для модуля связи RTCP
Port =  - порт TCP/IP для входящих подключение, любой уникальный свободный/открытый сетевой порт для связи через него с сервером карт. Обычно от 3000 до 5000. 

[RLocal] - секция параметров для модуля связи RLOCAL
Port = 0 - порт для локальных подключений, можно указать произвольное число

Особенности использования модулей связи

Таким образом, при установке сервера карт на 64-х битную версии ОС Windows, целесообразно использовать всего два модуля связи: RTCP (для всех удаленных подключений, включая кассу и кассовый сервер) и RLOCAL (для всех локальных подключений)

Запуск сервера карт

Запуск CARDSERV.EXE возможен как в качестве приложения, так и в качестве службы (сервиса)

Примечание: Для запуска сервера карт не требуется сторонних компонентов, включая BDE. Также для запуска сервера карт не требуется ключ защиты и/или лицензия

Режим запуска определяется ключем:

Примечание: На одном компьютере может быть одновременно запущено несколько серверов с разными настройками и базами

После запуска в системном трее должна появиться иконка работающего сервера карт, при двойном клике на которую можно открыть графический интерфейс сервера и проверить статус работы:

Примечание: При установке сервера карт в ОС Windows 7 (и выше) и запуске в качестве службы,  в системном трее иконка отображаться не будет

Параметр Bonus=DISCOUNT

Для более четкого понимания параметра, описание вынесено в отдельный раздел.

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

Схема работы:

Оособенности использования:

Пример минимальной конфигурации сервера

 В минимальной конфигурации (поддержка только модуля связи RTCP) CARDSERV.INI выглядит следующим образом:

[DB]                   
File = card.udb        
DayBound = 4:00        
Backup =               
IgnoreStopDat e= No    
BackupCount = 2        
WeekStart = 7          
Log = 2                

[LinkDLL]              
1 = RTcp               

[RTcp]                 
Port = 3456            

Пример содержимого каталога \CARDSERV после установки:

CARDSERV.EXE           - исполняемый файл сервера карт
CARDSERV.INI           - конфигурационный файл сервера карт
CARD.UDB               - база данных сервера карт
RTCP.DLL               - модуль связи с использованием TCP-протокола

Пример конфигурации сервера для подключения по разным портам TCP/IP

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

Т.к. в параметрах библиотеки Rtcp.dll можно указать только одно значение порта, применяем "обходное" решение  - библиотеку Rtcp.dll копируем в необходимом кол-ве под разными именами, например Rtcp1.dll, Rtcp2.dll и настраиваем сооотв. образом  CARDSERV.IN:

....          

[LinkDLL]             
1 = RTcp1              
2 = RTcp2
3 = RTcp3

[RTcp1]
Port = 1111

[RTcp2]
Port = 2222

[RTcp3]
Port = 3333

Важно: В секции [LinkDLL] должна соблюдаться последовательная нумерация библиотек связи

Редактор карт

Назначение редактора карт

Редактор карт (PCARDS) является основным пользовательским модулем в составе ПО ПДС и предназначен для создания и управления базой карт (счетов). Также в модуле доступна базовая отчетность по системе ПДС.

Установка редактора карт

Установка редактора карт может быть выполнена на том же ПК, где находится сервер карт, либо на любом другом в пределах связи с сервером карт.

Важно: Для запуска редактора карт требуется подготовленный ключ защиты Novex Guardant II (USB)

Для установки редактора карт необходимо:

Настройка редактора карт

Конфигурация редактора карт хранится в файле RKEEPER.INI.

Примечение: Значения параметров в файле RKEEPER.INI регистронезависимы, за исключение параметров, в которых указываются NETBIOS-имена.

Пример конфигурационного файла:

[Common]                 - основной раздел.
Alias1 = d:\RK6\DB       - путь к таблицам справочников менеджерской базы RK6 .
Alias2 = d:\RK6\DB       - путь к накопительной базе RK6 (ARK6.UDB).
EditFRF = YES            - вкл/выкл дизайнер печатных форм отчетов Fast Report.
Language=.RUS            - локализация. Язык по умолчанию - RUS/ENG.

[PCards]                 - раздел редактора карт.
CSLinkDLL = RTcp         - указание используемой библиотеки связи редактора карт для связи с сервером карт. Библиотека указывается баз расширения.
CSLinkGate = 1           - номер клиента DLL, потом добавлять эту цифру в параметры DLL.
DBF = ANSI               - кодировка в DBF-файлах при экспорте данных из CARD.UDB. - ANSI или OEM.
SaveLogin=YES            - сохранять имя пользователя в окне входа в программу.
Login=ucs                - пользователь по-умолчанию.
Birthday=0               - Режим построения отчета по дням рождений. 0 - учитывается заданный год. 1 - не учитывается заданный год.
ShowExport=1             - Показывать пункт "Экспорт" в счетах - 1 или нет - 0.
Font = Antica            - Можно указать используемый шрифт.
Guardant  =   $232D7F11  - Можно указать ключ с лицензией. предваряется значком $. Если в конце номера есть - h, то этот символ обычно не вписывается.

Примечание: ID ключа определяется диагностической утилитой, входящей в состав драйвера Guardant (Панель управления\Драйверы Guardant)

Примечание: В каждой секции для библиотек связи может быть определено несколько групп параметров с различными значениями. Группа параметров определяется числом, которое указывается после имени параметра и может принимать значение от 1 до 16. Например, Server1  - 1-я группа, Server2 - 2-я группа и т.д. Более подробно об использовании групп параметров см. в разделе настройки менеджерской части RK6

[RTcp]                   - раздел настроек выбранного модуля связи.
Client1 = Person_Cards   - любая строка, уникальная среди клиентов сервера по TCP.
Server1 = 127.0.0.1      - IP-адрес сервера - можно узнать, запустив на сервере из командной строки ipconfig /all (входит в состав Windows).
Port1 = 3456             - номер порта, указанный на сервере CARDSERV в CARDSERV.INI.

Пример настройки подключения Редактора карт к Серверу карт через NETBIOS:

............

[PCards]
CSLinkDLL = RNetbios           - используемый модуль связи 
CSLinkGate = 1

[RNetbios]                     
Server1 = PCSERV               - NETBIOS-имя сервера карт
Client1 = PCARDS_CLIENT        - NETBIOS-имя клиента, должно быть уникальным в сети.
Adapter1 = 0                   - если не указывать, возьмет первый существующий.

Импорт карт из текстового файла

В приложении PCards есть возможность выполнять импорт списка карт из текстового файла (CSV) установленного формата.

Операция импорта доступна в меню по правому клику мыши в режиме отображения счетов (Файл ⇒ Счета):

Рис. Операция импорта карт из текстового файла

Требования к текстовому файлу (соотв. требованиям к формату CSV)

Как работает процедура импорта:
Описание полей для каждой записи файла:
 
 1. Номер карты
 2. Срок действия карты - дата в ТЕКУЩЕМ ФОРМАТЕ WINDOWS
 3. Номер скидки - число от 0 до 99 (опциональное поле)
 4. Номер бонуса - число от 0 до 99 (опциональное поле)
 5. День рождения - дата в ТЕКУЩЕМ ФОРМАТЕ WINDOWS (опциональное поле)
 6. Имя владельца карты
 7. Тип карты (опциональное поле, по умолчанию 0):
      0 - ручное пополнение без ограничения оплат
      1 - автоматическое пополнение без ограничения оплат
      2 - автоматическое пополнение с лимитом оплат на один день
      3 - автоматическое пополнение с лимитом оплат на неделю
      4 - автоматическое пополнение с лимитом оплат на месяц
      5 - ручное пополнение с лимитом оплат на один день
      6 - ручное пополнение с лимитом оплат на неделю
      7 - ручное пополнение с лимитом оплат на месяц
 8. Сумма лимита оплат (опциональное поле)
 9. Телефон первый (опциональное поле)
10. Телефон второй (опциональное поле)
11. E-mail (опциональное поле)
12. Название подразделения (высота букв важна) (опциональное поле)
    Если название не указано либо указанное подразделение не найдено, новый счет создается в текущем, а если счет уже существует, его  подразделение не меняется
    Если счет уже есть и находится в другом подразделении, он переносится в указанное подразделение, если оно существует
13. Тип ограничения скидки (опциональное поле, по умолчанию 0):
     0 - без ограничений
     2 - лимит скидки на один день
     3 - лимит скидки на неделю
     4 - лимит скидки на месяц
14. Сумма лимита скидки (опциональное поле)
15. Название дисконтного уровня. Используется, если поле 3 (номер скидки) пустое (опциональное поле)
16. Сумма кредита для карт с ручным пополнением (опциональное поле)
17. Флаг "Изъять карту": 0-снять, 1-выставить, пусто - не менять (опциональное поле)
18. Адрес (опциональное поле)
19. Дата выдачи карты - дата в ТЕКУЩЕМ ФОРМАТЕ WINDOWS (опциональное поле, с версии 3.27.02)
 
Пример содержимого текстового файла для импорта карт:
 
1023, 31/12/2007, 5,, , Иванов Иван Иванович
1024, 01/01/2008, 2,1, 05/11/1980, А.Б.Сидоров, 1
1027, 12/03/2007, 2,  ,,Алексей Толстой, 4, 5000.00,222-22-22,,tolstoy@xaxa.su, Фирма "Солнышко"

Пакетное начисление средств

В приложении PCards есть возможность выполнять импорт операций начисления средств из текстового файла (CSV) установленного формата.

Операция импорта доступна в меню по правому клику мыши в режиме отображения счетов (Файл ⇒ Счета):

Рис. Операция импорта операций из текстового файла

Требования к текстовому файлу (соотв. требованиям к формату CSV)

Описание полей для каждой записи файла:

1. Номер карты - число от 1 до 999999999
2. Сумма средств, может быть отрицательной
3. Описание операции  (опциональное поле)
 
Пример содержимого текстового файла для импорта операций:
 
1023, 550.00
1024, 1745.25, Доначисление за ноябрь
1027, 0.50, Автоматический бонус
4093, -25, Штраф за разбитую посуду

Подключение считывателя карт

Для более удобной работы с картами в приложении PCARDS можно подключить внешний считыватель, например:

Для подключения считывающего устройства требуется специальный драйвер, поддерживающий работу с данной моделью считывателя.

Общий список драйверов можно посмотреть на фтп ftp://ftp.ucs.ru/r-keeper/versions/COM_READ.  В каждом каталоге для конкретного устройства есть несколько подкаталогов \CARDREAD, \COMCARD, WINCAS и т..д - в подкаталоге \CARDREAD находятся драйвера для поддержки данной модели считывателя в приложении PCARDS

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

Пример конфигурационного файла CardRead.ini для считывателя СРЧ-125 (/COM_READ/RFIDUCS3/CARDREAD):

[Options]
Port=COM1 - название COM-порта
Bits=28   - кол-во используемых бит из номера карты 16..40
Mode=0    - 0-"длинный" номер c карты, 1-"составной" номер

Примечание: Универсальный драйвер из каталога ftp://ftp.ucs.ru/r-keeper/versions/COM_READ/STANDARD/CARDREAD подерживает работу с любым считывателем, который подлючается в COM-порт (или любой другой интерфейс, драйвер которого позволяет эмулировать работу через виртуальный COM-порт) и отправляет считанные данные напрямую в порт.

В редакторе карт PCARDS поддержка считывателя отображается специальным изображанием - считывание карты поддерживается в режиме редактирования (создания) счета и в режиме поиска карты:

Рис. Считывание карты в режиме редактирования счета

Рис. Считывание карты в режиме поиска

Настройки связи с r_keeper_7

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

Для этого выбираем нужный кассовый сервер, переходим во вкладку "Устройства" и после нажатия правой кнопкой мыши выбираем "Список драйверов". Находим драйвер "PDS interface" и переносим во вкладку "Устройства". Далее необходимо прописать уникальное имя в строке "PDS Server name". После этого необходимо привязать данный интерфейс к логическому. Для этого открываем вкладку "Сервис - Интерфейсы" и создаем копию предустановленного интерфейса "Персональная дисконтная система" и в разделе файлы библиотек выбираем ранее созданный "PDS interface"

Для того чтобы новый интерфейс стал активным, необходимо перезагрузить кассовый сервер. После перезапуска кассового сервера, доступность нового интерфейса можно посмотреть в его свойствах (при условии запуска кассового сервера с ключом /desktop)

Ретранслятор запросов FARCARDS

Приложение FARCARDS является ретранслятором - оно принимает запросы от клиентов (например, от кассовой системы) и передает эти запросы либо к серверу персональных карт (CARDSERV) либо во внешнюю (стороннюю систему), а также возвращает клиентам ответы от сервера карт или внешней системы.

Особенность FARCARDS заключается в отсутствии каких-либо встроенных механизмов хранения информации о персональных картах.

Взаимодействие с внешней системой обеспечивается специальной интерфейсной библиотекой, реализованной согласно спецификации FARCARDS.

Установка FARCARDS

Установка выполняется по аналогии с установкой сервера карт:

Настройка FARCARDS

Параметры FARCARDS хранятся в конфигурационном файле FARCARDS.INI.

Секция общих параметров:

[FarServer]
Type = 0   -    режим работы ретранслятора, см. ниже
DLL = RTcp  -   наименование библиотеки связи для подключения к CardServ либо библиотеки для связи с внешней системой
Примечание: В режиме Type=0 библиотека RTcp не может присутствовать в секции [LinkDLL]
            При запуске FARCARDS проверяет эту ситуацию и при необходимости автоматически корректирует FARCARDS.INI
Log = 0          - уровеень детализации лог-файла (0..3)
Gate = 1         - номер параметров, используется в секции параметров библиотеки, указанной в параметре DLL
CloseMins = 5    - таймаут отключения от CardServ после отключения последнего клиента (мин), 0 - отключается сразу.

Секция для перечисления библиотек связи:

[LinkDLL]
1 = RNBOpen
2 = RLocal
3 = pds_netk

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

[RTcp]
Client1 = Remote Resto
Server1 = 127.0.0.1
Port1 = 2222
[RNBOpen]
Server = AServ
[RLocal]
Port = 1
[pds_netk]
NetServerName=FarCards
ininame=netk.ini

В макетах печати есть бэнд "Субсчета", в котором можно выводить всю доступную информацию по привязанным счетам к карте. Если там нет потрат, то их никак не увидеть.
За отображение потрат в окне "Информация о клиенте" отвечают параметры:

HasUnitInfo=1
Show_AccountTypes=1

Далее укажите в Show_AccountTypes ID счета потрат, которые можно увидеть в конфигураторе

Режимы работы FARCARDS

FARCARDS может работать в двух режимах, которые определяются значение параметра Type в секции [FarServer]

Режим Type = 0

В этом режиме FARCARDS подключается к серверу карт CARDSERV и передает ему все запросы клиентов (например,  кассовых серверов) и возвращает ответы.

Фактически этот режим утратил актуальность в связи с появлением более функциональной конфигурации распределенной ПДС (SYNCARD), а также возможости кассового сервера R-Keeper v6 подключаться к серверу карт через протокол TCP/IP (начиная с версии 6.102)

Пример использования режима Type = 0:

RKCLIENT ⇔ RKSERVER ⇔ FARCARDS ⇔ LAN\WAN ⇔ CARDSERV

Пример настройки FARCARDS.INI для режима Type = 0:

[FarServer]
Type = 0
DLL = RTcp       - библиотека для связи с CARDSERV
Log = 0
Gate = 1
CloseMins = 5

Секция для перечисления библиотек связи:

[LinkDLL]
1 = RNBOpen
2 = RLocal
3 = pds_netk

Секция параметров для связи с удаленным сервером карт:

[RTcp]
Client1 = Дальний Ресторан - любое уникальное название клиента FARCARDS
Server1 = 192.168.0.99     - IP-адрес удаленного сервера кар
Port1 = 3456               - порт удаленного сервера карт для подключение по TCP/IP

Секции с параметрами библиотек связи:

[RNBOpen]
Server = AServ

[RLocal]
Port = 1

[pds_netk]
NetServerName=FarCards (имя PDS Server name - интерфейса добавленного на кассовый сервер)
ininame=netk.ini

После запуска FARCARDS в режиме Type = 0 в графическом интерфейсе на закладке Server отображается статус подключения к серверу карт:

Рис. Ошибка при подключении к серверу карт

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

При успешном подключении FARCARDS к серверу карт в графическом интерфейсе сервера карт на закладке "Connects" отобразится подключение (если параметр CloseMins отличен от нуля, иначе подключение будет кратковременным):

Рис. Статус подключения FARCARDS к удаленному серверу карт

Режим Type = 1

В этом режиме FARCARDS передает запросы своих клиентов в подключаемую интерфейсную библиотеку и возвращает клиентам результат ее работы.

В режиме Type=1 FARCARDS выступает в роли сервера (аналогично CARDSERV), но логика работы с персональными картами реализуется в интерфейсной библиотеке (и/или во внешней системе, доступ к которой обеспечивает интерфейсная библиотека).

Данный режим, как правило, используется для связи кассовой системы R-Keeper со сторонним программным обеспечением.

Пример использования режима Type = 1:

Примечание: В режиме Type=1 клиентами FARCARDS могут быть только кассовая система R-Keeper (v6 и v7), отчетный модуль RK6 (Report32.exe) и утилита CARDINFO.

Кроме связи со сторонними системами, FARCARDS в режиме Type=1 используется для связи кассовой системы R-Keeper c другим ПО Компании ЮСИЭС:

Пример настройки FARCARDS.INI для режима Type = 1:

[FarServer]
Type = 1                      
DLL = ExtDLL29.dll - наименивание интерфейсной библиотеки
Gate = 1            
Log = 3
XMLCP=1251         - установка кодовой страницы для XML-данных

[LinkDLL]
1 = RTCP
2 = RNBOpen
3 = pds_netk

Секции с параметрами библиотек связи:

[RNBOpen]
Server = AServ

[RLocal]
Port = 1

[pds_netk]
NetServerName=FarCards
ininame=netk.ini

Примечание: Кроме настройки конфигурационного файла FARCARDS.INI может потребоваться настройка параметров интерфейсной библиотеки - см. документацию, поставляемую с библиотекой

После запуска FARCARDS в режиме Type = 1 в графическом интерфейсе на закладке Server отображается статус подключенной интерфейсной библиотеки:

Рис. Ошибка при загрузке интерфейсной библиотеки

Рис. Интерфейсная библиотека загружена успешно

Запуск FARCARDS

Запуск FARCRDS возможен как в качестве приложения, так и в качестве службы (сервиса)

Примечание: Для запуска FARCARDS не требуется ключ защиты и/или лицензия

Примечание: При использовании режима Type =1 запуск FARCARDS может зависить от сторонних компонентов - см. требования к интерфейсной библиотеке

Режим запуска определяется ключем:

Примечание: На одном компьютере может быть одновременно запущено несколько ретрансляторов с разными настройками

После запуска в системном трее должна появиться иконка ретранслятора, при двойном клике на которую можно открыть графический интерфейс FARCARDS и проверить статус работы:

Примечание: При установке ретранслятора карт в ОС Windows 7 (и выше) и запуске в качестве службы,  в системном трее иконка отображаться не будет

Распределенная ПДС

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

Распределенная ПДС это вариант конфигурации стандартной ПДС для возможности автономной работы серверов карт и периодической синхронизации данных между серверами.

Возможные области применения:

Преимущества использования:

Примечание: Поддержка распределенной ПДС реализована с версии сервера карт CARDSERV 7.01

Схема работы

В конфигурации с распределенной ПДС всегда есть один головной (центральный) сервер карт и один или несколько локальных (подчиненных) серверов.

Головной сервер, как правило, находится в центральном офисе, а локальные сервера разнесены по удаленным объектам. Синхронизация между серверами осуществляется через протокол TCP/IP, при этом не важно, как именно реализован сетевой канал - достаточное условие для синхронизации - возможность подключения к головному (или промежуточному) серверу по IP-адресу и порту.

Cтандартная схема работы:

Касса ⇔ LAN  Локальный CARDSERV ⇔ LAN  SYNCARD ⇔ WAN (INTERNET) ⇔ Головной CARDSERV

Дополнительно можно включать промежуточные сервера карт (в любом количестве), например:

Касса ⇔ LAN ⇔ Локальный CARDSERV ⇔ LAN ⇔ SYNCARD ⇔ WAN (Mobile 3G INTERNET) ⇔ Промежуточный CARDSERV ⇔ LAN ⇔ SYNCARD ⇔ WAN (ISP INTERNET) ⇔ Головной CARDSERV

Конфигурация распределенной ПДС

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

Сервер карт (CARDSERV) может работать в четырех режимах:

Режим работы сервера зависит от метки в базе данных CARD.UDB. Метка проставляются при первом подключении синхронизатора SYNCARD - если SYNCARD не используется, меток в базе нет (одиночный сервер).

Важно: Один раз проставленная метка остается в базе данных НАВСЕГДА!

Варианты преобразования меток:

Таким образом, наращивать дерево серверов можно по одному серверу, подключая его как Локальный к работающему Головному, Промежуточному либо к Локальному (тогда он станет Промежуточным) серверу.

При необходимости, к любому из серверов можно подключиться редактором карт PCARDS.

Важно: Редактировать данные с помощью редактора карт PCARDS можно только на серверах в режиме Одиночный или Головной. На Локальном и Промежуточном серверах возможен только просмотр данных и отчетов.

Примечание: Узнать, в каком режиме работает сервер карт, можно из приложения PCARDS - "Справка" \ "О программе" \ "Доступ"  - Полный, Головной, Нижний, Транзитный. Режим работы сервера также отображается на иконке сервера карт: H - Головной, L - Локальный

Недопустимые действия 

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

Выполняемые действия Следствие Способ разрешения
Копирование базы данных сервера карт из одного локального ресторана в другой и подключение их к одному (общему) Головному серверу Полная рассинхронизация данных!
  • Если требуется запустить новый ресторан, надо взять чистую (пустую) базу данных из дистрибутива
  • Если база данных поломалась, надо заменить ее на целую архивную копию этой же базы либо на чистую (пустую) базу из дистрибутива*
Если в локальном ресторане попробовать использовать непустую базу, которая не является Локальной, SYNCARD не станет с ней работать

 Сообщение об ошибке:

"Can not mark [Local] as Local DB because it is not empty".

  • Если требуется запустить новый ресторан, надо взять чистую (пустую) базу данных из дистрибутива
  • Если база данных поломалась, надо заменить ее на целую архивную копию этой же базы либо на чистую (пустую) базу из дистрибутива*
Если в локальный ресторан скопировать пустую базу данных головного сервера, SYNCARD не станет с ней работать

 Сообщение об ошибке:

 "Can not mark [Local] as Local DB because it is Head DB"

  • Если требуется запустить новый ресторан, надо взять чистую (пустую) базу данных из дистрибутива
  • Если база данных поломалась, надо заменить ее на целую архивную копию этой же базы либо на чистую (пустую) базу из дистрибутива*
Если на Головной сервер скопировать Локальную базу из ресторана, SYNCARD не станет с ней работать. Кроме того, редактор карт PCARDS не позволит редактировать данные в этой БД

 Сообщение об ошибке:

"Can not mark [Head] as Head DB because [Local] DB is not empty"

  • Если сломалась Головная база данных, надо заменить ее на целую архивную копию этой же базы либо на чистую (пустую) базу из дистрибутива*

*Примечание: Архивные копии базы данных CARD.UDB сервер карт создает автоматически один раз в сутки (см. примечание выше).

Установка SYNCARD

Перед установкой SYNCARD предполагается, что выполнены следующие условия:

Установка утилиты синхронизации SYNCARD, как правило, выполняется на том же ПК, где установлен или планируется к установке локальный сервер карт либо на другом ПК в той же локальной сети.
 
Для установки SYNCARD необходимо:

Примечание: Учитывая замечание относительно библиотеки RLOCAL.DLL, для связи SYNCARD и локального сервера карт необходимо использовать только RTcp.DLL, даже если оба сервера находятся на одном ПК.

Далее необходимо настроить основной конфигурационный файл SYNCARD.INI:

[Options]                    - Секция общих параметров 
Period = 10                  - период синхронизации в минутах (через сколько минут после успешного обмена будет следующий сеанс связи)

[Local]                      - Секция настроек связи с Локальным сервером карт
DLL = RTcp                   - DLL для связи с локальным сервером карт
Gate = 1                     - номер параметров DLL связи

[Head]                       - Секция настроек связи с Головным сервером карт
DLL = RTcp                   - DLL для связи с Головным сервером карт
Gate = 2                     - номер параметров DLL связи
Modem = 0                    - использование модема (более точно - установление связи через соединение Windows): 0 - не использовать, 1 - всегда использовать, 2 - использовать только при отсутсвии прямой связи
TryLink = 1                  - работает только при Modem = 2 - количество неудачных попыток прямой связи до начала дозвона через модем

[Modem]                      - Секция настроек модемной связи
PBEntry = 3GMobile           - название соединения, созданное в Windows
User =                       - указание пользователя для аутентификации
Psw =                        - указание пароля для аутентификации
Domain =                     - указание домена для аутентификации

[Rtcp]                       - Секция параметров для библиотеки связи
Client1 = SYNCARD            - уникальное имя клиента для подключения к локальному серверу карт
Server1 = 127.0.0.1          - IP-адрес для подключения к локальному серверу карт
Port1 = 4444                 - порт для подключения к локальному серверу карт                 

Client2 = SYNCARD            - уникальное имя клиента для подключения к головному серверу карт
Server2 = 192.168.0.1        - IP-адрес для подключения к головному серверу карт 
Port2 = 5555                 - порт для подключения к головному серверу карт

Запуск SYNCARD.EXE выполняется с ключами:

/INSTALL    - установка в качестве службы (рекомендуется)
/UNINSTALL  - удаление установленной службы
/DESKTOP    - запуск в качестве приложения

После первого запуска SYNCARD базы получат все необходимые метки автоматически и при наличии связи между серверами произойдет синхронизация данных.

Дополнительные приложения

CARDINFO - информация по карте

Приложение CARDINFO используется для получения основной информации по персональной карте, не запуская редактор карт и/или кассовую станцию.

Может использоваться совместно с редактором карт PCards или как отдельное приложение в составе ПДС, дополнительная лицензия или ключ защиты не требуется.

Примечание: С версии CARDINFO 1.10 поддерживается работа со считывателем карт (настройка аналогична PCARDS)

Использование совместно с PCards

Для совместного использования с редактором карт необходимо:

  • скопировать с фтп ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/CARDINFO  дистрибутив актуальной версии приложения и распаковать его содержимое в рабочий каталог PCards
  • на рабочем столе создать ярлык для запуска приложения
  • при необходимости подключить считыватель карт, настройка аналогична PCARDS

Примечание: Приложение CARDINFO для поддержки считывателей карт использует те же драйвера, что и PCARDS - если PCARDS уже настроен на поддержку считывателя карт, дополнительная настройка SYNCARD не требуется.

Использование в качестве отдельного приложения

Для использования в качестве отдельного приложения в составе ПДС необходимо:

  • скопировать с фтп ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/CARDINFO  дистрибутив актуальной версии приложения
  • распаковать содержимое архива, например в каталог \UCS\PDS\CARDINFO
  • скопировать в рабочий каталог приложения библиотеку связи - рекомендуется использовать RTCP.DLL
  • если необходимо отображать название скидок, скопировать в рабочий каталог приложения соответствующую библиотеку PCGET.DLL и библиотеки, необходимые для ее работы (см. описание настройки PCARDS)
  • создать или скопировать файл RKEEPER.INI  и настроить параметры (аналогично PCARDS):
[PCards]
CSLinkDLL  = RTcp      - имя библиотеки связи
CSLinkGate = 1         - номер клиента (добавляется к параметрам библиотеки связи)

[RTCP]
Client1 = CARDINFO     - уникальное имя клиентв для подключения к серверу карт
Server1 = 127.0.0.1    - IP-адрес сервера карт
Port1 = 3030           - TCP-порт для подключения к серверу карт
  • на рабочем столе создать ярлык для запуска приложения
  • при необходимости подключить считыватель карт, настройка аналогична PCARDS

Импорт списка карт

Приложение CARDIMP используется для загрузки на сервер карт списка карт из текстового файла установленного формата.
 
Формат текстового файла в точности соотв. формату файла для импорта списка карт в приложении PCards - см. соотв. раздел в описании PCards.
 
Для установки CARDIMP необходимо:
 
  • загрузить с FTP ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/CARDIMP дистрибутив актуальной версии приложения
  • распаковать содержимое архива, например в каталог \UCS\PDS\CARDIMP
  • скопировать в рабочий каталог приложения библиотеку связи - рекомендуется использовать RTCP.DLL
  • создать файл CARDIMP.INI и настроить параметры :
[Options]
LinkDLL = RTcp     - имя библиотеки связи

[RTcp]
Client1 =          - уникальное имя клиента для подключения к серверу карт
Server1 =          - IP-адрес сервера карт
Port1 =            - TCP-порт для подключения к серверу карт
 
Для запуска приложения не требуется ключ защиты и/или дополнительная лицензия.
 
Приложение не имеет интерфейса пользователя и запускается из консоли (командной строки) с указанием параметров:
Cardimp.exe Login Password FileName
где

Обслуживание базы данных

Если файл базы данных сервера карт (CARD.UDB) слишком большой, с помощью приложения DATACUT можно скомпоновать старые транзакции, по которым не нужны детальные отчеты.
 
Принцип работы приложения:
  • транзакции в удаляемом периоде, изменяющие остаток средств, будут суммированы в одну транзакцию для каждого счета
  • остальные транзакции этого периода будут удалены
  • вся остальная информация в БД останется без изменений
  • после создания новой БД, старая БД не удаляется, а переименовывается в файл вида BEFORE_CUT_yyyy-mm-dd, где yyyy-mm-dd - дата, до которой было произведено удаление транзакций
Важно: Приложение не позволяет удалять транзакции в БД за последние 90 дней.
 
Важно: При использовании распределенной ПДС (SYNCARD) перед удалением транзакций вcе базы данных дерева серверов должны быть синхронизированы (последняя синхронизация не более 90 дней назад).
 
Для использования приложения необходимо:
  • загрузить с FTP ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/DATACUT  дистрибутив актуальной версии приложения
  • распаковать содержимое архива в рабочий каталог сервера карт CARDSERV
  • остановить сервер карт CARDSERV
  • запустить приложение и дождаться успешной обработки БД
  • запустить сервер карт CARDSERV и проверить работу

 

Установка и настройка локальной ПДС

Общие сведения

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

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

Важно: Утилиты для импорта/экспорта карт и транзакций локальной ПДС работают только с версией сервера карт (CARDSERV) 6.01 и кассовым сервером не ниже версии 6.75n.

Дополнительно используются следующие компоненты:

 Перед началом установки специальных приложений и настройки дополнительных параметров, необходимо установить и настроить систему ПДС (CARDSERV 6.01b и выше c поддержкой подключения через RTcp, PCards 2.25 и выше). Также необходима установленная и настроенная кассовая часть версии 6.75n и выше.

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

Создание файла списка карт

Для создания файла списка карт (LPDS.DBF) используется приложение GETLIST.EXE . Для установки приложения скопируйте файлы getlist.exe, getlist.ini в любую директорию, например C:\RK6\GETLIST. Т.к. приложение GETLIST.EXE должно подключаться к серверу карт, необходимо в установленную директорию скопировать библиотеку связи (поддерживается подключение только через Rtcp.dll !). Для настройки приложения GETLIST.EXE используется файл GETLIST.INI:

[Options]
Path= <путь к директории, в которую будет записываться файл списка карт LPDS.DBF>

Далее идет секция для параметров библиотеки связи (поддерживается только Rtcp.dll ! ):

[Rtcp]
Server1 = <IP-адрес компьютера, где установлен CARDSERV>
Port1 = <порт для подключения к CARDSERV>
Сlient1 = <любое уникальное имя до 16 символов>

Примечание: Если установка всех приложений происходит на одном компьютере, то в качестве IP- адреса можно указать локальный адрес 127.0.0.1 . При этом необходимо использовать версию библиотеки связи RTCp.dll 6.02 и выше

После установки приложения необходимо создать ярлык (для приложения getlist.exe) на рабочем столе (в той папке, где созданы ярлыки для остальных приложений R-Keeper) и назвать его «Создание списка карт»

Важно: Сформированный файл списка карт (LPDS.DBF) должен находиться в дневной директории кассового сервера DATADABASE.  Для выполнения этого условия нужно настроить выгрузку файла LPDS.DBF на внешний носитель с остальными файлами менеджеской базы, для дальнейшего обновления кассы (см. раздел ниже).
 

Прием файлов списка транзакций от кассовых серверов

Для обработки файла транзакций, который будет сформирован кассовым сервером в процессе работы с картами ПДС, используется приложение UPTRANS.EXE. Для установки приложения скопируйте файлы uptrans.exe, uptrans.ini в любую директорию, например C:\RK6\UPTRANS. Т.к. приложение UPTRANS.EXE должно подключаться к серверу карт, необходимо в установленную директорию скопировать библиотеку связи (поддерживается подключение только через Rtcp.dll!). Для настройки приложения UPTRANS.EXE используется файл UPTRANS.INI:

[Options]
Path = <полный путь, по которому будут находиться файлы с транзакциями (см. раздел 3.1.3)>

[Rtcp]
Server1 = <IP-адрес компьютера, где установлен CARDSERV>
Port1 = <порт, через который подключаться к CARDSERV>
Client1 = <любое Уникальное имя до 16 символов>

Примечание: Если установка всех приложений происходит на одном компьютере, то в качестве IP- адреса можно указать локальный адрес 127.0.0.1 . При этом необходимо использовать версию библиотеки связи RTCp.dll 6.02 и выше

После установки приложения необходимо создать ярлык (для приложения uptrans.exe) на рабочем столе (в той папке, где созданы ярлыки для остальных приложений R-Keeper) и назвать его «Обработка списка транзакций»

 

Определение понятия «Пункт питания»

При использовании локальной ПДС возникает один вопрос – как контролировать остаток средств на балансе карты? Для этого как раз и введено понятие «Пункт питания». Смысл его в том, что карта может быть обслужена в пределах только того кассового сервера, у которого определен параметр CafeCode, значение которого совпадает со значением, указанным в свойствах карты. В свойствах карты значение, определяющее пункт питания, к которому будет привязана карта, вводится в поле «Тип неплательщика» на закладке «Параметры» (версия CARDSERV должна быть не ниже 6.01)

Примечание: При использовании локальной ПДС поле «Тип неплательщика» логичнее переименовать в «Пункт питания». Сделать это можно в языковом файле Pcards.rus с помощью спец. программы

Рассмотрим пример:  допустим, в свойствах карты в поле «Тип неплательщика» (или «Пункт питания», если использовать модифицированный языковый файл)  указано значение 89. В таком случае, эта карта может быть обслужена только на станциях, которые относиться к кассовому серверу, в конфигурационном файле RKEEPER6.INI которого указано CafeCode=89 (в случае использования DOS- серверов, понятие «кассовый сервер» и «станция» равнозначны)

Важно: При использовании локальной ПДС следует помнить, что единственный допустимый тип платежеспособности платежной карты - это карты с ограничением суммы на день!
 

Настойка приложения «Закрытия дня»

Перед тем, как приложение UPTRANS.EXE начнет обрабатывать файлы транзакций с кассового сервера, необходимо произвести операцию закрытия дня. Кассовый сервер формирует файл транзакций LTRANS.DBF в общей директории закрытого кассового дня (OLDRES). Затем закрытый день из директории OLDRES должен попасть в директорию ENDDAY на менеджерском компьютере (как это сделать в случае отсутствия связи между кассой и менеджерским компьютером см. раздел 5.1). При закрытии дня с помощью приложения APPEND32.EXE файл транзакций должен «выделиться» в отдельную директорию для последующей обработки приложением UPTRANS.EXE. Для этого в приложении APPEND32.EXE версии 6.82 введен параметр TransPath, который должен быть указан файле RKEEPER.INI в разделе [Appender]:

[Appender]
..............................................................
TransPath= <полный путь к директории, в которую.выделяется файл транзакций>

Примечание: Указанный в параметре TransPath путь должен совпадать с путем, указанным в параметре Path конфигурационного файла UPTRANS.INI

В некоторых случаях для упрощения процедуры закрытия дня, можно использовать параметр PostExe, который определен для приложения APPEND32.EXE в конфигурационном файле RKEEPER.INI. В качестве значения этого параметра необходимо указать полный путь к приложению UPTRANS.EXE – в таком случае обработка файла транзакций будет запускаться автоматически после каждой операции закрытия дня:

[Appender] ..........................................
PostExe = <полный путь к файлу UPTRANS.EXE> TransPath = <полный путь к директории, в которую выделяется файл транзакций> 

 

Описание формата файлов

Файл списка карт (LPDS.DBF) представляет собой таблицу DBASE III + со следующими полями:

Файл списка транзакций (LTRANS.DBF) представляет собой таблицу DBASE III + со следующими полями:

Дополнительные настройки для переноса данных

Использование локальной ПДС предполагает, что физической связи между менеджерским компьютером и кассовыми станциями (серверами) нет. Для обновления словарей на кассе может использоваться, например, flash-диск USB (или другой носитель, который поддерживается операционной системой DOS). На менеджерском компьютере необходимо настроить с помощью bat-файлов копирование базы словарей (копировать нужно все файлы из директории RK6\DB, за исключением ARK6.UDB).

Важно: Обязательно включите в список копируемых файлов файл списка карт LPDS.DBF (см. выше)

Аналогичным образом необходимо модифицировать файл autoexec.bat на каждой кассовой станции таким образом, чтобы файл списка транзакций LPDS.DBF копировался с внешнего носителя в дневную директорию кассового сервера DATABASE

Например, если flash –диск на кассе подключается как диск с буквой D:\ , то можно добавить в autoexec.bat следующую команду:

copy D:\RK6\DB\LPDS.DBF C:\RKCLIENT\DATABASE\*.*

Примечание: В примере предполагается, что менеджерская база находится на flash –диске в директории RK6\DB и кассовая программа установлена в директорию C:\RKCLIENT

Примечание для спец. проекта – «Котласский ЦБК»

На данном объекте используется стандартная версия локальной ПДС, за исключением того, что в качестве номера карты храниться табельный номер работника. Реальный код карты (используются бесконтактные карты EM-Marine) сохраняется в поле «Телефон 2», значение которого при выгрузке с помощью приложения GETLIST.EXE, записывается в поле CARD_NO файла списка карт LPDS.DBF (см. раздел 1.1). Для того, чтобы код карты записывался в поле «Телефон 2» при считывании, необходимо в конфигурационном файле RKEEPER.INI приложения PCards (версии 2.25 и выше) в разделе [PCards] прописать:

[PCards] ..........
Reader = 2

Примечание: Предполагается, что приложение PCards настроено для работы со считывателем карт

Т.к. реальный код карты записывается в поле CARD_NO, кассовый сервер должен «понимать» значение этого поля. Для этого необходимо скопировать на кассу две библиотеки:

Важно: Код ресторана, который формируется драйвером считывателя карт, должен обязательно иметь значение 88880000.

Для этого необходимо в RKEEPER6.INI на кассе прописать:

CorpCode=8888

Примечание: Параметр CorpCode относится к драйверу считывателя карт COMCARD.DLL

ВложениеРазмер
kconv.zip2.89 КБ
corjm.zip4.41 КБ

Использование http-протокола для FarCards (ExtDllHTTP.dll)

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

Использование HTTP-протокола для взаимодействия с ретранслятором карт Farcards исключают необходимость разработки интерфейсной библиотеки и расширяют возможности по интеграции сторонних систем с R-Keeper.

Дистрибутив

Для работы по протоколу http необходим следующий набор:

  1. Дистрибутив Farcards v604, доступен по адресу ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/FARCARDS/fc604.7z;
  2. Библиотека ExtDllHTTP.dll для связи с внешней системой по HTTP на основе протокола Farcards v29, доступна по адресу: ftp://ftp.ucs.ru/rk7/other/fc_http/

Структурная схема

Лицензирование

Обратите внимание, что на объекте пролицензировать можно только один экземпляр DLL.

Библиотека ExtDllHTTP.dll требует лицензирования.

Для лицензирования необходимо:

 

 

 

 

 

 

 

 

Рис. 1 - Авторизация в HTTP_LicGen.exe

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2 Выбор объекта

 

 

 

 

 

 

 

 

 

 

 

Рис. 3 Выбор даты окончания лицензии

 

 

 

 

 

 

 

 

 

 

 

Рис. 4 Результат успешного создания лицензии

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 5 Дата окончания лицензии меньше даты окончания уже сгенерированной лицензии

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 6 Информация о лицензии и просмотр событий

 

 

Настройка

Пример:    

[FarServer]
Type = 1
DLL = ExtDllHTTP.dll
Gate = 1
Log = 4

 

Пример:

[Server]

;Точка входа процессингового сервера
Address=http://192.168.101.141:80

;адрес обработчика функции GetCardInfoEx, т.е. это выполнится http://192.168.101.141:80/getcardinfoex.php
GetCardInfoEx=getcardinfoex.php

;адрес обработчика функции TransactionsEx
TransactionsEx=transactionsex.php

;адрес обработчика функции FindEmail
FindEmail=findemail.php

;адрес обработчика функции GetCardImageEx
GetCardImageEx=getcardimageex.php

;адрес для нотификации ошибок лицензирования
LicenseInfo=licenseinfo.php


;Прокси используется для запросов к серверу лицензий UCS 
[Proxy]

;Использовать прокси (1-да, 0 - нет)
UseProxy=0
BasicAuthentication=0
Server=127.0.0.1
Port=9944
UserName=
Password=
 

 

Локализация

Библиотека ExtDllHTTP.dll не требует локализации.

Для генератора лицензий Http_LicGen.exe есть возможность указать язык интерфейса - для  этого в файле конфигурации ExtDllHttp.ini необходимо установить параметр Localize в секции [LicGen]:

[LicGen]
Localize=LicGenEn.xlf

В параметре Localize можно указать как относительный, так и абсолютный (полный) путь к файлу локализации.

Файл английской локализации (LicGenEn.xlf) можно загрузить по ссылке http://localize.ucs.ru/en_GB/Http_LicGen/

Примечание: В переводе могут быть неточности,  правильность перевода  рекомендуется предварительно проверить.

 

Как работает механизм локализации:

  1. При запуске Http_LicGen.exe происходит попытка загрузить локализацию из файла, указанного в ExtDllHttp.ini
  1. Если файл конфигурации ExtDllHttp.ini не настроен либо нет указанного файла локализации илбо произошла ошибка при загрузке локализации, используется локализация по-умолчанию (RU).

 

Авторизация на внешнем сервисе

Если внешний сервис требует авторизации, необходимо задать имя пользователя и пароль (поддерживается только базовая авторизация).

Имя пользователя и пароль задаются через утилиту Http_LicGen.exe и хранятся в зашифрованном виде в файле ExtDllHttp.dat:

 

Спецификация протокола

Спецификация HTTP-протокола  доступна на FTP-сервере по ссылке: ftp://ftp.ucs.ru/rk7/other/fc_http/fc_http.pdf

Настройка MarketingDesktop


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

0.1. В данной статье описано, как настроить UCS MarketingDesktop.

0.2. Данное приложение позволяет работать с базой ПДС (устарело) или CRM; производить редактирование справочников, а также является расширенным инструментом по сегментированию гостей, выставлению тэгов гостей и организации коммуникации с гостями по средством EMail и SMS рассылки.

0.3. Инструкция по автоматическому развертыванию Marketing Desktop находится в месте хранения файлов ftp://ftpint.ucs.ru/R-Keeper.CRM/MarketingDesktop/

Важно: Система предоставляется только в облачном исполнении, отдельный дистрибутив недоступен.

ПО распространяется по SaaS модели.

0.4. Для связи с r_keeper_7 там же находится сборка FarCards.


1. Схема взаимосвязи модулей

Взаимосвязь модулей с ПДС (устарело) отображена ниже

Простейшая схема взаимосвязи модулей

Примечание: CardServ необходим не ниже версии 7.25

Так как используется распределенная ПДС (подробнее в статье http://support.ucs.ru/ru/node/6673#header-29), то подключать Сервер "CardServApi" необходимо только к центральному серверу ПДС "CardServ", который в свою очередь синхронизируется с локальными серверами с помощью SyncCard.

Рис. Взаимодействие модулей MarketingDesktop

Для работы с менеджерской частью MarketingDesktop требуется подключение к Internet.

При этом потеря связи с центральным сервером не критична для предоставления лояльности на кассах и система лояльности продолжит функционировать на локальном CardServ. Но синхронизируется как появится связь с центральным сервером.

База данных хранится в облаке на мощностях UCS. Бэкап базы предоставляется по требованию.


2. Лицензирование

Название ПО в системе лицензирования "R-Keeper модуль MarketingDesktop ПО".

На данный момент MarketingDesktop распространяется:


3. Настройки

на стороне r_keeper_7

В менеджерской станции необходимо настроить доступ к серверу справочников через HTTPS.

Подробнее инженерам документ здесь http://tracker.ucs.ru:8080/redmine/projects/-helpdesk-/wiki/r-keeper-7-xmlinterface-ru.

Кратко порядок действий будет следующий:

  1. В справочнике "Сервис - Менеджерская станция - Привилегии на объекты" добавить новую привилегию, например HTTP_порт.

Рис. Создание привилегии

  1. В свойствах сервера справочников прописать порт (параметр HTTP Data Port) в секции HTTP Server. Флаг Use Free Listen Port необходим, чтобы программа выбрала другой порт в случае, когда заданный в свойстве HTTP Data Port порт занят. Поэтому проверьте сразу свободен ли порт, который вы задаете. В блоке HTTP Ограничения выбрать ограничение, созданное в п 1. После сохранение изменений необходимо перезагрузить сервер.

Задание порта "HTTP Data Port" в свойствах сервера справочников.

  1. Создать роль с правами на привилегию из п.1.

 Создание новой роли

Также у данной роли должны быть следующие права:

 
Дополнительные привилегии
  1. Для этой роли добавить работника, задать ему пароль. Название  и пароль данного работника будут использоваться для авторизации на сервере через HTTPS.
 
Создание нового пользователя
 
Для проверки успешной авторизации по протоколу HTTPS откройте браузер и в адресной строке вбейте следующую строку: https://IP:PORT/rk7api/v1/serverstatus.xml, где IP:PORT - адрес и порт сервера справочников, например rkcloud.ucs.ru:50001.
Появится окно авторизации - введите название работника и пароль (п.4), далее в окне браузера должен отобразиться результат выполнения запроса serverstatus.xml:
 
Авторизация
 
Рис. Результат запроса serverstatus.xml

FarCards

Для подключения кассовых станций к MarketingDesktop необходимо в ресторане настроить httpFarCards со строкой подключения (в зависимости от настроек объекта в l.ucs.ru)

Address=https://имя-домена.r-keeper.ru/md_api/api/fc
или
Address=https://код-объекта.r-keeper.ru/md_api/api/fc

4. Работа в Web-интерфейсе

  1. Открыть в браузере страницу с окном логирования и ввести логин и пароль пользователя из РК7. Для пользователей RK-Cloud ссылка будет иметь вид http://rkcloud.ucs.ru/code_rest/MD/login, где code_rest - полный код ресторана (9 цифр).

Рис. Окно авторизации

Примечание: при доступе из RK-Cloud необходимо в меню выбрать ПДС -> Marketing_Desktop. Веб-интерфейс доступен по ссылке http://rkcloud.ucs.ru/code_rest/Home/Login, где code_rest - это полный код ресторана (9 цифр). 

  1. В качестве логина использовать значение свойства EmployeeEMail работника (см.рис ниже).

Рис. Свойства работника

  1. Как выглядит интерфейс, можно посмотреть на рисунке ниже.

Рис. Web-интерфейс MarketingDesktop

Настройка MarketingDesktop для внутреннего пользования

 

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

Данное приложение позволяет работать с базой ПДС и производить редактирование справочников, а также является расширенным инструментом по сегментированию гостей, выставлению тэгов гостей и организации коммуникации с гостями по средством EMail и SMS рассылки.

В данной статье описано как настроить MarketingDesktop.

Дистрибутив 

Важно: Система предоставляется только в облачном исполнении, отдельный дистрибутив недоступен.

Схема взаимосвязи модулей

Взаимосвязь модулей отображена ниже

Рис. Простейшая схема взаимосвязи модулей

Примечание: CardServ необходим не ниже версии 7.25

Так как используется распределенная ПДС (подробнее в статье http://support.ucs.ru/ru/node/6673#header-29), то подключать Сервер "CardServApi" необходимо только к центральному серверу ПДС "CardServ", который в свою очередь синхронизируется с локальными серверами с помощью SyncCard.

Рис. Взаимодействие модулей MarketingDesktop

Для работы с менеджерской частью MarketingDesktop требуется подключение к Internet.

При этом потеря связи с центральным сервером не критична для предоставления лояльности на кассах и система лояльности продолжит функционировать на локальном CardServ. Но синхронизируется как появится связь с центральным сервером.

База данных хранится в облаке на мощностях UCS. Бэкап базы предоставляется по требованию.

Лицензирование

Название ПО в системе лицензирования "R-Keeper модуль MarketingDesktop ПО".

На данный момент MarketingDesktop распространяется:

Настройки на стороне R_Keeper v7

В менеджерской станции необходимо настроить доступ к серверу справочников через HTTPS. Подробнее читайте здесь http://tracker.ucs.ru:8080/redmine/projects/-helpdesk-/wiki/r-keeper-7-xmlinterface-ru.

Кратко порядок действий будет следующий:

  1. В справочнике "Сервис - Менеджерская станция - Привилегии на объекты" добавить новую привилегию, например HTTP_порт.

Рис. Создание привилегии

  1. В свойствах сервера справочников прописать порт (параметр HTTP Data Port) в секции HTTP Server. Флаг Use Free Listen Port необходим, чтобы программа выбрала другой порт в случае, когда заданный в свойстве HTTP Data Port порт занят. Поэтому проверьте сразу свободен ли порт, который вы задаете. В блоке HTTP Ограничения выбрать ограничение, созданное в п 1. После сохранение изменений необходимо перезагрузить сервер.

Рис. Задание порта "HTTP Data Port" в свойствах сервера справочников.

  1. Создать роль с правами на привилегию из п.1.

Также у данной роли должны быть следующие права:

Рис. Создание новой роли
 
 
Рис. Дополнительные привилегии
  1. Для этой роли добавить работника, задать ему пароль. Название  и пароль данного работника будут использоваться для авторизации на сервере через HTTPS.
 
Рис. Создание нового пользователя
 
Для проверки успешной авторизации по протоколу HTTPS откройте браузер и в адресной строке вбейте следующую строку: https://127.0.0.1:3355/rk7api/v1/serverstatus.xml. 127.0.0.1:3355 - адрес и порт сервера справочников.
Появится окно авторизации - введите название работника и пароль (п.4), далее в окне браузера должен отобразиться результат выполнения запроса serverstatus.xml:
 

Настройка CardServApi.exe

  1. В файле \srcbin\rkeeper.ini в секции [RTcp] прописать IP-адрес и порт Сервера карт - CardServ.exe
[RTcp]

Server1 = 192.168.101.82

Port1 = 3055
  1. В файле .\CardServApi.ini в секции [Main] прописать свободный порт, который будет слушать сервер API. Его нужно будет так же ввести в файле Web.Config (пункт ниже "Настройка IIS"). Для параметра UCSPassword прописать пароль пользователя ucs из системы ПДС (по-умолчанию пароль = "ucs").

Примечание: если в ПДС пользователь "ucs" был единственный в группе "Administrator", то рекомендуется создать еще одного пользователя в данной группе(роли) до запуска CardServApi.exe.

[Main]

HttpPort=9988

UCSPassword=ucs
  1. В том же файле, но в секции [RK7] прописать IP-адрес и HTTP-порт сервера справочников согласно рис 2 и логин/пароль согласно рис 4
[RK7]

ip=192.168.101.82

port=3355

username=http_User45

password=45

ShowMarkups=0
  1. Выполнить CardServApi.exe /install. Запустить службу CardServApiService

  2. Логи служба пишет в папку Logs.

Интерграция CardServApi с Postgres

Поддержано в версии CardServApi 1.0.0.16 и выше.

  1. Установить Postgres 9.6, создать базу данных.

  2. Задать настройки коннекта к Postgres в CardServApi.ini:

[PG]

ip=127.0.0.1

port=5432

dbname=cardserv

username=user

password=1
  1. В корневой папке с Cardservapi для связи с Postgres должны быть файлы:
  1. Если используется RK6, то в секции [Main] выставить параметр UseRk6Image в 1. По умолчанию 0. 
[Main]

UseRk6Image = 1
  1. Если служба не запускается, установить MS Visual C++ 2013

Настройка Web-интерфейса

Для работы Web-интерфейса необходим сервер IIS.

Сервер IIS должен быть настроен и запущен. Подробнее о настройках читайте в  статье http://support.ucs.ru/ru/node/8649  и дополнительно в статье http://support.ucs.ru/ru/node/7888 и http://support.ucs.ru/ru/node/7889.

Так же можно найти информацию на сайте https://technet.microsoft.com/en-us/library/hh831515(v=ws.11).aspx.

После включения сервера IIS выполняем следующее:

  1. Запускаем "Диспетчер служб IIS";

  2. Распаковываем архив marketingDesktop.zip в любой каталог на диске (например, D:\UCS\Marketing_desktop\web_v7\);

  3. В "Диспетчере служб IIS" добавить новый сайт (приложение), где в качестве физического пути к приложению выбрать папку из пункта выше (D:\UCS\Marketing_desktop\web_v7\);

  4. Прописать свободный порт для данного сайта, например 8002; Нажать кнопку "OK";

  5. В свойствах пула выбрать версию Фреймворка 4. Если не доступна данная версия, то обновить Фреймворк.

Рис. Основные настройки пула

 
  1. В файле Web.config изменить следующие параметры:
  • ApiHost - URL сервера CardServApi

  • ApiTimeout - таймаут выполнения запросов к серверу Api

Фрагмент файла:

...

<add key="ApiHost" value="http://127.0.0.1:9988/" />

<add key="ApiTimeout" value="10000" />

...
  1. При изменении файла Web.config приложение IIS необходимо перезагрузить, чтобы новые настройки вступили в силу.

  2. После в браузере открыть страницу http://127.0.0.1:8002/ и ввести логин и пароль пользователя из РК7. Для пользователей RK-Cloud ссылка будет иметь вид http://rkcloud.ucs.ru/code_rest/MD/login, где code_rest - полный код ресторана (9 цифр).

Рис. Окно авторизации

Примечание: при доступе из RK-Cloud необходимо в меню выбрать ПДС -> Marketing_Desktop. Веб-интерфейс доступен по ссылке http://rkcloud.ucs.ru/code_rest/Home/Login, где code_rest - это полный код ресторана (9 цифр). 

  1. В качестве логина использовать значение свойства EmployeeEMail работника (см.рис ниже).

Рис. Свойства работника

  1. Как выглядит интерфейс, можно посмотреть на рисунке ниже.

Рис. Web-интерфейс MarketingDesktop