external:pro_bonus:02_rkeeper_setup:01_rkeeper

Настройка r_keeper

Важно! Для работы с чеками намерения при наличии двух фискальных регистраторов ProBonus корректно работает только в режиме «Единый чек перед оплатой».

Редактор → Сервис → Станции и устройства → на закладке Устройства нужного кассового сервера добавьте новый PDS interface.

Для нового интерфейса заполните следующие поля:

  1. PDS Server Name — уникальное (в рамках сети) имя. Регистр важен! Далее потребуется для настройки FarCards.
  2. Look Up Card By Mail Addr — установите значение Yes, error on not found.
  3. Pass ALL Receipts XML data — By script.
  4. Authorize before transaction — Compatible.
  5. Pass ALL Bills XML data — No.

Важно! Система ProBonus может работать параллельно с другими системами лояльности. В этом случае на кассовом сервере добавляется несколько PDS-интерфейсов с уникальными именами.

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

Редактор → Сервис → Интерфейсы → добавьте новый интерфейс с именем ProBonus, активируйте его и заполните его свойства следующим образом:

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

Возможны различные варианты настройки. Какие именно алгоритмы нужны в вашем случае, зависит от того, каким образом будет авторизация счёта/карты в заказ в r_keeper.

Авторизация возможна через магнитную карту, бесконтактную карту, ввод номера телефона, ввод номера карты вручную через «код с клавиатуры», через динамический QR-код из телеграм-бота и т. д.

В простейшем случае, если используются только магнитные карты со стандартной кодировкой (778=кодресторана=номеркарты), достаточно будет единственного MCR-алгоритма. Если кроме этого используется QR-код из телеграм-бота, то добавляем ещё один алгоритм. Если кроме этого используется ввод номера телефона через «код с клавиатуры», то добавляем ещё один алгоритм. И так далее: для каждого способа авторизации — свой отдельный MCR-алгоритм, ссылающийся на интерфейс ProBonus.

Если используются физические карты стандартной кодировки (778=кодресторана=номеркарты), то можно скопировать предустановленный MCR-алгоритм: Редактор → Сервис → Обработка сигналов устройств → Mcr алгоритмы.

Выберите и скопируйте «Персональная дисконтная система (ПДС)» → «Новый Mcr алгоритм (копия)» и установите следующие параметры:

Типы устройств (Клавиатура, Магнитная карта, Штрих код) установите согласно тому оборудованию, которое используется для чтения карт в ресторане.

Если карты имеют нестандартную кодировку, то потребуется изменить скрипт в MCR-алгоритме так, чтобы он выделял истинный номер из имеющейся кодировки.

Используется, если разрешена авторизация гостей в заказе через номер телефона по кнопке «код с клавиатуры».

Это потенциально опасная настройка: возможны махинации персонала.

В данном примере представлен вариант алгоритма для номеров телефонов из России (начинается с цифры 7, длина номера — 11 цифр). При необходимости его можно изменить под свои условия.

Код скрипта

Код скрипта

begin
  if (pos('7', Parameter) = 1) and (Length(Parameter) = 11) then 
        Result := true;  
end;

Код скрипта чуть сложнее, с возможностью ввода номера в любом формате

Код скрипта чуть сложнее, с возможностью ввода номера в любом формате

begin
//простой вариант, с клавиатуры ввели номер в том виде в каком он хранится в ProBonus
  if (pos('7', Parameter) = 1) and (Length(Parameter) = 11) then 
        Result := true; 
        
//с клавиатуры ввели номер начинающийся с "+7", отрезаем "+" в начале       
  if (pos('+', Parameter) = 1) and (pos('7', Parameter) = 2) and (Length(Parameter) = 12) then
     begin   
        Delete(Parameter, 1, 1)
        Result := true;
     end;
     
//с клавиатуры ввели номер начинающийся с "8", меняем этот символ на "7"         
  if (pos('8', Parameter) = 1) and (Length(Parameter) = 11) then
     begin
        Parameter[1] := '7';
        Result := true; 
     end;

//с клавиатуры ввели номер вообще без префикса "7", "+7" или "8", добавляем в начале номера "7"   
  if (Length(Parameter) = 10) then
     begin
        Insert('7', Parameter, 1);
        Result := true; 
     end;
                             
end;

Редактор → Сервис → Обработка сигналов устройств → Mcr алгоритмы.

