Настройка связи с ПДС
Введение
Персональная депозитно-дисконтная система (ПДС) предназначено для ведения собственной базы персональных платежно-дисконтных карт и организации работы с различными элементами системы лояльности, например скидками, бонусами, накоплениям и т.д.
Настройка системы ПДС
Установка и настройка системы ПДС подробно описана в документе Установка и настройка системы ПДС. Без предварительной установки, настройки и запуска системы ПДС как самостоятельного ПО, дальнейшее прочтение данной статьи не имеет смысла.
Настройка сервера карт (CARDSERV)
Версия сервера карт (CARDSERV) должна быть не ниже 5.08 (протокол версии 14).
Ели используется ретранслятор карт Farcards, он должен быть не ниже версии 3.02.
Стандартная установка и настройка сервера карт описана в статье Установка и настройка системы ПДС. После установки и настройки сервера карт для связи с r_keeper 7 необходимо:
- Из директории \bin\For cardserv дистрибутива соответствующей версии RK7 (архив zip из папки standalone на ФТП) скопировать в рабочую директорию сервера карт следующие файлы:
- borlndmm.dll
- dllman.dll
- errors32.dll
- Netkern.dll
- pds_netk.dll
- TCPSOC.dll
- Thread32.dll
- netk.ini - файл, расположен в директории \bin\For cardserv\ini\
- cardserv.ini - подготовленный файл, расположенный в директории \bin\For cardserv\ini\. Данный файл адаптирован исключительно для связи Сервера карт с RK7. Если связи с RK6 не будет, то используйте этот файл.
Если соответствующего архива из папки standalone\ с версией RК7 нет, но есть инсталлятор кассовой части (RK7_Cash_Setup_7.5.Х.exe), набор библиотек необходимо брать из директории, указанной при установке (1) и обязательно нажать кнопку "Добавить" (2) после выбора пути, куда будут скопированы библиотеки.
Выбор пути для сохранения pds_netk.dll:
- Отредактировать конфигурационный файл сервера карт CARDSERV.INI:
Добавить в секцию [LinkDLL] библиотеку связи pds_netk.dll для взаимодействия с RK7.
[LinkDLL] ... 3 = pds_netk
CODEДобавить секцию [pds_netk] с параметрами библиотеки pds_netk.dll:
[pds_netk] NetServerName=PDS_CARDSERVER_1 ;; сетевое имя сервера карт, то же имя должно быть вписано в свойствах PDS interface на кассовом сервере, подробности ниже ERRORLOG=pds_netk.stk ;; имя лог-файла ININAME=netk.ini ;; имя отдельного конфигурационного файла с настройками протоколов и netkern, необязательный параметр PROTOCOLS=netkprot\*.dll ;; маска поиска библиотек протоколов netkern, используется если не задан параметр ININAME Timeout=120000 ;; таймаут в миллисекундах, максимальное разрешённое время выполнения сервером запроса; до версии pds_netk 5 значение по умолчанию было 10000 ;; начиная с версии 10 (7.10.0.32) значение параметра игнорируется, таймаут на сервере отсутствует; проверяется только таймаут, который настраивается ;; в свойствах драйвера/интерфейса ПДС для кассового сервера DebugMessages=0 ;; при значении 1 выводит в лог основную информацию по всем запросам
CODEЗапустить сервер карт в режиме приложения (/desktop) и проверить статус загруженных библиотек связи на вкладке Protocols.
Помните, что для взаимодействия сервера карт и редактора карт необходим протокол RTCP.
Загруженные библиотеки связи на примере сервера карт версии 7.22.02:
Настройка редактора карт PCards
Стандартная установка и настройка редактора карт описана в документе Установка и настройка системы ПДС.
Редактор карт (PCards.exe) и кассовый сервер RK7 (midserv.exe) используют конфигурационные файлы с одинаковым названием (RKEEPER.INI), поэтому их следует устанавливать в разные каталоги. Если необходимо установить приложения в один каталог, для кассового сервере следует использовать отличительный конфигурационный файл и при запуске кассового сервера принудительно указать имя этого файла в командной строке.
После стандартной установки и настройки редактора карт для связи с RK7 необходимо:
- Из директории \bin\For cardserv дистрибутива соответствующей версии RK7 скопировать в рабочую директорию редактора карт следующие файлы:
- borlndmm.dll
- dllman.dll
- errors32.dll
- Netkern.dll
- thread32.dll
- Pcget.dll
- TCPSOC.dll
- Thread32.dll
- netk.ini - необязательный файл, расположен в директории \bin\For cardserv\ini\
- rkeeper.ini - подготовленный файл, расположенный в директории \bin\For cardserv\ini\
Данный файл адаптирован исключительно для связи Редактора карт с RK7. Если связи с RK6 не будет, то используйте этот файл.
Pcget.dll – интерфейсная библиотека для Pcards.exe, используется для авторизации пользователей и получения данных по скидкам и бонусам из системы R-Keeper 7. Для получения информации по скидкам и бонусам в секции [PCGET] необходимо прописать сетевое имя сервера справочников.
- Отредактировать конфигурационный файл редактора карт RKEEPER.INI
Добавить секцию [PCGET] с параметрами библиотеки Pcget.dll:
[PCGET] Server = RK7_REF_SRV – имя сервера справочников RK7 Client = PCARDS_CLIENT1 – уникальное имя клиента ShowMarkups = 0 – загружать(1) или нет(0) наценки в список скидок LastLoginName= – имя последнего пользователя, вошедшего в редактор карт, заполняется автоматически
CODEДобавить секцию [NETKERN] для сетевых параметров - более детальная информация в документе Поддерживаемые протоколы и настройка сети.
[NETKERN] PROTOCOLS= tcpsoc.dll
CODEДобавить секцию [TCPDNS] с параметрами, детализирующими расположение сервера справочников системы RK7:
[TCPDNS] RK7_REF_SRV = AAA.BBB.CCC.DDD:1234 - где AAA.BBB.CCC.DDD - IP адрес машины, на которой работает сервер справочников, и 1234 - порт сервера справочников.
CODEЗапустить редактор карт. Если база новая, то используйте следующие данные для входа: пользователь = ucs, пароль = ucs.
Права в редакторе карт редактируются для роли, поэтому необходимо дать все права группе Administrator. Для этого необходимо зайти в справочник "Файл - Пользователи", выбрать роль и разрешить все операции.
Редактирование прав группы пользователей:
- Далее необходимо проверить доступность скидок и бонусов в режиме редактирования данных клиента. Подробнее как добавить клиента и карту читайте в пользовательском руководстве.
Настройка r_keeper
Настройка менеджерской станции
Для настройки менеджерской станции r_keeper:
- Авторизуйтесь в менеджерской станции r_keeper
- Перейдите в меню Настройки > Параметры
- Перейдите в раздел Установочные > Связь с другими системами > Персональные карточки > ПДС Сервер
Перейдите в свойства параметра
В разделе Основное в поле Строковый пропишите имя сервера карт, значение которого должно соответствовать значению параметра NetServerName из конфигурационного файл сервера карт CARDSERV.INI
Настройка параметра ПДС сервер не актуальна при использовании нескольких ПДС-интерфейсов на одном кассовом сервере. Приоритет данного имени сервера ниже имени, прописанного в свойствах интерфейса на кассовом сервере.- Перейдите в меню Сервис > Станции и Устройства
- Выберите нужный кассовый сервер и на вкладке Устройства добавьте интерфейс PDS Interface
- В свойствах интерфейса пропишите имя сервера карт — в поле PDS Server Name. Значение должно соответствовать значению параметра NetServerName из конфигурационного файла сервера карт CARDSERV.INI
- При необходимости заполните или настройте остальные параметры интерфейса:
- Currency Rate Class Code — код класса ставок валюты ПДС. 1 – класс национальной валюты
- Tax Code — код налога
- Call Timeout — таймаут обращения к серверу ПДС в секундах
- Maximal Discount Value — интерпретация нулевого значения лимита скидки, возвращаемого сервером карт:
- Discount limit spent totally — лимит скидки полностью исчерпан, является значением по умолчанию
- No limits — игнорировать лимит скидки
- Defaulter Type Code as — интерпретация кода неплательщика:
- Defaulter type code — использовать как код типа неплательщика, является значением по умолчанию
- Currency subaccount base — добавка к номеру субсчета, т.е. для разных карт будут добавляться разные числа (коды) к номеру субсчета
- Look Uo Card by Mail Addr — использовать электронный адрес для поиска карты
- Mail Addr Type Kind — тип электронного адреса — e-mail.
- Перейдите в меню Сервис > Интерфейсы
- Выберите логический интерфейс Персональная дисконтная система (ПДС) и проверьте установленные соответствия для кассовых серверов и ПДС-интерфейсов
- Перезапустите кассовый сервер
- Перейдите в меню Сервис > Обработка сигналов устройств > MCR алгоритмы
- Настройте MCR-алгоритм:
- В поле Область выберите Интерфейс
- В поле Объект — Персональная дисконтная система (ПДС)
Если вы планируете использовать карты сотрудников в качестве карт ПДС — в этом случае должно быть два MCR алгоритма: один с областью Интерфейс, второй с областью Работник. В редакторе заказа MCR алгоритм работник будет игнорироваться, если не входить в форму временная регистрация. Подробнее про MCR алгоритмы см. документ Настройка MCR алгоритмов.
- Сохраните изменения.
Готово, все настройки в менеджерской станции выполнены.
Оплата и пополнение карт ПДС на кассе РК7
Для возможности оплаты и пополнения карт ПДС на кассе r_keeper необходимо:
- В менеджерской станции перейдите в меню Настройки > Параметры
- Перейдите в раздел Параметры работы станции > Редактирование заказа > Расчет/Оплата заказа
- Выберите параметр Оплата платежной картой
- Выберите для свойства Значение вариант Спрашивать
- Перейдите в меню Деньги > Валюты
- Выберите валюту для ПДС и перейдите в свойства
- Раскройте раздел Интерфейс и укажите:
Доп. инфо — включите настройку
Доп. инфо с клавиатуры — включите настройку
Интерфейс — укажите логический интерфейс ПДС
Интерфейс необходим — включите настройку
Код транзакции — укажите 0.
Cекция Интерфейс доступна только для дилеров.
Параметры Интерфейс необходим, Доп. инфо и Доп. инфо с клавиатуры в версиях 7.5.3.260 и выше исключены
Перейдите в меню Деньги > Скидки и Наценки
Создайте суммовую наценку, которая будет использоваться при пополнении карты
В поле Код транзакции установите значение 0, а в поле Интерфейс — укажите логический интерфейс ПДС
Перейдите в меню Деньги > Причины внесения/выдачи денег
Создайте причину и заполните следующие свойства:
- Пополнение баланса — Фискальное
- Внесение денег — Да
- Наценка — выбрать наценку, созданную на предыдущем этапе.
Чтобы внесенные суммы не отражались на фискальном регистраторе как внесение, в свойствах схемы печати Пополнение баланса для свойства Класс осн. принтера укажите другой принтер либо выберите вариант Не печатать.- Для печати макетов Пополнение баланса и Изъятие денег с карты ПДС, необходимо сделать копии макетов Пополнение баланса и Изъятие денег с карты ПДС, затем в свойствах выставить флаг ТРЕНИРОВКА.
- Сохраните изменения.
Готово, карта настроена. Проверьте настройки. Для этого считайте карту на кассовой станции в режиме редактирования заказа:
- Если карта найдена, появится окно с информацией по карте и ее владельцу
Если карты нет, система покажет соответствующую информацию
Если в редакторе карт у клиента есть фотография, а на кассе она не отображается, то необходимо в менеджерской станции r_k 7 включить параметр Все > Установочные > Связь с другими системами > Персональные карточки > ПДС Показывать картинку.
Отладка взаимодействия кассового сервера r_k 7 по PDS-протоколу
В некоторых случаях может потребоваться отладка взаимодействия кассового сервера r_k 7 по PDS-протоколу.
Исходные условия для использования отладки:
- Версия pds_netk.dll должна быть не ниже 7.0.29.0. Актуальную версию библиотеки можно взять из любого текущего бинарного дистрибутива r_k в каталоге \bin\For cardserv
- При обновлении pds_netk.dll рекомендуется также обновлять набор сопутствующих библиотек: errors32.dll, Netkern.dll и т.д. — полный список см. выше.
- Библиотеки необходимо обновлять во всех рабочих каталогах, где они используются: r_k, Cardserv, Farcards и т.д.
Для включения отладки необходимо:
В конфигурационном файле FARCARDS.INI и/или CARDSERV.INI в секции [pds_netk] добавить параметр DebugMessages=1:
[pds_netk] ... DebugMessages=1 ...
CODEВ конфигурационном файле кассового сервера RKEEPER.INI в секции [Config] добавить параметр DebugMessages=34:
[Config] ... DebugMessages=34 ...
CODE- Перезапустить все приложения: кассовый сервер, Farcards, Cardserv и т.д.
Расширенное логирование будет фиксироваться в файле pds_netk.stk.
При необходимости передайте результат отладки в службу поддержки, в дополнении к файлу pds_netk.stk также потребуются логи кассовой станции (cash.stk), кассового сервера (midsrv.stk), Farcards (Farcards.LOG) и/или Cardserv (Cardserv.log).