Введение и сокращения

При пробитии чека добавляется запись о возможной будущей скидке. Идентификатор скидки вставляется в чек в виде штрих-кода. Затем, при считывании этого штрих-кода происходит блокирование скидки. При пробитии чека со скидкой проходит транзакция по скидке. После этого скидка считается использованной.

RDS – Receipt discount server – сервер скидок по чекам. Исполняемый файл находится по адресу bin\rds\rdsserv.exe.

Настройка в менеджерской станции 

  1. На закладку «Устройства» кассового сервера добавить интерфейс RDS (Receipt Discount Server) Interface. 
  2. Добавить процентную скидку (можно 100%), которая будет применяться при считывании штрих-кода.
  3. Задать у интерфейса параметры интерфейса.
  4. В справочнике Интерфейсы (пункт меню Сервис/Интерфейсы) создать логический интерфейс RDS и в свойстве с именем кассового сервера выбрать RDS (Receipt Discount Server) Interface.
  5. Создать MCR алгоритм типа «Маска» или «Префикс». Пример маски: 9876iiiiiiii? Для префикса штрих-кода 9876. Тип устройств – «Штрих-код», объект – интерфейс, созданный в предыдущем пункте. Подробнее про MCR алгоритмы см. Настройка MCR алгоритмов в файле INI.doc.
  6. Настроить макет печати чека. Добавить поле, в которое ввести escape команду <barcode XXXX00000000>, где XXXX – префикс, например 9876. Длина штрих-кода должна быть равна 12, справа должны быть нули. Там, где скидка по чеку не должна даваться, используйте другой макет (без такого штрих-кода).
  7. Начиная с версии 7.4.20.1 вместо <barcode XXXX00000000> нужно писать <barcode [PrintChecks.StrTag]>.
  8. В драйвере принтера выбрать тип штрих-кода EAN-13.
  9. На кассовом сервере выполнить preload .\rkeeper.ini, из подпапки preload взять intrds.dll и положить рядом с кассовым сервером (midserv.exe).

Параметры основной секции - [Config]

Конфигурационный файл по умолчанию - RDS.INI (лежит в папке bin\rds\ini)

Server = RDSServer   //  сетевое имя сервера
BasePath = .\путь\      //  путь к папке, где будет создана база RDSDB.udb (обычно каталог с файлом RDSSERV.EXE)
StartLang = .\rds.rus  //  файл локализации сервера
RECREATEBASE = 0   //   при 1 пересоздаёт рабочую базу при запуске, при –1 не пересоздаёт даже при смене версии.
TransactionLag = 3600000  //  время в миллисекундах, которое допускается после окончания активности скидки, если скидка уже была зарегистрирована в заказе, но чек не пробит.

Дополнительные параметры интерфейса

RDS Server Name = RDSServer – сетевое имя RDS сервера
Default Disc. Code = 0 – код скидки по умолчанию (если лимиты не заданы или сумма первого чека меньше лимитов).
Percent For Discount = 0 – процент от суммы первого чека, который определяет сумму, ограничивающую будущую скидку. Максимальное значение 100000000 (скидка в миллион первых чеков).
Active Time(hours) = 24 – время в часах, в течении которого можно использовать скидку.
Call Timeout(ms) = 60000 – таймаут сетевой операции обращения к RDS серверу в миллисекундах
Bar Code Prefix = 9876 – префикс штрих-кода скидки. Он же в макете печати и маске MCR алгоритма. В макет надо добавить команду <Barcode 987600000000> (для префикса 9876). Длина штрих-кода должна быть 12.
Holder Info () – «информация о владельце карточки» для скидки. Если пусто, будет передан Global ID исходного чека.
Min. Disc. Limit 1 = 0 – Минимальный скидочный лимит. Будет использоваться, если больше 0 и меньше Disc. Limit 2. Если сумма первого чека меньше этого лимита, используется код скидки Default Disc. Code
Min. Disc. Code 1 = 0 – Код скидки для первых чеков с суммами не меньше Min. Disc. Limit 1 (и меньше Disc. Limit 2, если он используется)
Disc. Limit 2 … Disc. Limit 8, Max. Disc. Limit 9 = 0 – скидочный лимит. Будет использоваться, если больше 0 и меньше следующего лимита
Disc. Code 2 … Disc. Code 8, Max. Disc. Code 9 = 0 – Код скидки для первых чеков с суммами не меньше соответствующего лимита (и меньше следующего, если он используется).