- Введение
- Состав системы
- Лицензирование
- Сервер карт (CARDSERV)
- Редактор карт
- Настройки связи с r_keeper_7
- Ретранслятор запросов FARCARDS
- Дополнительные приложения
Введение
Программа Персональная дисконтная система (далее — ПДС) предназначена для ведения собственной базы персональных платежно-дисконтных карт и организации работы с различными элементами системы лояльности (скидки, бонусы, накопления и т.д.)
Как правило, ПДС устанавливается в качестве дополнения к системе R-Keeper, но может работать и как самостоятельное ПО.
Состав системы
В состав системы входят следующие обязательные приложения:
- Сервер карт (CARDSERV) - основное приложение системы, управляет базой данных и обеспечивает взаимодействие с клиентами ПДС
- Редактор карт (PCARDS) - приложение для управления справочниками системы и получения базовой отчетности
Также в состав системы входят дополнительные (необязательные) модули:
- Ретранслятор запросов (FARCARDS) - универсальный модуль, предназначенный для организации различных схем работы - в большинстве случаев используется независимо от основных модулей ПДС для организации связи со сторонними системами
- Синхронизация серверов карт (SYNCARD) - приложение для синхронизации головной и локальных серверов карт в распределенной схеме ПДС
- Импорт карт (CARDIMP) - приложение для пакетной загрузки карт в стандартном формате импорта (CSV)
- Информация по карте (CARDINFO) - приложение для получения информации по карте
- Обслуживание БД сервера карт (DATACUT) - приложение для уменьшения размера базы данных за счет компоновки старых транзакций
Примечание: Все модули ПДС устанавливаются и работают под управлением Windows
Лицензирование
Для работы модуля "Редактор карт" (PCARDS) требуется аппаратный ключ защиты Guardant Stealth II (USB), подготовленный специальным образом.
Дополнительное лицензирования ни со стороны ПДС, ни стороны R-Keeper не требуется.
Сервер карт (CARDSERV)
Назначение сервера карт
В функции сервера карт входит управление базой данных и обспечение взаимодействия с клиентами системы ПДС (кассовая система или другое ПО, в том числе стороннее)
Состав сервера карт
Сервер карт состоит из следующих компонентов:
- База данных в формате UDB - card.udb
- Исполняемый файл сервера Cardserv.exe
- Конфигурационный файл сервера CARDSERV.INI
- Библиотеки связи (RTCP.DLL, RLOCAL.DLL, RNBOPEN.DLL и т.д.)
- Утилита для обновление базы данных до соотв. версии - Cardup.exe
Установка сервера карт
Для установки сервера карт необходимо:
- загрузить с FTP полную сборку ПДС ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/PDS.zip
- распаковать содержимое архива.
Архив содержит полностью рабочую сборку ПДС, не нужно ничего ставить дополнительно.
Обновление сервера карт
Для обновление версии сервера карт необходимо:
- загрузить с FTP ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/CARDSERV дистрибутив актуальной версии севера карт
- скопировать утилиту Cardup.exe из подкаталога дистрибутива \UPGRADE в рабочий каталог сервера карт
- остановить сервер карт
- сделать резервную копию базы данных card.udb
- запустить утилиту Cardup.exe и выполнить обновление БД
- скопировать новую версию сервера карт Cardserv.exe из подкаталога дистрибутива \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 Примечание: Модули связи загружаются и инициализируются в том же порядке, как указаны в секции [LinkDLL]
Примечание: Рекомендуется в секции [LinkDLL] указывать только необходимые библиотеки связи. После запуска сервера требуется некоторое время (5-20 сек) для иницилизации всех подключаемых модулей связи
Далее идут индивидуальные секции параметров для каждой библиотеки связи:
[RNetBios] ; секция параметров для модуля связи NETBIOS Server = PCSERV ; уникальное (в пределах локальной сети) регистрозависимое сетевое NETBIOS-имя сервера карт [RNBOpen] ; секция параметров для модуля связи RNBOPEN Server = ASERV ; уникальное (в пределах локальной сети) регистрозависимое сетевое NETBIOS-имя сервера карт, используется ТОЛЬКО для подключения кассовой системы R-Keeper v6
[RTcp] ; секция параметров для модуля связи RTCP Port = - порт TCP/IP для входящих подключение, любой уникальный свободный/открытый сетевой порт для связи через него с сервером карт. Обычно от 3000 до 5000. [RLocal] ; секция параметров для модуля связи RLOCAL Port = 0 - порт для локальных подключений, можно указать произвольное число
Особенности использования модулей связи
- При подключении модулей связи, использующих протокол NetBios (RNBOPEN.DLL и NETBIOS.DLL), следует учитывать, что модули будут загружаться на всех номерах адаптеров NetBIOS, найденных в ОС Windows - это приводит к некоторым задержкам при запуске сервера карт. Если сервер карт настроен на одновременную поддержку различных модулей связи, рекомендуется в секции [LinkDLL] указывать модули с поддержкой NetBIOS в конце списка
- При установке сервера карт на 64-х битную ОС модули связи с поддержкой NetBIOS будут работать некорректно - модуль NETBIOS можно заменить модулями RTCP и/или RLOCAL, для модуля RNBOPEN замены нет, но начиная с версии кассы 6.102 есть возможность настроить альтернативное подключение по протоколу TCP/IP, использую модуль связи RTCP
Таким образом, при установке сервера карт на 64-х битную версии ОС Windows, целесообразно использовать всего два модуля связи: RTCP (для всех удаленных подключений, включая кассу и кассовый сервер) и RLOCAL (для всех локальных подключений)
Запуск сервера карт
Запуск CARDSERV.EXE возможен как в качестве приложения, так и в качестве службы (сервиса)
Для запуска сервера карт не требуется сторонних компонентов, включая BDE. Также для запуска сервера карт не требуется ключ защиты и/или лицензия
Режим запуска определяется ключем:
- /DESKTOP - запуск сервера как приложения
- /INSTALL - установка сервера в качестве службы (сервиса)
- /UNINSTALL - удаление установленной службы (сервиса) сервера
На одном компьютере может быть одновременно запущено несколько серверов с разными настройками и базами
После запуска в системном трее должна появиться иконка работающего сервера карт, при двойном клике на которую можно открыть графический интерфейс сервера и проверить статус работы:
- Вкладка "Database" - общие сведения
- Вкладка "Connects" - список подключившихся клиентов
- Вкладка "Protocols" - список библиотек связи с параметрами и состоянием. Если сервер запущен как приложение, будет доступно Popup-меню для закрытия (Shutdown)
При установке сервера карт в ОС Windows 7 (и выше) и запуске в качестве службы, в системном трее иконка отображаться не будет
Параметр Bonus=DISCOUNT
Для более четкого понимания параметра, описание вынесено в отдельный раздел.
В системе ПДС для бонусов не реализована поддержка уровней в зависимости от потрат владельца карты, тогда как для скидок такой функционал есть (составные скидки) - использование параметра Bonus=DISCOUNT позволяет включить механизм поддержки составных бонусов
Схема работы:
- в модуле "Редактор" (RK6) или в менеджерской станции RK7 создаются бонусы, необходимые для формирования уровней
- в модуле "Редактор" (RK6) или в менеджерской станции RK7 создаются виртуальные (или реальные - в завимости от ситуации) скидки с кодами, в точности соотв. кодам бонусов, созданных на предыдущем этапе
- в редакторе карт создаются составные скидки по тем правилам, по которым должны работать будущие составные бонусы, при этом в качестве скидок для каждой составной скидки применяются специально созданные скидки
- в редакторе карт для карт назначаются составные скидки
Оособенности использования:
- сервер карт всегда будет возвращать и код скидки и код бонуса, которые будут одинаковыми при использовании параметра 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) является основным пользовательским модулем в составе ПО ПДС и предназначен для создания и управления базой карт (счетов). Также в модуле доступна базовая отчетность по системе ПДС.
- Логин по умолчанию: ucs. Если подходит, попробуйте 1
- Пароль по умолчанию: ucs. Если подходит, попробуйте 1
Установка редактора карт
Установка редактора карт может быть выполнена на том же ПК, где находится сервер карт, либо на любом другом в пределах связи с сервером карт.
Для запуска редактора карт требуется лицензионный ключ защиты Novex Guardant II
В скачанном ранее архиве есть редактор карт. Для его запуска откройте приложение PCARDS.EXE
Настройка редактора карт
Конфигурация редактора карт хранится в файле 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-я группа и т.д.
[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
- кодировка файла ANSI (Windows)
- каждая отдельная строка соответствует одной карте
- в каждой строке несколько полей, разделенных запятыми
-
если запятая требуется в содержимом поля, поле надо заключить в двойные кавычки (например, "ул. Мира, д. 10")
-
если в содержимом поля требуются кавычки, то все эти кавычки надо удвоить и всё поле надо заключить в кавычки. Например, название подразделения ООО "Ромашка" должно быть указано так "ООО ""Ромашка"""
- если карты еще нет на сервере, для нее создается новый счет
- если счет с такой картой уже есть, его свойства изменяются
1023,31.12.2007,5,10,02.02.2002,Иванов Иван Иванович 1024,01.01.2008,2,1,05.11.1980,А.Б.Сидоров,1 1027,12.03.2007,2,,,Алексей Толстой,4,5000,222-22-22,,tolstoy@test.su,Тест 2,17.08.2020,10,,05.03.1970,В.Я. Бирюков,,,,biryukov@mail.ru,Мое подразделение
Пакетное начисление средств
В приложении PCards есть возможность выполнять импорт операций начисления средств из текстового файла (CSV) установленного формата.
Операция импорта доступна в меню по правому клику мыши в режиме отображения счетов (Файл ⇒ Счета):
Рис. Операция импорта операций из текстового файла |
Требования к текстовому файлу — соответствие формату CSV
- кодировка файла ANSI (Windows)
- каждая отдельная строка соответствует одной операции
- в каждой строке несколько полей, разделенных запятыми
- если запятая требуется в содержимом поля, поле надо заключить в двойные кавычки (например, "Зачисление дотации, ноябрь")
- если в содержимом поля требуются кавычки, то все эти кавычки надо удвоить и всё поле надо заключить в кавычки, например, "Зачисление от компании ООО ""Ромашка"""
Описание полей для каждой записи файла:
1023, 550.00 1024, 1745.25, Доначисление за ноябрь 1027, 0.50, Автоматический бонус 2, -25, Штраф за разбитую посуду
Подключение считывателя карт
Для более удобной работы с картами в приложении PCARDS можно подключить внешний считыватель, например:
- считыватель магнитных карт
- считыватель бесконтактных карт
- сканер штрих-кодов
Для подключения считывающего устройства требуется специальный драйвер, поддерживающий работу с данной моделью считывателя.
Общий список драйверов можно посмотреть на фтп ftp://ftp.ucs.ru/r-keeper/versions/COM_READ. В каждом каталоге для конкретного устройства есть несколько подкаталогов \CARDREAD, \COMCARD, WINCAS и т..д - в подкаталоге \CARDREAD находятся драйвера для поддержки данной модели считывателя в приложении PCARDS
Для установки драйвера необходимо:
- загрузить с FTP ftp://ftp.ucs.ru/r-keeper/versions/COM_READ требуемый драйвер
- распаковать содержимое архива в рабочий каталог PCARDS
- настроить конфигурационный файл CardRead.ini (описание параметров драйвера см. в файле README.TXT)
Пример конфигурационного файла 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)
Настройка MCR алгоритма
Если вы хотите проверить работу ПДС в действии, но карты для проверки нет — можно проверить работу с помощью ввода с клавиатуры.
- Создайте MCR-алгоритм типа обработка по маске
- В поле Объект укажите привязанный ранее интерфейс. В нашем случае это ПДС
- В поле Типы устройств выберите:
- Клавиатура
- Магнитная карта
- В поле Маска обработки укажите маску. В нашем случае это 4 цифры — iiii
- В поле Область выберите Интерфейс
- Активируйте алгоритм и сохраните
Запустите кассу и создайте заказ.
Нажмите кнопку Ввод с клавиатуры и введите номер существующей карты в соответствие с маской обработки.
Если сервер запущен, карта существует и не просрочена — на экране появится информация о ней.
Для активации скидки или бонуса нажмите на картинку.
Ретранслятор запросов FARCARDS
Приложение FARCARDS является ретранслятором - оно принимает запросы от клиентов (например, от кассовой системы) и передает эти запросы либо к серверу персональных карт (CARDSERV) либо во внешнюю (стороннюю систему), а также возвращает клиентам ответы от сервера карт или внешней системы.
Особенность FARCARDS заключается в отсутствии каких-либо встроенных механизмов хранения информации о персональных картах.
Взаимодействие с внешней системой обеспечивается специальной интерфейсной библиотекой, реализованной согласно спецификации FARCARDS.
Установка FARCARDS
Установка выполняется по аналогии с установкой сервера карт:
- загрузить с FTP ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/FARCARDS дистрибутив актуальной версии ретранслятора
- создать каталог, например UCS\PDS\FARCARDS и скопировать в него содержимое дистрибутива
- загрузить с FTP ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/netdll.7z архив с библиотеками связи и распаковать содержимое архива в рабочий каталог 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:
- имеется ресторан с работающей системой персональных карт ПДС
- есть второй ресторан (территориально в другом месте), где необходимо использовать эти же карты
- при обеспечении связи по TCP/IP между ресторанами, во втором ресторане можно использовать FARCARDS в режиме Type = 0
- обращение к FARCARDS для кассовых серверов во втором ресторане будет "прозрачным", как к обычному CARDSERV, а FARCARDS по TCP/IP будет связываться с сервером карт в первом ресторане и ретранслировать весь обмен информацией
- таким образом, FARCARS выступит в качестве промежуточного звена между кассовыми серверами и сервером карт:
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:
- Заказчик имеет собственную информационную систему для управления персональными данными сотрудников и/или гостей (это может быть как простая система лояльности, так и система управления предприятием класса ERP)
- Заказчику необходимо использовать существующую систему совместно с кассовым ПО R-Keeper.
- Заказчику передается спецификация для разработки интерфейсной библиотеки (Extdll.txt) и дистрибутив FARCARDS
В режиме Type=1 клиентами FARCARDS могут быть только кассовая система r_keeper_7 и утилита CARDINFO.
Кроме связи со сторонними системами, FARCARDS в режиме Type=1 используется для связи кассовой системы R-Keeper c другим ПО Компании ЮСИЭС:
- R-Keeper CRM - система управления стратегий взаимодействия с клиентами
- Shelter ПДС - дисконтная система на базе ПО Shelter
- Абонемент - универсальная система управления
- Премьера - система автоматизаци кинотеатров
Пример настройки 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 может зависить от сторонних компонентов - см. требования к интерфейсной библиотеке
Режим запуска определяется ключем:
- /DESKTOP - запуск ретранслятора как приложения
- /INSTALL - установка ретранслятора в качестве службы. При установке ретранслятора карт в Windows 7 и выше в качестве службы, в системном трее иконка отображаться не будет
- /UNINSTALL - удаление установленной службы (сервиса) ретранслятора
На одном компьютере может быть одновременно запущено несколько ретрансляторов с разными настройками
После запуска в системном трее должна появиться иконка ретранслятора, при двойном клике на которую можно открыть графический интерфейс FARCARDS и проверить статус работы:
- Вкладка "Server" - общие сведения
- Вкладка "Chanels" - список подключившихся клиентов
- Вкладка "DLL" - список библиотек связи с параметрами и состоянием. Если ретранслятор запущен как приложение, будет доступно Popup-меню для закрытия (Shutdown)
Распределенная ПДС
Общая информация
Распределенная ПДС это вариант конфигурации стандартной ПДС для возможности автономной работы серверов карт и периодической синхронизации данных между серверами.
Возможные области применения:
- сеть ресторанов с единой базой персональных карт
- территориально разнесенная сеть точек общественного питания в пределах одного предприятия
- выездные автономные точки питания с обслуживанием по персональным картам
Преимущества использования:
- не требуется наличие постоянной связи между рестораном и головным сервером карт
- вся информация дублируется - в каждом удаленном ресторане фактически создается резервная копия головной базы, причем достаточно актуальная
- в случае поломки любой базы данных и восстановления ее из резервного архива, все изменения и транзакции, созданные с момента создания резервного архива, попадут в базу после синхронизации
Примечание: Поддержка распределенной ПДС реализована с версии сервера карт 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 предполагается, что выполнены следующие условия:
- в рабочей конфигурации уже имеется Головной или Одиночный сервер карт
- между Локальным и Головным (Одиночным) серверами имеется связь по TCP/IP (например, VPN с возможностью подключения по IP-адресу и порту к компьютеру, на котором запущен и работает Головной сервер)
- установить локальный сервер карт, если сервер карт был установлен ранее и уже использовался, необходимо установить пустую базу CARD.UDB
- загрузить с FTP ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/SYNCARD дистрибутив актуальной версии SYNCAD (историю изменений версии можно проверить в файле HISTORY.TXT)
- распаковать содержимое архива, например в каталог \UCS\PDS\SYNCARD
- в этот же каталог скопировать библиотеку связи RTcp.DLL (сборка актуальных версий библотек связи на FTP ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/netdll.7z )
Примечание: Учитывая замечание относительно библиотеки 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
Импорт списка карт
- загрузить с 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
- Login - имя пользователя для авторизации на сервере карт
- Password - пароль пользователя для авторизации на сервера карт
- FileName - имя импортируемого файла со списком карт
Обслуживание базы данных
- транзакции в удаляемом периоде, изменяющие остаток средств, будут суммированы в одну транзакцию для каждого счета
- остальные транзакции этого периода будут удалены
- вся остальная информация в БД останется без изменений
-
после создания новой БД, старая БД не удаляется, а переименовывается в файл вида BEFORE_CUT_yyyy-mm-dd, где yyyy-mm-dd - дата, до которой было произведено удаление транзакций
- загрузить с FTP ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/DATACUT дистрибутив актуальной версии приложения
- распаковать содержимое архива в рабочий каталог сервера карт CARDSERV
- остановить сервер карт CARDSERV
- запустить приложение и дождаться успешной обработки БД
- запустить сервер карт CARDSERV и проверить работу