Особенность: здесь нужно отметить и чекбокс Штрихкод, и чекбокс Клавиатура, т. к. вместе с QR-кодом в телеграм-боте всегда доступен символьный код для ввода с клавиатуры.

Для виртуальной карты через Telegram-бот с длиной временного кода 6 цифр (XXX-XXX) MCR будет выглядеть так:

Код скрипта

Код скрипта

  { ожидаем ХХХ-ХХХ }
  if (length(Parameter) = 7) and (pos('-', Parameter) = 4)  then Result := True
  else  Result := False

begin
  if (length(Parameter) = 8) and (pos('D', Parameter) = 1)  then Result := True
  else  Result := False            
end;

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

Отредактируйте скрипт MCR-алгоритма так, чтобы он принимал любую введённую последовательность (Result := True;) и отправлял её далее на проверку в систему ProBonus:

Приведённый пример MCR-алгоритма будет принимать любую последовательность символов (штрихкод, магнитную карту, код с клавиатуры) в качестве подходящего идентификатора для системы лояльности ProBonus. Если в ресторане параллельно работает несколько разных систем лояльности, то вместо универсального MCR-алгоритма необходимо создать алгоритм(ы) с более точными условиями по маске.

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


Скидки и бонусы, с которыми будет работать система ProBonus, создаются штатными средствами: Редактор → Деньги → Скидки и наценки. То есть точно так же, как и при работе с PDS, CRM и Loyalty.

Когда на кассе применяют карту ProBonus, в заказ добавляется соответствующая скидка. При этом следует помнить, что на эту скидку также действуют все правила и ограничения (расписание, уровень доступа, суммовые ограничения, настройки композиции с другими скидками и т. п.), заведённые для неё в редакторе r_keeper.

Одной из особенностей работы технологии FarCard является необходимость использования «нулевой» скидки (т. е. скидка добавляется в заказ, но не влияет на его сумму). Например, когда карта является только платёжной (кредитной или дебетовой).

Поэтому нужно обязательно завести такую «техническую» скидку: Редактор → Деньги → Скидки и наценки → создайте новую скидку с «нейтральным» названием (например, «Карта ProBonus») и настройте её свойства следующим образом:

Далее необходимо указать код данной скидки в настройках системы ProBonus.

1) Создайте тип бонуса. Перейдите в Деньги → Типы бонусов. В открывшемся окне: ПКМ → Новый тип бонуса.

2) Перейдите в Деньги → Скидки и наценки. Добавьте новую скидку или отредактируйте имеющуюся. На вкладке Детализация создайте детализацию и укажите ранее созданный тип бонуса.

3) Не забудьте указать процент бонуса у валюты, при оплате которой будут начисляться бонусы.

Если в вашем ресторане используются акции «Штампики» и/или «Товарные купоны», то необходимо добавить скидку.

Для каждой акции создаётся отдельная скидка со следующими настройками:

  • Комбинировать с любой скидкой.
  • На блюдо.
  • Не вручную.
  • В детализации — скидка 100%.

Детализация скидки:

Создаётся скидка с одной детализацией, у которой задан процент скидки и процент бонуса.

Передача доступна с версий ProBonus v1.2.14.95, FarCards v1.0.0.8.

На текущий момент передаётся картинка вида:

Возможность прикреплять индивидуальную картинку (или фото) к каждому счёту отсутствует.

Само изображение можно изменить в папке img в корневой папке, куда установлен ProBonus. Обязательно измените название картинки на pb_img.

Чтобы передача изображения работала, нужно сделать дополнительные настройки в менеджерской станции r_keeper.

Перейдите в Настройки → Параметры → Установочные → Связь с другими системами → Персональные карты → ПДС Показывать картинку. В свойствах на вкладке Основные установите галочку напротив параметра Логический.

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

Свойства валюты задаются такие же, как и для обычной валюты «ПДС оплата».

Важно:

  • Тип фискальности. В случае, если средства с баланса счёта в ProBonus используются для нефискальных оплат, нужно указать «Печатать скидку». Мы не рекомендуем в общем случае настройки «Суммарно с вычитанием», «Не печатать чек», «Фискальная скидка».
  • Не учитывать в потратах ПДС. Для правильного учёта потрат с бонусного баланса мы рекомендуем оставить чекбокс пустым. В противном случае некоторые отчёты в интерфейсе ProBonus будут формироваться неправильно.

  • external/pro_bonus/02_rkeeper_setup/01_rkeeper.txt
  • Последнее изменение: 2026/10/22 06:16
  • — Алексей Коробов