====== Настройка FarCards ======
Для связи кассы r_keeper с сервером ProBonus используется технология **FarCard**.
===== Установка и настройка =====
- [[https://disk.yandex.ru/d/sZVbCilocRx-0Q|Скачайте]] и распакуйте готовую сборку FarCard. Она включена в общую сборку модулей ProBonus отдельной папкой.
- Скопируйте три конфигурационных файла — ''probonus.ini'', ''FARCARDS.ini'', ''netk.ini'' — из подкаталога ''ini_for_first_install'' в каталог с ''farcards.exe''.
- В файле ''farcards.ini'' в секции ''[pds_netk]'' в параметре ''NetServerName'' укажите уникальное имя PDS-интерфейса, [[external:pro_bonus:02_rkeeper_setup:01_rkeeper#pds_интерфейс|который настраивали здесь]].
- В файле ''probonus.ini'' в секции ''[PARAMS]'' укажите:
* ''ServerAddress'' (обязательное поле) — адрес сервера ProBonus;
* ''ServerPort'' (обязательное поле) — порт сервера ProBonus;
* ''ServerConnectTimeout'' (необязательное поле) — таймаут на подключение (по умолчанию 10 секунд);
* ''ServerReadTimeout'' (необязательное поле) — таймаут на ответ (по умолчанию 10 секунд).
- В файле ''probonus.ini'' в секции ''[LOG]'' можно изменить уровень логирования (1–10: чем выше, тем подробнее логи).
===== Первый запуск =====
Первый запуск FarCard рекомендуется провести в режиме desktop с помощью команды ''Farcards.exe /desktop''.
Результатом успешного запуска будет свёрнутое в трей приложение:
{{:external:pro_bonus:02_rkeeper_setup:2024-09-16_11-11-47.png}}
Убедитесь, что на вкладке **DLL** в колонке **Status** указано **Ok**. Если имя PDS-интерфейса не является уникальным и имеет дубли, в колонке **Status** будет указана ошибка:
{{:external:pro_bonus:02_rkeeper_setup:2024-09-16_11-58-21.png}}
===== Запуск в режиме службы =====
Если все настройки выполнены правильно, для постоянной работы рекомендуется установить FarCard в виде службы с помощью команды ''Farcards.exe /install''.
Чтобы запустить программу в режиме службы, сначала необходимо отключить ранее запущенный экземпляр в режиме desktop. Это можно сделать через Диспетчер задач или щёлкнув ПКМ по строке на вкладке **DLL** и выбрав **Shutdown**. После этого можно перейти к запуску в виде службы.
{{:external:pro_bonus:02_rkeeper_setup:2024-09-16_11-13-13.png}}
===== Варианты размещения FarCard =====
==== Стандартный базовый вариант — сервер ProBonus и FarCard вместе ====
Простейший случай для настройки — размещение всех модулей ProBonus, включая FarCard, на одном ПК в одном общем каталоге (как в сборке-дистрибутиве). В этом случае в ini-файл кассовых серверов нужно вписать дополнительную строку, чтобы кассовые серверы знали, где «искать» FarCard ProBonus.
Этот способ настройки можно использовать как для одиночных объектов, так и для сетей ресторанов — при этом FarCard будет один общий на все объекты. Это упрощает поддержку системы и её обновление.
Пример настроек для случая, когда сервер ProBonus и кассовый сервер находятся в общей локальной сети.
**Сервер с FarCard (IP-адрес 192.168.1.100)**
Файл ''FARCARDS.INI'':
...
[pds_netk]
NetServerName=ProBonus
...
Файл ''netk.ini'':
...
[TCPSOC]
port=22349
...
**Кассовый сервер midserv (IP-адрес 192.168.1.200)**
Файл ''rkeeper.ini'':
...
[TCPDNS]
TEST_RK7SRV=192.168.1.100:3639
ProBonus=192.168.1.100:22349
...
Ту же самую методику настройки можно использовать, если FarCard размещён на сервере «в интернете» с белым IP и проброшенным портом, в том числе если сервер ProBonus находится «в облаке». В этом случае:
Файл ''rkeeper.ini'':
...
[TCPDNS]
TEST_RK7SRV=192.168.1.100:3639
ProBonus=123.123.123.124:22349
...
Здесь ''123.123.123.124'' — внешний белый IP сервера, где установлен FarCard, а ''22349'' — порт из ''netk.ini'', который «проброшен».
Также существуют альтернативные варианты настройки, когда FarCard размещается локально в ресторанах. Эти варианты менее предпочтительны, т. к. при обновлении версии ПО нужно найти все FarCard, установленные локально в ресторанах, и обновить их.
==== Альтернативная конфигурация ====
Возможны конфигурации, при которых используется несколько кассовых серверов:
* **Кассовая линейка FastFood из трёх касс.** На каждой кассе свой mid server.
* **Сетевые рестораны.** В каждом ресторане свой mid server.
При такой конфигурации возможны следующие варианты размещения FarCard:
* **Отдельный экземпляр FarCard для каждого кассового сервера.** При этом mid server и FarCard могут размещаться как на одной машине, так и на разных.
* **Один экземпляр FarCard, который взаимодействует со всеми mid server.** В этом случае, очевидно, FarCard и mid server размещаются на разных машинах и могут находиться в разных сетях.
{{:external:pro_bonus:02_rkeeper_setup:pasted:20221023-114355.png}}
{{:external:pro_bonus:02_rkeeper_setup:pasted:20221023-114401.png}}