r keeper 6

Завершение цикла доработки продукта R-Keeper v6

Компания UCS объявляет о завершении цикла доработки продукта R-Keeper v6. 

Все ранее поставленное программное обеспечение в рамках этого продукта сохраняет свою функциональность и доступно для покупки, однако никакая доработка, включая исправление существующих ошибок (за исключением критических*), производиться не будет.

Последней выпущенной версией является 6.110.

Для всех легальных пользователей R-Keeper v6 лицензии на R-Keeper v7 предоставляются бесплатно. При необходимости замены аппаратных ключей защиты - оплачивается стоимость ключей зашиты.

* Критическими признаются ошибки, препятствующие работе ПО в рамках описанных в руководстве пользователя сценариев.

Ключи, лицензии, механизмы лицензирования R-Keeper v6

Сводная информация по ключам защиты и механизмам лицензирования системы R-Keeper v6 http://support.ucs.ru/ru/node/8532

Установка и обновление

Настройки сети (ЛВС)

Описание протоколов и портов, используемых в программном и аппаратном обеспечении

Программное обеспечение

Сервер мобильных терминалов (TMS)

Сервер мобильных терминалов (TMS) использует два протокола:

  • TCP (основной канал), номер порта задается в tmsХ.ini, секция [TMS], параметр Port (по-умолчанию, 610-й порт)
  • UDP (канал для поддержки "доступности" устройства, передается 1 байт) , номер определяется из формулы ( <номер порта TCP/IP> +1) (например, если в качестве TCP используется 610-й порт, для UDP будет использоваться 611-й)

Важно: Для протокола UDP порт должен быть открыт в обе стороны

Video Display Unit (VDU)

Приложение для отображения заказов (ROSTVDU.EXE) использует протокол UDP, номер входящего порта -  11900

Примечание: Информация относится как к приложению для Windows, так и приложению, запускаемому на аппаратном контролере VDU

Kitchen Display System (KDS) - апаратный контролер

Приложение, запускаемое на аппаратном контролере KDS (KDSTerm.exe) использует протокол TCP, номер порта - 1717

Примечание: На данный момент есть "жесткая" привязка к значению IP-адреса на аппаратном контролере - используется предустановленный адрес 172.31.32.100

Аппаратное обеспечение

Универсальный контролер UCS

К универсальному контролеру производства UCS  можно подключиться через telnet, используя порт 1234

Ethernet-интерфейс для принтеров

Ethrnet-интерфейс для принтеров использует протокол UDP и три порта: 18251, 18252, 18253

 

 

Основные требования к ЛВС для работы кассовой системы

 

Основные требования к локальной сети для гарантированной работы кассовой системы R-Keeper v6:

  • cкорость передачи сети - 10-100 Мбит. На рабочей станции рекомендуется всегда устанавливать скорость передачи 10Мбит, полудуплекс.
  • кабель - неэкранированная витая пара 5 категории (UTPi level 5) —на основе медного многожильного кабеля. Если применяется одножильный кабель, то необходимо использовать соответствующие разъемы (модификации RJ 45 для многожильных и одножильных кабелей).
  • сетевой концентратор - предпочтительно использовать свичи (switch) известных производителей.
  • длина сегмента сети не должна превышать 90 м.
  • минимальный радиус изгиба - 2,5 см (для кабеля из 4 витых пар)
  • минимальное расстояние от кабеля UTP до устройств, способных  вызвать возникновение электромагнитных наводок:
    • трансформаторы электромоторов - не менее 1м
    • флуоресцентные лампы - не менее 30 см.
    • силовые неэкранированные кабеля - не менее 12 см.

Если эти расстояния невозможно выдержать, то желательно воспользоваться металлическими кабелепроводами (трубами). Их части должны иметь надежный взаимный электрический контакт и заземление.

Желательно наличие сетевых розеток (UTP) в местах расположения терминалов. На эти же места необходимо вывести необходимое количество розеток питания (220 В). Ориентировочная мощность одного терминала - не более 500Вт. (монитор + системный блок + принтер или терминал с сенсорной технологией TouchScreen + принтер).

Ограничение на количество концентраторов, подключенных каскадом - не более 4.

Необходимо учитывать, что сервис принтера, как правило, подключаются к СОМ порту ближайшего терминала (через интерфейс RS232i), поэтому при наличии сервис принтеров необходимо предусмотреть прокладку кабеля от ближайшего терминала до места расположения сервис принтера*. Используется самая простая конфигурация RS 232 для которой достаточно трехпроводный кабель, но обычно прокладывают стандартную витую пару, из которой используются только 3 провода. Распайку проводов производят специалисты компании, устанавлтвающих систему R-Keeper v6, поэтому достаточно просто проложить кабель.

* - Примечание: при использовании принт-серверов компании UCS либо других производителей, прокладывать кабель от ближайшей станции к месту установки нет необходимости - достаточно подвести витую пару от общего концентратора к месту установки принт-сервера.

Важно! Если в силу каких - либо причин нет возможности осуществить прокладку в соответствии с указанными требованиями, необходимо проинформировать компанию UCS о вносимых изменениях, в противном случае компания не несет ответственность за корректное функционирование системы R-Keeper v6.

Поддержка протокола TCP/IP на рабочей станции RK6

Документ содержит сводную информацию о поддержке протокола TCP/IP на рабочих станциях с использованием пакетов от различных производителей.

Как правило, на рабочие станции устанавливается стандартный пакет Microsoft Workgroup Add-on с поддержкой протокола NetBEUI, который предоставляет оптимальный вариант для небольших одноранговых сетей.

Протокол TCP/IP необходим в том случае, если с рабочей станции требуется управлять различными Ethernet-устройствами (на данный момент большинство контроллеров компании UCS имеют Ethernet интерфейс). Иногда заказчик предоставляет особые требования к конфигурации сети, что также может потребовать установки TCP/IP протокола (в таком случае необходимо использовать  Microsoft Network Client)

В таблице ниже приведена обобщенная информация по стекам TCP/IP:   

 

Сводная таблица характеристик стека протоколов TCP/IP
Стек протоколов TCP/IP Краткое описание Преимущества Недостатки
Microsoft Network Client 3.0 Стек протоколов TCP/IP от компании Microsoft
  • распространяется бесплатно
  • прост в установке и настройке
  • хорошо документирован
  • для установки необходим NDIS драйвер, который доступен практически для всех сетевых карт
  • предоставляет полный набор сервисов, что позволяет использовать его как единственный протокол для запуска R-Keeper v6
  • при установке требует изменения текущей сетевой конфигурации станции
  • при установке требует интеграции с общей локальной сетью, что может привести к различным конфликтам при администрировании сети
Novell TCP/IP Transport Стек протоколов TCP/IP от компании Novell
  • распространяется бесплатно
  • очень стабильный и надежный стек
  • позволяет установить поддержку TCP/IP только на необходимые станции (управляющие Ethernet устройствами) без изменений текущей сетевой конфигурации
  • достаточно сложен в настройке
  • требует наличия  специфичного ODI-драйвера сетевой карты
  • для загрузки R-Keeper v6 требует установленного клиента с поддержкой NetBEUI
TRUMPET ABI Стек протоколов TCP/IP от компании Trumpet Software International
  • распространяется бесплатно
  • прост в установке и настройке
  • позволяет утстановить поддержку TCP/IP только на необходимые станции (управляющие Ethernet устройствами) без изменений текущей сетевой конфигурации
  • требует специфичного пакетного драйвера сетевой карты
  • в некоторых случаях наблюдается "притормаживание" рабочей станции при недоступности Ethernet устройства
  • для загрузки R-Keeper v6 требует установленного клиента с поддержкой NetBEUI
PCTCP Стек протоколов TCP/IP от компании FTP Software
  • прост в установке и настройке
  • хорошо документирован
  • позволяет утстановить поддержку TCP/IP только на необходимые станции (управляющие Ethernet устройствами) без изменений текущей сетевой конфигурации
  • коммерческий продукт
  • требует специфичного пакетного драйвера сетевой карты
  • на некоторых станциях отказывается запускаться 
  • для загрузки R-Keeper v6 требует установленного клиента с поддержкой NetBEUI 

 

 


 

Установка и настройка транспорта Novell TCP/IP для DOS (RK6)

Документ описывает процедуру установки и настройки набора утилит Novell  для поддержки  стека протокола TCP/IP на кассовой станции.  С более подробной информацией по сетевому клиенту NetWare можно ознакомиться здесь

Введение

Данный стек протокола TCP/IP используется для поддержки различных Ethernet устройств компании UCS (на данный момент подержка реализована для интерфейсных Ethernet-плат принтеров TM200, Star 600-700 серии и Epson TM-88IV с помощью библиотеки MPLEX.DLL). Набор утилит не предоставляет необходимого сервиса для полноценной поддержки сети, проэтому для нормальной загрузки R-Keeper требуется установленный стандартный пакет Microsoft Workgroup Add-on с поддержкой протокола NetBEUI - дальнейшее описание подразумевает, что пакет установлен в директорию C:\NET и нормально загружается. 

Необходимые файлы

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

  • LSL.COM - интерфейс уровня канальной поддержки
  • ODINSUP.COM -  протокольный стек ODI, который служит интерфейсом между NDIS и сетевыми драйверами NetWare Client
  • TCPIP.EXE -  транспортный интерфейс для сетевого сервиса более высокого уровня
  • NET.CFG - специальный текстовый файл, который содержит значения параметров конфигурации для драйверов
  • Сетевой драйвер ODI для вашей сетевой карты.
  • Некоторые полезные, но не обязательные, утилиты - например, ping.exe

Данные файлы можно скачать с центрального фтп сервера в директории dealers/r-keeper/Tools/TCPIP/Novell
Сетевой драйвер ODI, как правило, идет в комплекте с драйверами к сетевой карте и располагается в директории типа NETWARE\DOSODI или NWCLIENT\DOS (могут быть и другие директории - см. описание содержимого набора драйверов для вашей сетевой карты)

Настройка Microsoft Workgroup Add-on

Т.к. мы планируем использовать сетевой драйвер ODI, необходимо удалить загрузку существующего NDIS драйвера сетевой карты. Для этого открываем файл C:\NET\SYSTEM.INI и в разделе [network drivers] удаляем строку netcard=<ndis-драйвер>, где <ndis-драйвер> - NDIS драйвер текущей сетевой карты (например, для RTL8139 это rtsnd.dos)

Если при установке пакета Microsoft Workgroup Add-on вы указали использовать полный редиректор (Full Redirector), возможно (наверняка) для загрузки протокола TCP/IP не хватит памяти. Поэтому рекомендуется использовать базовый редиректор (Basic Redirector) - для этого в файле C:\NET\SYSTEM.INI в разделе [network] найдите строку preferredredir=full и замените ее на preferredredir=basic. Если в файле также есть строка autostart=full,,server, замените ее на строку autostart=server
В итоге должен получиться следующий конфигурационный файл SYSTEM.INI (на примере для сетевой карты на базе RTL8139) - различия выделены в правой колонке специальным образом:

 

Таблица 1. Различия в конфигурационном файле SYSTEM.INI
Оригинальный файл SYSTEM.INI
Модифицированный файл SYSTEM.INI
[network]
filesharing=yes
printsharing=no
autologon=no
computername=UNIT89
lanroot=C:\NET
username=UNIT
workgroup=WORKGROUP
reconnect=no
directhost=no
dospophotkey=N
lmlogon=0
logondomain=WORKGROUP
preferredredir=full
autostart=full,,server
maxconnections=8

[network drivers]
netcard=rtsnd.dos
transport=ndishlp.sys,*netbeui
devdir=C:\NET
LoadRMDrivers=yes

[Password Lists]
*Shares=C:\NET\Shares.PWL
UNIT=C:\NET\UNIT.PWL

[network]
filesharing=yes
printsharing=no
autologon=no
computername=UNIT89
lanroot=C:\NET
username=UNIT
workgroup=WORKGROUP
reconnect=no
directhost=no
dospophotkey=N
lmlogon=0
logondomain=WORKGROUP
preferredredir=basic
autostart=server
maxconnections=8

[network drivers]
netcard=rtsnd.dos
transport=ndishlp.sys,*netbeui
devdir=C:\NET
LoadRMDrivers=yes

[Password Lists]
*Shares=C:\NET\Shares.PWL
UNIT=C:\NET\UNIT.PWL

 

Также необходимо переопределить существующие к NDIS драйверу привязки в файле C:\NET\PROTOCOL.INI . Для удобства различия показаны в виде таблицы (на примере для сетевой карты на базе RTL8139) - различия выделены в правой колонке специальным образом:

 

Таблица 2. Различия в конфигурационном файле PROTOCOL.INI
Файл PROTOCOL.INI до изменений
Файл PROTOCOL.INI  после изменений

[network.setup]
version=0x3110
netcard=RTL8139,1,RTL8139,1
transport=ms$ndishlp,MS$NDISHLP
transport=ms$netbeui,MS$NETBEUI
lana0=RTL8139,1,ms$netbeui
lana1=RTL8139,1,ms$ndishlp

[protman]
DriverName=PROTMAN$
PRIORITY=MS$NDISHLP

[RTL8139]
DriverName=rtsnd$
Medium=_10Half

[MS$NDISHLP]
DriverName=ndishlp$
BINDINGS=RTL8139

[MS$NETBEUI]
DriverName=netbeui$
SESSIONS=40
NCBS=80
BINDINGS=RTL8139
LANABASE=0

[network.setup]
version=0x3110
netcard=RTL8139,1,RTL8139,1
transport=ms$ndishlp,MS$NDISHLP
transport=ms$netbeui,MS$NETBEUI
lana0=RTL8139,1,ms$netbeui
lana1=RTL8139,1,ms$ndishlp

[protman]
DriverName=PROTMAN$
PRIORITY=MS$NDISHLP

[RTL8139]
DriverName=rtsnd$
Medium=_10Half

[MS$NDISHLP]
DriverName=ndishlp$
BINDINGS=RTSODI

[MS$NETBEUI]
DriverName=netbeui$
SESSIONS=40
NCBS=80
BINDINGS=RTSODI
LANABASE=0

 

Как видно из примера, мы переопределили привязки - вместо существующего драйвера (RTL8139) мы указали ODI-драйвер (RTSODI), который служит интерфейсом между протоколом NDIS и сетевыми драйверами NetWare Client. Также мы убрали из файла PROTOCOL.INI некоторую информацию, которая относится в протоколу NDIS (раздел [network.setup] )

Примечание: имена драйверов в PROTOCOL.INI не могут начинаться с цифры. Поэтому перед именами драйверов, которые начинаются с цифр, помещайте x . Например, если драйвер называется 3C503.COM, то необходимо указать BINDINGS = x3C503

Модификация файла NET.CFG

Файл NET.CFG является основным конфигурационным файлом клиента NetWare. Более подробную информацию о параметрах и принципе форматирования файла  см. по ссылке.

В таблице ниже приведен пример файла NET.CFG с комментариями (на примере использования ODI-драйвера для сетевой карты на базе RTL8139 ). Вы должны заменить имя ODI-драйвера (в примере RTSODI) именем вашего сетевого ODI-драйвера

 

Таблица 3. Пример конфигурационного файла NET.CFG
Пример файла NET.CFG Комментарии

Link Support
MEMPOOL 4096
BUFFERS 8 2048
 
Link Driver RTSODI
Frame Ethernet_802.3
Frame Ethernet_802.2
Frame ETHERNET_II
Frame ETHERNET_SNAP 

PROTOCOL ODINSUP
BIND RTSODI
BUFFERED

PROTOCOL TCPIP 
BIND RTSODI
IP_ADDRESS 172.31.32.89
IP_NETMASK 255.255.255.0

Раздел Link Support является необязательным. В нем можно определить размер пакетов, передаваемых через LSL с помощью параметра BUFFERS число размер_буфера, где число - число буферов1.

Строка Link Driver RTSODI  определяет привязку к ODI-драйверу сетевой карты - замените его именем вашего сетевого ODI-драйвера. Далее определяются поддерживаемые типы фрейма для программы ODINSUP.  Обязательнвыми являються значения Ethernet_802.2, ETHERNET_II и ETHERNET_SNAP

В разделе PROTOCOL ODINSUP определяется привязка ODINSUP к одному или нескольким сетевым ODI-драйверам. Параметр BUFFERED выделяет в памяти двойной объем буферов для данных, необходимых протокольному стеку NDIS

В разделе PROTOCOL TCPIP определяется привязка стека протокола TCP/IP к сетевому драйверу ODI и определяются  IP-адрес и маска подсети вашей рабочей станции.
Примечание: можно использовать IP-адрес не обязательно из той же подсчети, что и общая локальная сеть. Главное, чтобы IP-адрес был из той же подсети, что и контроллеры Ethernet

 

Также в файле NET.CFG можно определить другие параметры, специфичные для конкретного ODI-драйвера сетевой карты. Например, ODI-драйвер для карты на базе RTL8139 позволяет указать параметр MEDIUM для  определения скорости и режима передачи :

  • MEDIUM AUTO       - режим определяется автоматически
  • MEDIUM 10HALF   - режим 10M/HalfDuplex
  • MEDIUM 10FULL   - режим 10M/Fullduplex
  • MEDIUM 100HALF - режим 100M/HalfDuplex
  • MEDIUM 100FULL - режим 100M/Fullduplex

Важно: При редактировании файла NET.CFG необходимо делать отступы, а также следовать другим требованиям формата. Более подробно см ссылку

Модификация системных файлов DOS

Для успешного запуска транспорта Novell TCP/IP требуеться модифицировать файл AUTOEXEC.BAT (конфигурационный файл CONFIG.SYS не требует модификации). Для удобства приведем изменения в виде таблицы (различия выделены в правой колонке специальным образом):

 

Таблица 4. Модификация файла AUTOEXEC.BAT
Оригинальный файл AUTOEXEC.BAT Модифицированный файл AUTOEXEC.BAT

@echo on
prompt $p$g
path=c:\util;c:\drdos;c:\nc;c:\vc;c:\net;c:\touchkit
mode com1:96,N,8,1,r
vga#font
dtime
share
net start
SET TKT1=3E8 10
TPANEL.EXE -m -1
cd \rkclient.77g
dmove buf rkclient.77g
;cor
rkeeper6
stop
nc

@echo on
prompt $p$g
path=c:\util;c:\drdos;c:\nc;c:\vc;c:\net;c:\touchkit
mode com1:96,N,8,1,r
vga#font
dtime
share
net initialize /dynamic
cd \novell
lsl.com
rtsodi.com
odinsup.com
tcpip.exe
net start
SET TKT1=3E8 10
TPANEL.EXE -m -1
cd \rkclient.77g
dmove buf rkclient.77g
;cor
rkeeper6
stop
nc

 

Важно: обратите внимание на команду net initialize /dymamic - ее необходимо указывать именно в таком виде (с ключем /dynamic) для исключения проблем с памятью.

Примечание: в данном примере подразумевается, что мы создали на диске каталог Novell и скопировали в него необходимые файлы . Также не забывайте, что необходимо заменить имя ODI-драйвера (в примере rtsodi.com) именем драйвера вашей сетевой карты

Проверка системы

После того, как все действия выполнены, можно перегрузить станцию и проверить работоспособность. Как и до изменений, рабочая станция должна предоставлять свои сетевые ресурсы (если они определены) и должна откликаться на команду ping любого компьютера из той же подсети. С рабочей станции тоже можно запустить программу ping.exe (входить в набор), использую следующий синтаксис:

PING Hostname [ /R[N] /Tn /Nn /Pn [ /Ln | /Sn [ /In ] ]

Где: 

  • Hostname - имя или IP-адрес (разделенный точками) удаленного хоста
  • /R[N] - разрешить трассировку маршрута (разрешение имени хоста отключено)
  • /Tn - время ожидание ответа от удаленного хоста в сек. По умол. равен 2
  • /Nn - кол-во отправляемых пакетов. По умол. равен 1, при значении 0 - отправлять постоянно
  • /Pn - время между пакетами в сек. Обычно пакеты отправляются сразу же после того, как получен ответ от удаленного хоста. По умолч. равен 0
  • /Ln - размер пакетов - используется для пакетов постоянной длины ( мин = 12, макс = 8192 ). По умол. равен 12. 
  • /Sn - начальный размер пакета. Используется для пакетов переменной длины ( мин = 12, макс = 8192  )
  • /In - размер приращения пакета. Используется для пакетов переменной длины. По умол. 1 

 Например,  PING 192.168.0.1 /N10 /P1 /L1024
 

Примечание для секции LINK SUPPORT файла NET.CFG

Транспорт TCP/IP использует функции управления буфером, предоставляемые драйвером LSL. Раздел  LINK SUPPORT файла NET.CFG включает в себя параметры, которые определяют количество и размеры буферов для TCP/IP протокола (IPX не использует эти буферы).

Стандартная конфигурация - параметры, устанавливаемые по-умолчанию при инсталляции:

LINK SUPPORT
BUFFERS 8 1500
MEMPOOL 4096 

BUFFERS число [размер]

Параметр BUFFERS контролирует кол-во и размер буферов получаемых пакетов. Кол-во буферов по-умолчанию - 8, размер по-умолчанию -1500. Можно уменьшить количество буферов, если используется последовательное TCP-соединение. Если используется несколько соединений TCP, можно увеличить количество буферов для лучшей производительности (например, при совместном использовании RKSHARE и управлении Ethernet-устройством). Размер буфера зависит от топологии конфигурации.

 

MEMPOOL размер

Параметр MEMPOOL контролирует размер внутреннего буфера-отправки, используемого TCP/IP. TCP отправляет данные, копируя их в этот буфер перед отправкой на удаленную систему. Размер по умолчанию составляет 4096 байт. Может понадобиться увеличить размер MEMPOOL при общении с удаленными хостами TCP, которые предоставляяют больший размер принимаемого кадра и задержку подтверждений.

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

Если вы настраиваете несколько сетевых плат или планируете использовать несколько стеков протоколов, можно установить два дополнительных параметра для настройки необходимой поддержки LSL.
 


 

 

1 - Файлы клиента NetWare для DOS не могут использовать для коммуникационных буферов более 64 Кб памяти - это означает, что объем, равный числу буферов, умноженному на размер буфера (плюс размер заголовка 5К), не может быть больше 65 536 байтов.

 

 

Сетевой интерфейс NetBIOS, LANA Number, lanacfg

Интерфейс NetBIOS

NetBIOS определяется как Network Basic Input Output System и представляет собой программный интерфейс, предоставляющий методы доступа для формирования и использования сетевых услуг, таких как совместное использование сетевых ресурсов, передача сообщений и т.д.. Многие операционные системы и приложения до сих пор используют его, а компоненты, поддерживающие NetBIOS, встречаются в ОС Windows 95/98/NT/2000/XP.

Важно! Для кассовой системы R-Keeper v6 интерфейс NetBIOS является основным механизмом сетевого взаимодействия.
 

NetBIOS не является протоколом и не детализирует формат передаваемых кадров и других подробностей, являющихся характерной особенностью именно протоколов, поэтому в 1985 году компания IBM создала так называемый NetBIOS Extended User Interface (NetBEUI), который в совокупности с NetBIOS приобрел статус сетевого протокола. Такие понятия, как nbsession, nbname и nbdatagram, а также связанные с ними порты, можно увидеть практически во всех современных системах сетевого мониторинга локальных сетей, хотя в настоящее время применение NetBIOS, как программного интерфейса, весьма ограниченно и фактически его поддержка осуществляется для обратной совместимости с более старыми приложениями.

 

Особенности функционирования NetBIOS

NetBIOS, как программный интерфейс, может взаимодействовать со стеком TCP/IP (который иногда называют протоколом NetBT) и "родным" протоколом сетевого уровня NetBEUI.

Однако здесь есть одна особенность - для того, чтобы два хоста могли взаимодействовать в сетевом окружении, они оба должны выходить на канальный уровень через одинаковые протоколы (или стеки). Если на одной машине установлен протокол NetBEUI, а на втором – только стек TCP/IP, взаимодействие хостов будет невозможно.

Еще одна особенность NetBIOS-приложений –  протокол NetBEUI является немаршрутизируемым протоколом и если между двумя хостами стоит маршрутизатор, взаимодействие в большинстве случаев будет невозможно. Поэтому  при необходимости подключить кассовую станцию через беспроводную точку доступа либо настроить работу мониторинга (или других менеджерских модулей) в сетях с маршрутизаторами, следует использовать стек MS TCP/IP.

Примечание: Использование на кассовой станции стека Novell TCP/IP никак не влияет на механизм сетевого взаимодействия - данный стек используется исключительно для поддержки некоторого сетевого оборудования (например, Ethetnet-тарификаторы, интерфейсные платы для принтеров, различные контроллеры и т.д.) и взаимодействия с некоторыми внешними приложениями (например, RKSHARE).
 

Поддержка NetBIOS также реализована в стеке IPX/SPX - этот протокол использовался для сетевого взаимодейтсвия на станциях RK6100 до появления у производителя NDIS-драйвера и соотв. стека MS TCP/IP.
 

Примечание: Поддержка интерфейса NetBIOS реализована только в Windows-версии стека IPX/SPX, оригинальный стек IPX/SPX его не поддерживает.
 

Каждый ресурс NetBIOS определяется именем. Приложение, предоставляющее ресурс, регистрирует одно или несколько имен, которые оно желает использовать. Пространство имен NetBIOS является "простым", и все имена хостов в нем должны быть уникальны. Длина имени хоста определена 16-ю байтами, при этом собственно имя содержится в первых 15-ти байтах. Если для имени используется меньше чем 15 байт, то оно дополняется пробелами, а 16-й байт используется в служебных целях для обозначения сервиса, имеющегося на хосте.
 

Порты и службы, используемые NetBIOS-ом

 Для протокола "NetBIOS поверх TCP/IP" были зарезервированы следующие порты:

Для протокола TCP

  • Порт 139 - nbsession – сессия NetBIOS
  • Порт 42 - WINS - Windows Internet Name System – служба имен Windows

Для протокола UDP

  • Порт 137 - nbname – запрос имени
  • Порт 138 - nbdatagram – сервисы UDP-датаграмм
  • Порт 42 - Служба имен - WINS

 

Примечание: Служба WINS ответственна за преобразования NetBIOS-имен в IP-адреса. Клиентские запросы на разрешение имен поступают непосредственно на сервер WINS, и если ему удается разрешить имя, то IP-адрес направляется прямо к клиенту, что снижает сетевой трафик. Но даже если сервер WINS недоступен, клиенты по-прежнему могут применять широковещательные NetBIOS-запросы для разрешения имен (что ведет к увеличению нагрузки на локальную сеть). Если в настройках кассовой станции R-Keeper v6 используются NetBIOS-имена (например, для указания имени сервера ПДС) и установлен сетевой протокол MS TCP/IP, могут возникнуть проблемы с разрешением имен - в таком случае нужно запустить службу WINS или использовать локальную базу имен (файл \NET\LMHOSTS).

 

Понятие "номер адаптера" (LANA Number)

Понятие LANA Numbers или "номера адаптеров" является ключевым для сетевого интерфейса NetBIOS.

Слово LANA представляет собой аббревиатуру термина "Local Area Network (LAN) Adapter", а "LANA number" - уникальное число, сопоставляемое c каждой парой "сетевой интерфейс – транспортный протокол".  Допустим, на компьютере имеется две сетевые карты и два протокола, поддерживающие NetBIOS - TCP/IP и NetBEUI.

Тогда номера адаптеров могут быть следующими:
 

Номер
адаптера
Связанная пара
0 TCP/IP - Сетевая карта 1
1 NetBEUI - Сетевая карта 1
2 TCP/IP - Сетевая карта 2
3 NetBEUI - Сетевая карта 2

 

В результате такая связка определяет  "нумерованный маршрут" следования пакетов - на Windows-платформах нулевой номер адаптера может быть интерпретирован как "маршрут по-умолчанию". Следует заметить, что числа LANA вовсе не должны следовать в строгой последовательности - при добавлении в систему нового протокола или сетевого интерфейса, номера адаптеров могут изменится в произвольном порядке.

Важно: В операционных системах Windows NT/2000/XP/7 разрешено использовать NetBIOS поверх другого протокола, отличного от NetBEUI.
 

Использование утилиты lanacfg

 Одна из полезных утилит для получения информации по номерам адаптеров - lanacfg ftp://ftp.ucs.ru/r-keeper/Tools/Lanacfg/lanacfg.rar 

Утилита запускается из командной строки и имеет четыре параметра:

showlanapaths - показать связанные маршруты и описание компонентов для каждого номера адаптера
setlananumber - изменить номер адаптера для связанного маршрута
rewritelanainfo - проверить и записать информацию по номеру адаптера в реестр
showlanadiag - показать диагностическую информацию по номерам адаптеров

Пример выполнения команды lanacfg showlanapaths на компьютере с несколькими установленными сетевыми адаптерами и протоколами TCP/IP и NetBEUI:

Lana: 15
-->NWLink NetBIOS

Lana: 4
-->WINS Client(TCP/IP) Protocol-->Internet Protocol (TCP/IP)-->Bluetooth Device (Personal Area Network)

Lana: 3 -->WINS Client(TCP/IP) Protocol-->Internet Protocol (TCP/IP)-->Realtek RTL8139/8 10x Family Fast Ethernet NIC

Lana: 5
-->WINS Client(TCP/IP) Protocol-->Internet Protocol (TCP/IP)-->1394 Net Adapter 

Lana: 14
-->WINS Client(TCP/IP) Protocol-->Internet Protocol (TCP/IP)-->VirtualBox Host-Only Ethernet Adapter

Lana: 0  -->-->Realtek RTL8139/810x Family Fast Ethernet NIC

Lana: 6
-->-->Bluetooth Device (Personal Area Network)

................

В нашем примере видно, что для сетевой карты "Realtek RTL8139/8 10x Family Fast Ethernet NIC" установлены два маршрута  для интерфейса NetBIOS: маршрут поверх протокола TCP/IP с номером адаптера 3 и маршрут поверх протокола NetBEUI с номером адапетра 0.

Примечание: Если  в описании компонента встречается строка вида "WINS Client(TCP/IP) Protocol-->Internet Protocol (TCP/IP)", это обозначает, что маршрут использует "NetBIOS поверх TCP/IP", иначе маршрут использует "родной" протокол NetBEUI.

 

Для изменения номера адаптера маршрута используется команда lanacfg setlananumber:

lanacfg setlananumber <текущий номер адаптера> <новый номер адаптера> 

Например, чтобы сменить номер адаптера маршрута "NetBIOS поверх TCP/IP" из нашего примера с третьего на нулевой, выполняем команду:

lanacfg setlananumber 3 0

 

Важно: Для использования нового номера адапетра необходимо перезапустить компьютер.

 

Поддержка нескольких номеров адаптеров в кассовом сервере R-Keeper v6

Выделенный кассовый сервер (NT) поддерживает одновременную работу на разных номерах адаптеров, т.е. другими словами, кассовый сервер может одновременно принимать подключения от клиентов как через "родной" протокол NetBEUI, так и через протокол TCP/IP с использованием опции "NetBIOS поверх TCP/IP".

Номера адапетров прописываются в файле LOCAL.DB, через запятую после имени сервера.

Например:

DATABASE\
C:\RK6\DB\
C:\RK6\ENDDAY\
spool
RLSERV,0 

В данном примере кассовый сервер c именем RLSERV будет запущен на нулевом адаптере.

Примечание: Если в LOCAL.DB  после имени сервера не указан номер адаптера, кассовый сервер по-умолчанию использует нулевой адаптер.
 

Для поддержки второго номера адаптера нужно прописать в LOCAL.DB в шестой строке нужное имя сервера и новый номер адаптера через запятую:

DATABASE\
C:\RK6\DB\
C:\RK6\ENDDAY\
spool
RLSERV,0
RMSERV,3

Можно использовать одно и тоже имя кассового сервера на разных номерах адаптера:

DATABASE\
C:\RK6\DB\
C:\RK6\ENDDAY\
spool
RLSERV,0
RLSERV,3

 

Настройка кассового сервера на поддержку нескольких номеров адаптеров позволяет подключаться к нему, используя различные сетевые протоколы (NetBEUI, MS TCP/IP)

Описание программного обеспечения клиента NetWare

Статья не является руководством для настройки конткрекной конфигурации, а представляет собой расширенную справочную информацию по сетевому клиенту NetWare.

Оригинал статьи www.citforum.ru/operating_systems/nwclient/ch3.shtml

Введение

Основные компоненты среды NetWare для DOS и MS Windows - это четыре резидентные программы (TSR), перечисленные в таблице.

Таблица 1. Основные компоненты клиента NetWare для DOS
Резидентная программа
Описание
Link Support Layer (LSL - уровень канальной поддержки) Переводит упакованные запросы от драйвера IPXODI в соответствующий формат для передачи по той физической сети, в которой работает станция-клиент.
Также принимает ответы от различных станций-клиентов сети (через сетевой драйвер), удаляет добавленную драйвером специфическую для сети информацию и передает ответ в IPXODI.
Запросчик NetWare для DOS Программа клиента для DOS, обеспечивающая интерфейс между DOS и сетью. Состоит из отдельных модулей, предоставляющих различный сетевой сервис.
Загружается при запуске файла STARTNET.BAT. Этот файл также загружает драйверы, необходимые запросчику NetWare для DOS для взаимодействия с сетевым оборудованием.
ODITM -драйвер ЛС (MLID) (например, NE2000TM) Принимает запросы от LSLTM и направляет их в сеть. Также принимает ответы из сети и передает их программе LSL. Сетевой драйвер специфичен для сетевой платы, установленной в рабочую станцию.
Транспортный протокол
IPXODI (Internetwork Packet ExchangeTM Open Data-Link InterfaceTM)
SPXTM (Sequenced Packet Exchange)
TCP/ (Transmission Control Protocol/Internet Protocol)
Выполняет доставку запросов и ответов между рабочими станциями-клиентами и сетью.
Также управляет последовательностью пакетов и подтверждениями для соединений клиент-сервер.
Принимает запросы, предназначенные запросчиком NetWare для сети, "упаковывает" их, добавляя информацию о передаче (пункт назначения), и переправляет в LSL.

 

Каждый из загруженных компонентов клиента NetWare для определения значений параметров программного обеспечения использует файл NET.CFG. Информацию об этом смотрите в главе 2 "Справочник опций NET.CFG" руководства NetWare Client для DOS и Windows. Технический справочник.

Использование памяти

Запросчик Netware для DOS работает с отображаемой, расширенной и основной памятью. При загрузке в расширенную память запросчик загружается не в верхнюю область памяти (High Memory Area - HMA), а в память LIM XMS 2.0, что означает, что расширенная память может сосуществовать с DOS, загруженной в верхнюю память.

Программа VLM.EXE автоматически выбирает память, наиболее подходящую для использования: в первую очередь, расширенную, во вторую, отображаемую и затем основную в случае, если отсутствуют другие виды памяти. 

Протоколы и транспорт NetWare

Программное обеспечение NetWare, позволяющее рабочим станциям-клиентам взаимодействовать и быть понятыми в сети, подразделяется на два компонента: протокол, манипулирующий данными, и транспорт, манипулирующий сообщениями приложений. Эти функции могут выполняться одной или несколькими составляющими программного обеспечения.

Для того, чтобы рабочие станции-клиенты могли взаимодействовать в сети, они должны использовать тот протокол, который применяется в этой сети.

Иногда рабочие станции-клиенты конфигурируются для использования нескольких протоколов. В этом случае они могут одновременно взаимодействовать с различными сетями.

Например, рабочая станция, использующая протоколы IPX и TCP/IP, может взаимодействовать с серверами, сконфигурированными только для протоколов IPX и TCP/IP.

NOTE: Протоколы клиента NetWare поддерживают уровни 3 (сетевой) и 4 (транспортный) эталонной сетевой модели взаимодействия открытых систем (Open System Interconnection - OSI), разработанной Международной организацией по стандартизации (ISO).

Программное обеспечение клиента NetWare поддерживает следующие стандартные протоколы:

  • ARP (Address Resolution Protocol)
  • BOOTP (предоставляет информацию о конфигурации TCP/IP)
  • ICMP (Internet Control Message Protocol)
  • IP (Internet Protocol)
  • IPX/SPXTM (Internetwork Packet Exchange/Sequenced Packet ExchangeTM)
  • MIB (Management Information Base)
  • NetBIOS (сервисный интерфейс c NetBIOS)
  • RARP (Reverse Address Resolution Protocol)
  • RPL (Remote Program Load)
  • SNA (System Network Architecture)
  • SNMP (Simple Network Management Protocol)
  • TCP (Transmission Control Protocol)
  • UDP (User Datagram Protocol)
  • XNS (Xerox* Network System).

Более подробную информацию об оптимизации рабочих станций-клиентов для использования транспортных протоколов NetWare смотрите в подразделе "Справочник опций NET.CFG" главы 2 руководства NetWare Client для DOS и Windows. Технический справочник. 

Протокол TCP/IP

Программное обеспечение (файл TCP/IP.EXE) Novell Transmission Control Protocol/Internet Protocol (TCP/IP) обеспечивает взаимодействие между сетями NetWare (IPX) через объединенные сети IP, непосредственно не поддерживающие IPX. Это называется туннельным переходом (tunneling) IPX/IP.

NetWare TCP/IP также обеспечивает транспортный интерфейс для сетевого сервиса более высокого уровня. Этот интерфейс предоставляет рабочим станциям-клиентам услуги по передаче данных для Network File System (NFS) и программного обеспечения сторонних фирм, поддерживающего интерфейс сокетов 4.3 BSD UNIX(r), AT&T* Streams Transport Layer Interface (TLI), MS Windows Sockets и интерфейс NetBIOS, использующий RFC-1001/1002-совместимый протокол NetBIOS типа B-node (broadcast).

NetWare TCP/IP поддерживает ODI-драйверы ЛС для следующих типов фреймов:

Ethernet DIX;
Ethernet 802.2 и SNAP;
Token-ring 802.2 и SNAP;
ARCnet*;
IBM* PCN2;
FDDI;
SLIP и PPP на асинхронных последовательных линиях.

Интерфейс уровня канальной поддержки (LSL)

Интерфейс уровня канальной поддержки (Link Support Level - LSL) - это реализация спецификации открытого канального интерфейса (Open Data-Link Interface). Программа LSL служит посредником между сетевым ODI-драйвером и коммуникационным протоколом, например, IPXODI, ARP и TCP/IP.

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

Сетевой драйвер ODI

При каждой подготовленной запросчиком NetWare для DOS передаче данные должны пройти через сетевую плату, соединяющую рабочую станцию с сетью. Сетевой драйвер, часто называемый Multiple Link Interface DriverTM (MLIDTM), осуществляет соединение между физической сетевой платой и логическими процедурами и программами, использующими плату.

Драйвер ЛС привязывается как к определенной сетевой плате, так и к сетевому протоколу.

В 1989 году фирмы Novell и Apple* в целях обеспечения прозрачной сетевой интеграции на транспортном, сетевом и канальном уровнях совместно разработали спецификацию открытого канального интерфейса (Open Data-Link Interface - ODI).

ODI упростил разработку драйверов ЛС для широкого круга сетевых плат и стеков транспортных протоколов, обеспечив следующие возможности:

Поддержку нескольких сетевых плат и протоколов на одной рабочей станции.
Поддержку одной сетевой платой и топологией нескольких протоколов.
Поддержку одной сетевой платой и топологией нескольких форматов фрейма.
Обеспечение поддержки транспорта.
Например, это позволяет рабочей станции UNIX (использующей протокол TCP/IP) использовать сервер NetWare для печати документов и хранения файлов данных, доступных клиентам IPX.
В результате упростился доступ к широкому спектру сетевых ресурсов без использования нескольких сетевых соединений и дополнительных вложений в оборудование и программное обеспечение. 

Файл NET.CFG

NET.CFG - это специальный текстовый файл, который Вы можете создать любым текстовым редактором и записать на загрузочную дискету рабочей станции с любыми другими необходимыми для загрузки файлами. Файл NET.CFG заменил файл SHELL.CFG.

Подобно файлу DOS CONFIG.SYS, файл NET.CFG содержит значения параметров конфигурации для драйверов ЛС и запросчика Netware для DOS, которые считываются и интерпретируются во время загрузки рабочей станции. Эти значения корректируют рабочие параметры запросчика NetWare для DOS, IPX и другого программного обеспечения клиента NetWare.

Вы можете модифицировать некоторые параметры запросчика NetWare для DOS для изменения поведения программ клиента в определенных процедурах и процессах.

Для правильной работы приложений, таких как базы данных, многозадачные процессы или NetBIOS (одноранговые коммуникации или распределенная обработка данных), в сети могут потребоваться значения параметров, отличные от значений по умолчанию.

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

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

Более подробную информацию о создании файла NET.CFG и изменении различных параметров смотрите в подразделе "Справочник опций NET.CFG" главы 2 руководства NetWare Client для DOS и Windows. Технический справочник.

Заголовки разделов и параметры настройки файла NET.CFG 

 Заголовки секций и параметры настройки файла NET.CFG указываются символами верхнего регистра, когда они используются в виде справочного элемента, и символами нижнего регистра в синтаксисе команд или в рабочих примерах.

Например:

NETBIOS VERIFY TIMEOUT показывает, через какой промежуток времени (в тиках) NetBIOS посылает специальный пакет другой стороне сеанса для поддержки этого сеанса.

Если программы, установившие сеанс NetBIOS, не обмениваются между собой пакетами, NetBIOS для поддержки данного сеанса регулярно посылает свои пакеты.

Синтаксис netbios verify timeout <number> - Замените <number> на количество тиков.
По умолчанию 54 (приблизительно 3 секунды)
Диапазон от 4 до 65535
Пример Для установления более длительного периода ожидания перед передачей запроса на получение пакета подтверждения Вы должны разместить в файле NET.CFG следующие строки:
netbios
netbios verify timeout 1350

В связи с тем, что интерпретация файла NET.CFG не зависит от регистра, на котором вводится его содержимое, Вы можете ввести его строки как заглавными, так и строчными буквами.

Установка интерфейса поддержки ODI NetWare для протоколов NDIS

Модуль поддержки NDIS ODI (ODINSUP) - это протокольный стек Open Data-Link InterfaceTM (ODI), который служит интерфейсом между NDIS и сетевыми драйверами NetWare® Client.

ODINSUP транслирует передачи NDIS от приложений, использующих NDIS, в форму, необходимую драйверам ODI.

ODINSUP также транслирует передачи, получаемые из сети, в форму, понятную менеджеру протокола NDIS (PROTMAN).

NDIS специфицирует два типа драйверов: один для управления оборудованием, а другой для обработки протоколов. Драйверы оборудования называются также драйверами MAC (Media Access Control) NDIS. Драйверы обработки протоколов называются также драйверами PROTMAN NDIS.

Разделяя эти функции, NDIS позволяет использовать несколько протоколов с одним физическим адаптером и работать с одним драйвером на каждый адаптер. Менеджер протоколов NDIS регулирует взаимоотношения между драйверами оборудования и протоколов.

ODINSUP обеспечивает интерфейс MAC NDIS для каждого физического адаптера в системе. ODINSUP можно привязать с помощью опции в файле NET.CFG к нескольким адаптерам (до четырех) и создать для каждого из них индивидуальный интерфейс MAC. Это эквивалентно загрузке соответствующих NDIS-совместимых драйверов с полным интерфейсом ODI.

ODINSUP обеспечивает следующие преимущества:

  • Для переключения между сетями NDIS и сетями NetWare не требуется переконфигурирования и перезагрузки.
  • Для переключения между сетями NDIS и сетями NetWare не требуется переконфигурирования и перезагрузки.
  • При использовании модуля ODINSUP протокольные стеки ODI и протокольные стеки NDIS могут совместно использовать один и тот же адаптер.

Установка интерфейса поддержки ODI для протоколов NDIS требует выполнения следующих задач:

  • Инсталляция драйверов MAC и менеджера протоколов NDIS на рабочих станциях-клиентах.
  • Инсталляция ODINSUP.COM и файлов клиента NetWare
  • Привязка ODI-драйверов ЛС к протокольному стеку NDIS
  • Модификация системных файлов DOS и файлов конфигурации клиента NetWare

Инсталляция драйверов MAC и менеджера протоколов NDIS на рабочих станциях-клиентах

ODINSUP разработан для пользователей NetWare, которые хотят пользоваться сетями NDIS, например, 3+Share* или LAN Manager*, и одновременно регистрироваться в сети NetWare. Инструкции по инсталляции и настройке драйверов MAC и PROTMAN NDIS можно найти в документации производителей.

Если Вы собираетесь обновить программное обеспечение клиента на рабочих станциях, использующих MAC-драйверы NDIS, то прежде всего убедитесь, что рабочие станции-клиенты могут соединяться с сетью NDIS, чтобы гарантировать надежность аппаратного соединения. Как только Вы инсталлируете файлы клиента NetWare для DOS и MS Windows, протокол NDIS не сможет использовать сетевую плату для установления соединений, пока Вы полностью не настроите ODINSUP в соответствии с инструкциями, приведенными в этой главе. 

Привязка ODI-драйверов ЛС к протокольному стеку NDIS

Чтобы сообщить протоколам NDIS, какой драйвер MAC использовать, необходим файл NDIS PROTOCOL.INI.

Обычно всю информацию PROTOCOL.INI для драйверов MAC NDIS можно удалить, если используется только один драйвер MAC NDIS и протокольный стек. Информация для ODINSUP в файле PROTOCOL.INI не нужна.

Для привязки ODI-драйверов ЛС к протокольному стеку NDIS нужно отредактировать файл PROTOCOL.INI с помощью текстового редактора, чтобы: 

  • Привязать протокольный стек NDIS к ODI-драйверам ЛС.
  • Удалить строку, привязывающую протокольный стек NDIS к MAC-драйверам NDIS.

Процедура:

  • Откройте файл PROTOCOL.INI редактором текста ASCII.
  • Найдите все строки с привязкой MAC-драйверов NDIS.
  • Выполните поиск строк  Bindings = MAC-драйвер_NDIS

Примечание: Если Вы не знаете имени NDIS-драйвера, обратитесь к документации, поставляемой с сетевой платой.

  • Отметьте все найденные строки привязки символом комментария (точка с запятой).

Например, Ваш файл PROTOCOL.INI для драйвера 3Com EtherLink II может выглядеть следующим образом:

[ETHERNET]
;Bindings = elkinii.dos 

После того, как все строки привязки отмечены символом комментария, вставьте строку, привязывающую протокол NDIS к ODI-драйверу ЛС.
Соблюдайте синтаксис строк, отмеченных символом комментария, используя вместо имени NDIS-драйвера имя сетевого драйвера ODI.

Например, чтобы вставить строку для сетевого ODI-драйвера 3Com EtherLink II 3C503.COM, можно ввести

[ETHERNET]
;Bindings = elkinii.dos
Bindings = x3c503 

Важно! Имена драйверов в PROTOCOL.INI не могут начинаться с цифры. Поэтому перед именами драйверов 3Com и других драйверов, имена которых начинаются с цифр, помещайте x (например, Bindings = x3C503).
При необходимости:

Если у Вас две или несколько сетевых плат, использующих один и тот же ODI-драйвер, введите номер экземпляра драйвера для привязки протокола NDIS к конкретной плате.
По умолчанию протокол NDIS использует первую сетевую плату этого типа.

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

Например, если у Вас две сетевых платы, можно указать NDIS на использование второй платы, введя номер экземпляра драйвера для второй платы в конце его имени, как это показано ниже:

[ETHERNET]
;Bindings = elkinii.dos
Bindings = ne20002

При необходимости:

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

Например, для привязки драйверов NE2000 и NE1000, введите

Bindings = ne2000,ne1000 
 

Установка и настройка Менеджерской RK6

 

Вводная информация

Установка практически любой  конфигурации програмного комлекса r-keeper 6 (от небольшого кафе до огромного развлекательного комплекса)  как правило  начинается с установки "Менеджерской части RK6".   Только установив менеджерскую часть и настроив ее первоначальную конфигурацию можно "наращивать" дополнительные модули комплекса RK6.

Системные требования

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

Оборудование

  • Стандартный ПК офисной конфигурации: CPU - P4, RAM - 1-2 Gb, HDD - 20 Gb и выше + LAN + USB.

Операционная система

ПО работает под управлением операционной системы (ОС) семейства MS Windows 98 и выше.

  • Рекоммендовано, что бы редакция ОС была не начальной - Basic, Home, Lite edition (максимально урезанной), а ближе к профессиональным - Professional, Interprise и др.
  • В PRO-редакциях полноценно поддерживается и настраиватся сеть, сетевые ресурсы и пользователи ОС.  
  • Так же, рекомендуется, что бы ОС имела разрядность  32-bit, так как некоторые модули RK6 продолжают активно эксплуатировать сетевой протокол обмена данными Netbios, который в современных 64-битных ОС полноценно не поддержан (пробрасывается только поверх TCP).

Примечание: в качестве примера, идеальной среды для работы RK6 можно указать - ос windows xp pro sp2(sp3). Данная ОС зарекоммендовала себя большим количеством установок и временем. 

Примечание: серверные редакции не рекоммендованы в силу сложности их обслуживания и обилия дополнительных настроек. Т.е. необходимо обладать знаниями по настройке и администрированию данных систем.

Установка менеджерской

  1. Скачать с ФТП  (например, отсюда - ftp://.../dealers/r-keeper/versions/RK6/MAN69504.7Z) актуальный архив дистрибутива \RK6. 
  • Что бы понять, что находится в архивах в большинстве директорий на фтп находятся текстовые файлы, с названием типа - content.txt. В них описано содержание скачиваемых архивов. Так же, рекомендуется уделять особое внимание и остальным текстовым файлам например, -  HISTORY.TXT, VERSION.TXT, VER.TXT, README.TXT и т.п. так как в этих документах содержиться масса полезной информации по дистрибутивам ПО, которое вы собираетесь использовать, что несомненно позволит лучше ориентироваться в программном обеспечении и в самом FTP.

Пример, в content.txt указано:

MAN69504.7Z - полная инсталляция офисной части R-Keeper 6.95.04 без содержимого архивов Cfx.7z, Fr302.7z, Hlp.7z.

- запись говорит о том что, также необходимо будет скачать недостающие архивы Cfx.7z, Fr302.7z, Hlp.7z. Без них дистрибутив ПО РК6 будет не полным .

  1. Распаковываем основной архив (в нашем случае это - MAN69504.7Z), и распакованную папку \RK6 копируем в рабочий раздел ПК (по-умолчанию, в корень диска C:\ или D:\). Дополнительные архивы (Cfx.7z, Fr302.7z, Hlp.7z.) так же распаковываем и их содержимое копируем в папку \RK6.
  • С версии менеджерской 6.95 приложение полностью переведено на работу с модулем отчетов "Fast report", необходимая поддержка этого модуля находится в архиве - ftp://ftp.ucs.ru/dealers/r-keeper/versions/OTHER/Fr302.7z.
  • Если, ставятся более старые версии менеджерской, то необходимо использовать ftp://ftp.ucs.ru/dealers/r-keeper/versions/OTHER/fr208.7z + доустановить модули поддержки отчетов "Crystal report" (можно взять здесь - ftp://ftp.ucs.ru/dealers/storehouse/sh3/crpe.inst.rar). Если, поддержку "Crystal report" не доустанавливать, то не будет работать большинство печатных форм отчетов.
  1. Скопировать с ftp://ftp.ucs.ru/dealers/r-keeper/Tools/BDE/ архив дистрибутива Borland Database Engine, распаковать и установить, следуя стандартным инструкциям установщика этого сервиса.
  • Рекоммендовано, для работы с RK6 использовать версию BDE 5.0 с апгрейдом до 5.01.
  •  В результате успешной установки, в Панели Управления ОС появится ярлык "BDE  Administrator".
  1. Запустить "BDE  Administrator" и отредактировать следующие параметры:
  • Зайти во вкладку Configuration\Drivers\Native\Paradox и изменить значение LANGDRVER на "Pdox ANSI Cyrillic".
  • Зайти во вкладку Configuration\Drivers\Native\DBASE и изменить значение LANGDRIVER на "dBASE RUS cp866".
  • После этого сохранить изменения и перезапустить ПК.

Примечание: на современных ОС могут возникать непредвиденные ситуации связанные с запуском и работой BDE и "BDE Administartor", может потребоваться запуск от имени администратора с правом правки реестра. Иначе, настройки не сохранятся. Так же, для работы в 64-битных системах должна использоваться 64-битная сборка BDE (выложена там же на FTP).

  • В рабочей папке \RK6 с версии менеджерской 6.95 и выше ОТСУТСТВУЕТ папка \TTFONTS в которой, содержались необходимые для установки в ОС шрифты.
  • Если используется для установки дистрибутив менеджерской версии ниже 6.95 и в нем есть папка \TTFONTS соответсвенно их нужно просто доустановить в ОС, через \Панель Управления\Шрифты или путем копирования содержимого папки в рабочий каталог \Windows\FONTS.
  • В состав менеджерского комлекса RK6 входит несколько приложений. Часть из них предназначена для непосредственных пользователей, остальные же носят чисто технический или сервисный характер.
  1. Следующим действием, необходимо создать на рабочем столе папку \RK6 куда вывести ярлыки пользовательских приложений:
  • E_Rest32.exe - Редактор
  • Report32.exe - Отчеты
  • Append32.exe - Закрытие дня
  • Disp32.exe - Диспетчер пользователей

По необходимости, могут выводиться и использоваться приложения:

  • Transp32.exe - Транспорт в DBF для связи со сторонними системами или R-KEEPER HEAD OFFICE.
  • Monit32.exe - Мониторинг кассового сервера.
  • MonSum.exe - Обобщающий мониторинг нескольких кассовых серверов.

 - эти приложения потребуют отдельных настроек при их использовании в зависимости от конфигурации ПО предприятия.

Сервисные приложения:

  • DealRK.exe - первоначальная конфигурация (Заход под дилерским ID и PSW с наличием в папке \RK6 обновленного файла RAL.DAT).
  • FEditor.exe - редактор кассовых печатных форм.
  • Reind32.exe - реиндексация менеджерской базы данных \DB.
  • UPGRK32.exe - обновление менеджерской базы данных до версии самой менджерской.
  • RECOV32.exe - утилита перекачки записей из таблиц PARADOX.
  1. Следующим шагом, настроить основной конфигурационный файл rkeeper.ini.
  • Этот файл разбит на разделы, названия разделов заключены в квадратные скобки. Так как менеджерская представляет собой комплекс приложений для многих из них, в конфигурационном файле rkeeper.ini отведены отдельные разделы.
  • Кроме того, менеджерская может дополняться и другими приложениями производства UCS, (например, - PCARDS) в которых, также используется в качестве ОСНОВНОГО конфигурационного файла - rkeeper.ini.
  • Другими словами, rkeeper.ini можно дополнять новыми разделами и параметрами в зависимости от конфигурации и количества различных модулей используемого ПО.
  • Ниже приведен стандартный вид файла:

RKEEPER.INI

[Common]                  - [ОБЩИЕ]
Alias1=.\DB               - путь к таблицам справочников менеджерской части (PARADOX). Может быть сетевым (через IP, расшаренный ресурс, сетевую букву диска)
Alias2=.\DB               - путь к накопительной базе (ARK6.UDB). Может быть сетевым (через IP, расшаренный ресурс, сетевую букву диска)

Language=.RUS             - язык, по-умолчанию
EditFRF=yes               - разрешен/запрещен встроенный редактор печатных форм FAST REPORT

[Reports]                 - [ОТЧЕТЫ] 
CFXFontName               - шрифт для надписей в графиках и диаграммах
CFXFontSize               - его размер 
CFXFontCharset            - его кодовая страница - см Charsets.txt
CSLinkDLL=                - dll для связи с сервером персональных карт
CSLinkGate=               - номер Report32 в секции этой dll
CharCode=                 - dll для перекодировки строк, иногда нужна (rus, litva, latin2)
TipsVAT=                  - размер налога на чаевые в процентах
SpdUnpay=0                - 0 - не включать чеки с неплательщиками в отчеты по скорости обслуживания
                          - 1 - включать все чеки в отчеты по скорости обслуживания
SpdMinTime=0              - минимальное время жизни чеков (минут), включаемых в отчеты по скорости обслуживания
SpdMode=0                 - 0 - скорость на чек;  1 - скорость на гостя
BsoMatrix=0               - 0 - Контрольная лента выводится на обычный принтер 1-на матричный
DBF=                      - экспорт сформированных отчетов в dbf-формат
ItemsReport=1             - если 1, то следующие отчеты будут в национальной валюте:
                                    Расход блюд         
                                    Расход блюд по категориям
                                    Расход блюд по группам станций
                                    Расход блюд по валютам
DaysReport=1              - если 1, то следующие отчеты будут в национальной валюте:
                                    Выручка по дням
StartHour=                - начальный час для почасовых отчетов
Guardant=$(ID ключа)      - параметр явно указывающий ID используемого лицензионного ключа.
  • Параметр Guardant= необходимо прописывать для каждого раздела (приложения RK6) которое использует лицензионный ключ. Если, параметр не указан (не используется), то возможны конфликты с другими ключами (если, к ПК одновременно подключено несколько ключей с лицензиями под разные приложения UCS).
  • Указание параметра Guardant= также ускоряет опрос ключа при запуске приложений RK6 что в свою очередь повышает скорость запуска приложений комплекса RK6. 

Важно! ID ключа можно считать при помощи утилиты диагностики драйвера ключа (\Панель Управления\Драйверы Guardant) - как правило, состоит из 8-ми цифр (HEX), символ "h" не является значимым!

[Editor]
KbdFont=Antica             - каким шрифтом делать распечатку раскладки грячих клавиш клавиатур.
NetGate=6                  - сетевая настройка
RKOrderDir=D:\RKORDER      - каталог выгрузки RK6ORDER.XML для связи с ПО RK-ORDER
OnLine=Yes                 - передавать on-line блюда и персонал на кассы
LockDel=                   - DLL для разрешения удалений
RkOrderDir=                - Путь куда выкладывать файл для RK-Order.
Guardant=$232D7F11         - параметр явно указывающий ID используемого лицензионного ключа.

[Monitor]                  - Мониторинг
...
NetGate=5                  - сетевая настройка

[Appender]                 - Закрытие дня
EndDayPath=d:\RK6\ENDDAY\  - каталог приема данных закрытых смен от кассовых серверов. Может быть сетевым (через IP, расшаренный ресурс, сетевую букву диска)
AutoClose=Yes              - Если Yes - приложение закроется само
AvatPath=.\DB              - указать тот же путь что указан в Alias2                   
BackupPath=.\DB\           - путь, куда делать бэкап файла ARK6.UDB при каждом запуске Закрытия Дня
BackupCount=10             - количество хранимых бэкапов
PostExe=                   - можно указать приложение для запуска после закачки
TransPath=                 - путь куда сбрасывать файл ltrans.dbf

[Admin]                    - доп.параметры администрирования
ShowHistory=YES            - показывать ли историю выполняемых в менеджерской базе действий.

[Transport]                - Транспорт
StockPath=                 - куда записывать экспортируемые DBF
DBF=OEM                    - OEM / ANSI - кодировка в DBF файлах экспорта
Office=No                  - если YES, то можно принимать файлы из Бэк-офиса и отправлять файлы в бэк-офис.
ShowExport=YES             - показывать ли пункт меню "Экспорт в офис"
OfficeOut=                 - Путь куда записывать файлы для Бэк-офиса
GenPath=                   - Путь откуда брать файлы, присланные из РосИнтера
RboLink=1                  - 0  Бэк-офисом является РосИнтер
                           - 1  Бэк-офисом является RBO
                           - 2  Mеню (группы печати, модификаторы), НДС - из RBO, остальное из Gener32
                           - 3  Меню и сопутствующее - из локальной RBO, остальное - из головной RBO
RboPath=                   - Путь откуда брать файл, присланный из RBO
AutoClose=                 - если YES то приложение закроется само в случае запуска из командной строки
DishServ=1                 - 0 - не принимать группу печати блюда от RBO
                           - 1 - принимать группу печати блюда от RBO
OMC=0                      - 1 - экспорт в DBF по техзаданию от "OMC"
CSLinkDll=                 - dll для связи с CardServ (если OMC=1)
CSLinkGate =               - номер Transporta в секции этой dll
RboScreens = 0             - принимать ли Экраны станций из RBO 0-нет 1-да

[RNBOpen]                  - модуль связи с кассовым сервером
Client5 = Mon_01           - имя клиента мониторинга для связи с кассовым сервером
Server5 = RLSERV           - имя кассового сервера для подключения мониторинга
Adapter5 = 0               - номер адаптера кассового сервера для подключения мониторинга

Client6 = RK-Editor        - имя клиента приложения редактор
Server6 = RLSERV           - имя кассового сервера для подключения редактора
Adapter6 = 0               - номер адаптера

[RNetbios]                 - модуль связи через NETBIOS
Server1 = PCSERV           - имя сервера
Client1 = RK-Transport     - имя клиента

Server2 = PCSERV           - имя сервера (параметры зависят от конфигурации системы)
Client2 = RK-Reports       - имя клиента (параметры зависят от конфигурации системы)

Примечание: Если параметр AdapterX присутствует, то используется указанный номер адаптера. Если параметр отсутствует или его значение не указано, используется первый из существующих номеров адаптеров и это значение не обязательно будет равно 0.

Примечание: Файл RKEEPER6.INI может дополняться новыми разделами и параметрами - актукальную инфомрацию можно получить из истории изменений менеджерских модулей в файле \RK6\VER\VER_HIST.TXT 

7. Содержимое архива Cfx.7z, что мы скопировали в папку \RK6 ранее, содержит необходимые компоненты для поддержки в приложении Report32 (Отчеты) графических представлений сформированных отчетов в виде графиков, диаграм и т.п. Что бы данный функционал заработал, необходимо не только скопировать модули, но и зарегистрировать их в реестре запустив \RK6\chartfx.reg.

8. Скопировать с  ftp://ftp.ucs.ru/dealers/r-keeper/ral актуальный файл RAL.DAT после чего, можно запускать DealRK.exe для первоначальной конфигурации менеджерской базы RK6.

9. Последним действием, запустить сам E_rest32.exe (Редактор), заполнить справочники. Без минимального наполнения справочников, не запуститься кассовое ПО.

Лицензирование

Для защиты "Менеджерской RK6" используются стандартные для многих приложений компании UCS электронные usb-ключи производства компании Guardant. Официальный сайт - http://www.guardant.ru. Там же, можно скачать и последние актуальные драйвера для этих ключей.

Так же, драйвера ключей есть и на нашем фтп, например, -  ftp://ftp.ucs.ru/dealers/Novex.drv/

  1. Скачать актуальный драйвер ключа, разархивировать, запустить установщик, следуя инструкциям по установке установить драйвер без подключенного физически ключа.
  2. После установки подключить ключ в порт и далее следовать автоматической стандартной установке устройств ОС Windows.
  3. По завершению на ключе должна загореться лампочка, а в "Панели Управления" добавиться ярлык менеджера ключей Guardant.

Для работы менеджерской RK6 требуется наличие ключа именно на том ПК где она запускается. 

Терминальный доступ для работы с Менеджерской RK6 компанией UCS не поддерживается. Это связанно:

  • С техническими ограничениями накладываемыми ключем (не поддерживаются сетевые технологии)
  • Особенностями работы BDE (DB RK6 не является многопользовательской)
  • С политикой компании (сколько менеджерских мест RK6 ставится столько лицензий/ключей и приобретается).

Смена дилерства

  1. Клиент должен отправить официальное письмо (с печатью и подписью руководителя) в компанию UCS с просьбой сменить дилера.
  2. Со стороны принимающего дилера - должно быть отправлено такое же письмо (со всеми регалиями) подтверждающее этот переход.
  3. При попытке зайти в DealRK (новым дилером) будет выдано сообщение о принадлежности базы предыдущему дилеру и в каталоге \RK6 будет сформирован спецфайл - REMOTE.ARE.
  4. Сформированный файл выслать туда же (в отдел лицензирования или в коммерческий отдел компании UCS).
  5. После получения отделом лицензирования всего вышеперечисленного, новому дилеру будет выслан модифицированный RAL.DAT (разового использования), который необходимо положить в каталог RK6 и снова запустить DealRK, при этом предыдущее дилерство из базы будет удалено, а новое прописано.
  6. После всего, появится возможность создать своего собственного нового Администратора, под которым можно продолжить работу.
  7. После смены дилерства можно будет использовать стандартные RAL.DAT с ФТП.

Примечание: при получении модифицированного RAL.DAT рекоммендуется воспользоваться им без промедления, так как есть привязка к дате.

Поддержка параметров кассовой системы (INIVAL, INISRV)

Начиная с версии менджерской 6.92 (кассовая часть 6.98) параметры кассовой системы могут быть определены в приложении "Редактор" (E_REST32.EXE)
 
Перед запуском кассовой системы и использованием параметров, в редакторе должны быть добавлены все кассовые сервера (меню "Списки" - "Серверы").
 
Есть два типа параметров: 
  • "Параметры кассовых станций" - содержаться в отдельном справочнике, который можно открыть кликнув правой кнопкой мыши по станции и в контекстном меню выбрать - "Параметры".
  • "Параметры кассовых серверов" - содержатся в отдельном справочнике, который можно открыть кликнув правой кнопкой мыши по серверу и в контекстном меню выбрать - "Параметры".

Справочник параметров кассовых станций хранится в файле \RK6\INIVAL.DEF, справочник параметров кассовых серверов - в файле \RK6\INISRV.DEF.

Актуальную версию справочников INIVAL.DEF и INISRV.DEF можно загрузить с FTP-сервера ftp://ftp.ucs.ru/r-keeper/versions/RK6/INIVAL  либо скачать через Центр Поддержки по адресу http://support.ucs.ru/inival_support.

Примечание: Справочники параметров INIVAL.DEF и INISRV.DEF поставляются с дистрибутивом менеджерской части RK6 , но данные в справочниках могут быть не актуальны.

Справочники INIVAL.DEF и INISRV.DEF зашифрованы и используются только менеджерским приложением "Редактор" (E_rest32.exe).

Важно! В DealRK.exe доступ к параметрам станций и серверов регулируется отдельным правом "Редактировать настройки станций".

Кассовые станции и кассовые сервера используют другой формат справочников - \DB\INIVAL.DBA  и \DB\INISRV.DBA  соответственно эти файлы, по-умолчанию, отсутсвуют в директории \DB.

Важно! Кассовый сервер не запустится без файлов \DB\INIVAL.DBA и \DB\INISRV.DBA!

Для создания файла  \DB\INIVAL.DBA  требуется изменить какой-либо параметр любой из кассовых станций и сохранить конфигурацию (нажав кнопку "OK"). Например, параметр - Общие настройки ⇒ Сервисные Параметры ⇒ Порядок обработки параметров системы (заполняется обязательно!).

Для создания файла  \DB\INISRV.DBA  требуется изменить какой-либо параметр любого из кассовых серверов и сохранить конфигурацию (нажав кнопку "OK"). Например, параметр Общие настройки ⇒ Сервисные Параметры ⇒ Порядок обработки параметров системы (заполняется обязательно!).

Обновление файлов INIVAL.DBA и INISRV.DBA на кассовом сервере происходит так же, как и других таблиц дневной базы данных (в том числе посредством RKSHARE).

Существуют параметры, которые не могут быть определены в редакторе, т.к. используются еще до инициализации механизма обработки параметров - например, параметры Network, ServerName, UnitName должны быть явно указаны в RKEEPER6.INI.

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

Если какой-либо параметр для кассовой станции или кассового сервера не задан в редакторе, будет использоваться значение этого параметра по-умолчанию (или параметр, указанный в RKEEPER6.INI - в зависимости от порядка обработки параметров, см. ниже).

Параметр IniType (Порядок обработки параметров системы) должен быть обязательно определен перед запуском системы - это необходимо сделать для каждой кассовой станции и для каждого кассового сервера!

Для кассовой станции параметр IniType задается в справочнике параметров в разделе Общие настройки ⇒ Сервисные параметры ⇒ Порядок обработки параметров системы - для кассовых сервером параметр IniType задается аналогично.

Параметр IniType ("Порядок обработки параметров системы") может принимать следующие значения:

  • 0 - ("подавление значений из RKEEPER6.INI") - из RKEEPER6.INI берутся только остутствующие переменные. Неназначенные параметры считаются значениями по-умолчанию, независимо от значений в RKEEPER6.INI
  • 1 - ("приоритет серверных назначений") - из RKEEPER6.INI берутся только отсутствующие и неназначенные переменные
  • 2 - ("приоритет файловых назначений")  - из справочника берутся только отсутствующие и неназначенные переменные
  • 3 - ("игнорировать серверные значения") - используются только параметры из  RKEEPER6.INI, неназначенные параметры считаются значениями по-умолчанию, независимо от значений в справочнике 

Под "отсутствующими" параметрами имеются ввиду переменные, которых нет в справочнике (INIVAL.DEF или INISRV.DEF).

"Неназначеные" параметры - это параметры, которые есть в справочнике, но которые не были инициализированы (т.е. ни разу не были установлены в одно из значений).

Значение "по-умолчанию" - это значение, которое определено на уровне ядра системы и которое принимает параметр, если нет других источников данных.

Примечание: Если идет речь о "серверных назначениях", это может относиться как к параметрам станций, так и к параметрам серверов  - это связано с тем, что обработка справочников происходит в любом случае на уровне кассового сервера.

Приложение

Структура каталога RK6

 Ниже идет краткая структура и описание основных папок, файлов и библиотек рабочего каталога RK6:

  • Папка DB -  менеджерская база данных. Условно состоит из двух частей: Таблиц  paradox (*.DB, *.MB и их индексные файлы - *.PX). В них храняться все справочники системы RK6 и файла ARK6.UDB - накопительная база данных (формат UDB является зашифрованным, разработан компанией UCS)
  • E_rest32.frf, Monit32.frf, Report32.frf - папки содержащие печатные формы отчетов соответсвующих приложений комплекса RK6 и что не менее важно, -  ОПИСАНИЕ ПОЛЕЙ, котороые можно вывести в эти печатные формы.  Формат FRF - формат печатных форм созданных на базе втроенного редактора fast report.
  • Newdb - чистая база данных, содержащая эталонные таблицы, необходимые при апгрейде оригинальной менеджерской базы RK6.
  • TTFONTS - в старых версиях, папка содержала необходимые для установки в ОС шрифты.
  • Папка Ver - содержит файл Ver_hist.txt, в котором, описаны все изменения и обновления версий ПО.
  • GrdVkc32.dll (NOVEX32.dll - в версиях до 6.94) - поддержка драйвера лицензионного ключа.
  • RKEEPER.INI - основной конфигурационный файл.
  • RAL.DAT - поддержка дилерского захода при использовании DealRK.exe.
  • Mfc40.dll, Msvcirt.dll, Msvcrt.dll, Msvcrt40.dll, Olepro32.dll, Cfx32.ocx, chartfx.reg - библиотеки и файлы поддержки представления отчетов в графическом виде.
  • Fastrep.dll, fr_eng.dll, fr_rus.dll, FREXTF.dll -  библиотеки поддержки встроенного редактора печатных форм отчетов Fast Report.
  • *.hlp - файлы справки (вкладка \Справка или "F1" в пиложении).

Примечание!! Если после одновления r_keeper_6 до версии 6.99.6 зайти сразу в отчеты, то появится ошибка:

Во избежание этой ошибки нужно сначала зайти в редактор (E_REST32.exe), а только потом в отчеты.

 

Дополнительные возможности Менеджерской RK6

Настройка Мониторинга (Monit32.exe)

В большинстве случаев дополнительно с RK6 настраивается приложение Мониторинг (Monit32.exe) позволяющее подключиться в режиме реального времени к кассовому серверу, получить данные об открытой смене (выручка, зарегистрированные в смене, официанты, открытые заказы и т.п.), передать сообщение на станцию конкретному работнику, изменить кассовую дату в случае, если не было продаж и другие возможности в т.ч. сервисные. 

Для установки потребуется библиотека для связи с касовым сервером rnbopen.dll (можно взять отсюда - ftp://.../dealers/r-keeper/versions/PERSCARD/netdll.7z), ее необходимо скопировать в папку RK6. 

Далее, необходимо сделать настройки в основном конфигурационном файле rkeeper.ini в соответсвующих разделах. Пример:

...
[Monitor]                 - раздел мониторинга
CharCode=                 - параметр по-умолчанию (кодовая страница)
NetGate=5                 - сетевая настройка
...

[RNBOpen]                 - раздел настроек используемого модуля связи
Client5 = Mon32_Cli       - сетевое имя клиента для самого приложения Мониторинг
Server5 = RLSERV          - NETBIOS-имя кассового сервера
Adapter5 = 0              - сетевой номер адаптера для протокола связи с кассовым сервером.

 

Примечание:  связь Мониторинга с кассовым сервером работает исключительно, через модуль RNBOPEN.DLL. С другими модулями связи Мониторинг не работает.

 

Настройка связи ПО Отчеты (Report32.exe) с сервером ПДС (CARDSERVER)

В приложении Отчеты (Report32.exe) - есть возможность построить несколько отчетов с использованием данных из Платежно-Дисконтной Системой (ПДС), конечно, если подобная система используется в устанавливаемом комплексе.

1. Необходимо, как и в случае с настройкой Мониторинга добавить в папку RK6 модули связи  (можно взять отсюда - ftp://.../dealers/r-keeper/versions/PERSCARD/netdll.7z). Но, в отличии от ПО Мониторинг модуль RNBOPEN.DLL использоваться не будет в данном случае, а будут использоваться другие универсальные модули связи - rlocal.dll, rnetbios.dll, rtcp.dll.  Соответственно, связь с сервером ПДС будет осуществляться через тот модуль, которому, мы отдадим предпочтение в данной конкретной конфигурации. Описание и настройки каждого модуля по отдельности, есть, в том же самом, архиве  netdll.7z. 

Примечание: Библиотеки из архива netdll.7z  являются универсальными модулями связи для большинства.

Содержимое архива netdll.7z:

RNBOPEN.DLL       - библиотека связи с кассовым сервером (необходима полноценная поддержка NETBIOS)
RNETBIOS.DLL      - библиотека связи с использованием NETBIOS (для остальных приложений, КРОМЕ кассового сервера)
RTCP.DLL          - библиотека связи с  иcпользованием протокола связи TCP/IP
RLOCAL.DLL        - библиотека связи с использованием внутреннего (локального) протокола связи.

2. Следующим шагом, необходимо настроить выбранный модуль связи в основном конфигурационном файле RK6 - RKEEPER.INI, на примере модуля RTCP:

...

[Reports]
CSLinkDLL=RTcp    - используемый модуль связи
CSLinkGate=2      - сетевой шлюз
...

[RTcp]
Client2 = RK-Reports     - сетевое имя клиента Отчеты
Server2 = 127.0.0.1      -  IP-адрес ПК, где запущен сервер дисконтных карт (CARDSERVER)
Port2 = 3456             - порт сервера дисконтных карт (указан для соответсвующего модуля в CARDSERV.INI)

 

Печать счетов-фактур из приложения Отчеты (Report32) - модуль INVOICE 

В некоторых ситуациях, может быть более быстрым и удобным решением распечатать счет-фактуру непосредственно из приложения "Отчеты". Что бы это можно было сделать, необходимо установить и настроить дополнительный модуль для RK6 - Invoice.

Установка INVOICE

В директории дистрибутива RK6\INVOICE\ находятся все необходимые файлы: 

invoice.dll   - библиотека поддержки печати счетов-фактур.
invoice.ini   - конфигурационный файл.
invoice.udb   - база данных, которая содержит данные, введенные пользователем.
invoice.frf   - печатная форма, основой которой является макет чека.
invoice.RUS   - файл локализации.

1.  Для установки приложения необходимо содержимое папки \INVOICE скопировать в корень рабочей директории \RK6.

2.  В основном конфигурационном файле rkeeper.ini проверить что прописано (при необходимости отредактировать):

[Common]
EditFRF=Yes

Примечание: параметр EditFRF=Yes включает возможности изменения ВСЕХ форм отчетов (в формате FastReports), а не только формы счет-фактуры.

3. Далее, в Invoice.ini указать путь к базе данных счет-фактур, ширину и высоту формы печати:

[Options]
DB=Invoice.udb
Width=409
Height=280

 

Работа с модулем INVOICE

Функции модуля Invoice вызываются из приложения "Отчеты" (Report32.exe): 

  • Нужно запустить "Отчеты", сформировать "Список чеков", войти в конкретный чек и там нажать кнопку "Счет-фактура". Откроется рабочая область модуля "Список клиентов".
  • Далее, нажать кнопку "Настройка", откроется одноименное окно. В нем есть три вкладки: "Номер", "Столбцы", "Макет".
  • Во вкладке "Номер" можно указать номер распечатываемого документа.
  • Макет (Invoice.frf) - Дополнительное поле NUMBER (N) - увеличивающийся c каждой распечаткой номер. Его текущее значение можно настраивать по кнопке "Настройки".
  • Во вкладке "Столбцы" можно создать N-ное число переменных (полей) - названия полей произвольны и могут быть как на русском, так и на английском языках. К примеру, "Организация", "Адрес", "INN" и т.д.

Надо помнить:

  • Если дать полю название, совпадающее с уже имеющимися в макете переменными, то поле перекроет переменную. 
  • Столбцы можно переставлять местами мышью.
  • Сортировка - по столбцу, поставленному на первое место.
  • Форма invoice.frf использует переменные из документа \RK6\REPORT32.FRF\check.txt.

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

Установка и настройка OLAP-отчетов RK6 (Кубы)

 

Вводная информация

Приложение RK6Cube.exe (далее RK6Cube) использует OLAP-технологию и расширяет возможности отчетной части системы R-Keeper v6.

Для формирования отчетов по оплатам и расходу блюд приложение использует менежерскую базу RK6. Также приложение можно подключить к серверу карт ПДС (CARDSERV) для построения кубов в разрезе накопленных данным ПДС.

Рекомендуется устанавливать RK6Cube совместно с основной инсталяцией менеджерского части RK6.

 

Лицензирование

Для приложения RK6Cube не требуется доп. лицензия. Начиная с версия 1.0.1.15 (дата релиза 16.02.2009) для запуска RK6Cube.exe требуется наличие любого электронного ключа Novex, поставляемого компанией ЮСИЭС (ключ может быть без лицензии)

 

Установка приложения

Как правило, RK6Cube устанавливается на том же компьютере, где находится менеджерская RK6 - для установки на другом ПК может потребоваться доп. ключ Novex.

Для установки RK6Cube необходимо:

  • при необходимости загрузить и установить драйвер Guardant для поддержки электронных ключей защиты Novex (ссылка для загрузки драйвером с оф. сайта Guardant http://www.guardant.ru/support/download/drivers/  )
  • при необходимости установить или обновить BDE до версии 5.01, более подробная информация по установке BDE http://support.ucs.ru/ru/node/6461
  • запустить BDE Administrator и проверить для драйвера Paradox значение параметра LANGDRIVCER - должен быть установлен в Pdox ANSI Cyrilic
  • загрузить с FTP ftp://ftp.ucs.ru/r-keeper/OLAP дистрибутив актуальной версии ПО
  • распаковать архив с дистрибутивом в любой каталог, например D:\UCS\OLAP (далее \OLAP)
  • cкопировать из рабочего каталога \RK6 в каталог \OLAP библиотеку rklogin.dll
  • загрузить с FTP ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/netdll.7z архив с модулями связи (требуется для подключения RK6Cube к серверу карт ПДС, более подробно см. документ http://support.ucs.ru/ru/node/6673)
  • распаковать содержимое архива с модулями связи в рабочий каталог \OLAP либо скопировать выборочно только требуемые библиотеки связи - рекомендуется использовать Rtcp.dll
  • добавить на рабочий стол ярлык для приложения RK6Cube.exe

 

Настройка приложения

Для использования RK6Cube необходимо включить соотв. право в конфигурации менеджеской части (\RK6\DEALRK.EXE):

Рис. Конфигурация менеджерской части RK6

 

Параметры приложения RK6Cube хранятся в конфигурационном файле RKEEPER6.INI:

[Common] 
Alias1 = D:\RK6\DB                      - Путь к справочникам RK6
Alias2 = D:\RK6\DB                      - Путь к накопительным таблицам RK6 или базе ARK6.UDB
Language=.RUS                           - Язык интерфейса
RestName = Кафе "Буратино"              - Название ресторана для отображения в печатных отчетах
IgnoreZeroDiscounts = 1                 - Игнорировать нулевые скидки (куб по ПДС, куб по субсидиям)
FarCards = 0                            - Если ПДС работает через FarCard's прописать 1
UseAltName = 0                          - Что показывать в качестве имени блюда: 0 - Name блюда, 1 - AltName блюда, 2 - Name + AltName блюда.
SifrMode = 0                            - 1 - строить куб по большим объемам данных (при включении наименования неправильно сортируются); 
                                          включать, если при построении куба возникает ошибка 'Out of memory while expanding memory stream'

[Cubes]                                 - Список доступных кубов: 1 - показывать куб, 0 - не показывать.
DishCube = 1                            - Куб по блюдам
PayCube = 1                             - Куб по оплатам
ServRateCube = 0                        - Скорость обслуживания
ServRate2Cube = 1                       - Скорость обслуживания 2
PDSCube = 1                             - Куб по ПДС
SubsidyCube = 0                         - Куб по субсидиям
KDSCube = 0                             - Куб по KDS
CardActivityCube = 0                    - Куб "Активность карт"
TableStatCube = 1                       - Куб "Статистика столов"

[DishCube]
MenuGroup = 5                           - Сколько групп меню выводить в куб по блюдам (если 0 - ни одной).

[PDSCube]
CardServNeeded = 1                      - 0 - куб по ПДС будет строиться даже без связи с сервером (только по данным накопительной базы RK6)
                                          1 - для запуска кубов требуется связь с сервером карт.
CardFolders = 5                         - Сколько подразделений выводить в куб по ПДС (если 0 - ни одного).
NeedCheckAndCardCount = 1               - Выводить ли в куб поля 'Карт со скидкой', 'Карт с оплатой', 'Чеков с оплатами', 'Чеков со скидкой'. 1 - да. 0 - нет.
NeedPhone = 1                           - Выводить ли в куб поле 'Телефон'
NeedBirthday = 1                        - Выводить ли в куб поле 'День рожденья'
NeedBonus = 1                           - Выводить ли в куб поле 'Бонус'
NeedVAT = 1                             - Выводить ли в куб поле 'НДС'
CardServUserName=ucs                    - имя пользователя для подключения к серверу карт (запоминается автоматически после первого входа)
CardServPassword=ucs                    - пароль для подключения к серверу карт

[Subsidy]
ChargeOnly = 0                          - Строить куб только по наценкам
CardFolders = 5                         - Сколько подразделений выводить в куб по Субсидиям (если 0 - ни одного).

[CardActivity]
CardFolders = 5                         - Сколько подразделений выводить в куб по активности карт (если 0 - ни одного).

[ServRate]                              - Описание периодов для куба "Скорость обслуживания"
Breakfast  = 7  - 11
Lunch      = 12 - 15
Dinner     = 16 - 18
Supper     = 19 - 23
Late night = 0 - 6

[KDSPeriods]                           - Описание периодов для куба "Куб по КДС" 
p1 = 0  - 10
p2 = 11 - 20
p3 = 21 - 30
p4 = 31 - 40
p5 = 41 - 50
p6 = 51 - 

[OfficeNames]                          - Перекодировка id -> Имя ресторана для куба по "Активности карт". Под id ресторана понимается последние 4 цифры 9-значного кода ресторана
1=Restaurant 1
2=Restaurant 2
 

 

Подключение к серверу карт (CARDSERV)

В директории \OLAP есть несолько архивов CscLink*.rar с различными версиями интерфейсной библиотеки CscLink.dll, которая используется для взаимодействия с сервером карт ПДС (CARDSERV):

RK6Cube  Csclink.dll  Rtcp.dll  CARDSERV

 

Примечание: Актуальную версию Csclink.dll можно загрузить с FTP-сервера ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/CSCLINK

 

Для подключения к серверу карт необходимо настроить конфигурационный файл CScLink.INI:

[Settings]
CSLinkDLL=RTcp - имя библиотеки связи (рекомендуется использовать Rtcp.dll)
CSLinkGate=1   - порядкой номер параметров клиента

[Rtcp]
Client1=RK6CUBE  - уникальной имя клиента
Server1=127.0.0.1 - IP-адрес сервера карт
Port1=3456 - IP-порт для входящих подключений на стороне сервера карт
 
Примечание: В качестве сервера карт может использоваться приложение Farcards
 

Локализация приложения

По-умолчанию, интерфейс приложения на анлийском языке.
 
Для локализации на русский язык необходимо скопировать содержимое каталога  \OLAP\RUS  в корень рабочей директории \OLAP.
 
Для локализации приложения на другие языки используется приложение Langer http://support.ucs.ru/en/node/3656
 

Установка и настройка выделенного кассового сервера RK6 (NT)

 

 Вводная информация

Установка кассовой части RK6 производится как логическое продолжение  инсталляции менеджерской RK6  (статья - http://support.ucs.ru/ru/node/6461). Т.е. имеется ввиду что, менеджерская уже установлена и в ней задана какая-то первоначальная конфигурация заведения - настроены станции, меню, персонал, валюты, цены и т.п.  Инсталляция кассовой части это в определенном смысле - "творческий" процесс, так как фактически используется один и тот же общий кассовый дистрибутив для установки кассового ПО на объектах различных направленностей. Если коротко - фаст фуд, ресторан, бар, кофейня, аквапарк, развлекательный комплекс и т.п. - заведения разные, но дистрибутив кассы фактически один и тот же. Разница только в том, что сначала развертывается стандартная конфигурация кассового ПО, которая затем дополняется необходимыми для утвержденной в проекте конфигурации модулями.

В отличии от менеджерской RK6, которая реализована как однопользовательское приложение и менеджерская база (DB) не предназначена для одновременной правки несколькими пользователями, кассовое ПО в этом смыле является полноценным клиент-серверным приложением делится на  две части: кассовый сервер и кассовый клиент.

Кассовый сервер (rkserver), который может быть реализован как:

  • NT-RKSERVER     - в этом случае, кассовый сервер является самомтоятельным приложением  работающим под управлением ОС Windows (32-bit). Основным файлом указывающим на кассовый сервер под Win является файл -  RKSERVER.EXE.
  • DOS-RKSERVER    - в этом случае, кассовый сервер является интегрированным непосредственно в саму кассовую программу (DOS-RKCLIENT). Основным файлом указывающим на кассовый сервер является файл -  RKSERVER.DLL.

Кассовый клиент (rkclient), который может быть реализован как:

  • DOS-RKCLIENT    -  может быть как с интегрированным кассовым сервером (DOS-RKSERVER), так и без него (т.е. будет подключаться к любому удаленному кассовому серверу).
  • WIN-RKCLIENT    - может быть реализован с NT-RKSERVER на одном ПК (стандартная конфигурация), так и без него (т.е. будет подключаться к любому удаленному кассовому серверу).

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

Примечание: установка будет складываться из  компановки рабочих каталогов ПО, добавления библиотек, файлов, описания настроек в конфигурационных файлах (*.INI), выводя ярлыков на рабочий стол и прочее. Автоматического инсталлятора нет.

Важно! NT-RKSERVER  полностью совместим только с ОС 32-bit. Это связано с отсутсвием полноценной поддержки NETBIOS на ОС x64.

 

 Установка кассового сервера под NT (NT-RKSERVER)

 - как уже писалось выше при установке NT-RKSERVER необходимо иметь уже принсталлированную и сконфигурированную менеджерскую часть RK6.  Так же должен быть установлен BDE, настроена сеть, включена поддержка NETBIOS.

1.  Скопировать с ФТП (ftp://.../dealers/r-keeper/versions/KACCA1XX/ или ftp://.../dealers/r-keeper/versions/KACCA/) актуальную версию (соответствующую установленной версии менеджерской RK6) дистрибутива кассового ПО. Для определения актуальности версий и дополнительной информации по архивам на ФТП можно свериться с файлами content.txt и history.txt. Например, в conent.txt:

cas6103_1.7z - полная инсталляция кассы 6.103.1

 - указывает, на то что, данного дистрибутива вполне достаточно для полной установки кассового ПО.

2. После распаковки архива дистрибутива, получаем папку \KACCA, в которой, нас  будет интересовать каталог - \SERVER. В нем есть всё необходимое для установки NT-RKSERVER.  Внутри папки \RK6 если, устанавливаем NT-RKSERVER там же, где и менеджерская, или на любом другом разделе диска создаем каталог \RKSERVER.  В него из папки \SERVER,  копируем каталог \DATABASE (РАБОЧАЯ БАЗА КАССОВОГО СЕРВЕРА), а так же файлы LOCAL.DB, UPDATE.DB, SETCODAT.EXE.

3. Далее, из папки \SERVER\32-nt в каталог \RKSERVER копируем RKSERVER.EXE.

4. Создаем в рабочем каталоге \RKSERVER папки \OLDRES и \RESULTS.

На данном этапе содержимое каталога \RKSERVER должно выглядить так:

  • \DATABASE       - рабочая база кассового сервера
  • \OLDRES         - каталог, в котором, будут накапливаться архивные данные по закрытым сменам.
  • \RESULTS        - каталог, для временного храненения не отправленных в менеджерскую RK6 (по каким-то причинам) данных закрытых смен сформированных кассовым сервером.
  • LOCAL.DB        - конфигурационный файл кассового сервера (редактируется при помощи утилиты DBD.32)
  • UPDATE.DB       - необходимый для работы файл
  • RKSERVER.EXE    - кассовый сервер
  • SETCODAT.EXE    - утилита предназначенная для редактирования файла SYSTEM.DB.

 -  такого содержимого уже достаточно для запуска кассового сервера.

Примечание: дистрибутив содержит в себе массу текстовых файлов, которые являются "подсказками" и описанием тех или иных модулей. Так что, все readme.txt и т.п. крайне рекомендуются к ознакомлению, что упростит ориентирование внутри дистрибутива кассового ПО, а значит и скорость и качество установки ПО будут выше.

5. Далее, необходимо сделать настройки в LOCAL.DB. При помощи сервисной утилиты DBD.32 (взять можно отсюда - ftp://.../r-keeper/Tools/DBD.32/) открыть и отредактировать файл LOCAL.DB:

DATABASE     - параметр по-умолчанию
C:\RK6\DB    - путь, откуда кассовому серверу брать обновления справочников для своей кассовой базы, т.е. путь к менеджерской базе.

Примечание: пути могут указываться разными способами, например, через сетевую букву диска или ссылаться на расшаренный ресурс. Так же, если используется RKSHARE, то формат строки будет иметь специфичные для связи с RKSHARE параметры (См. описание установки RKSHARE).

C:\RK6\ENDDAY  - путь, куда кассовому серверу выкладывать данные по результатам закрытия кассовых смен.

Примечание: пути могут указываться разными способами, например, через сетевую букву диска или ссылаться на расшаренный ресурс. Так же, если используется RKSHARE, то формат строки будет иметь специфичные для связи с RKSHARE параметры (См. описание установки RKSHARE).

spool         - параметр по-умолчанию
RLSERV,0      - собственное NETBIOS-имя кассового сервера (регистрозависимое, желательно не больше 6-8 латинских символов)

После имени сервера, через запятую, обычно указывается номер сетевого адаптера, чаще всего = 0 (более того, если планируется использование ) rk6win, то этот номер адаптера должен быть обязательно = 0. На других номерах не будет подключения rk6win к кассовому серверу (NT-RKSERVER). Для просмотра и правки номера адаптера под ОС Windows существует стандартная Microsoft утилита - lanacfg.exe. О том, как с ней работать в интернете есть масса информации, в т.ч. на сайте поддержки microsoft.

Примечание: дополнительно, кассовый сервер можно заставить работать на двух протоколах и соответсвенно номерах адаптера. В LOCAL.DB можно добавить шестую строку куда прописать эти дополнительные настройки.

Например:

RRSERV,5     - дополнительное NETBIOS-имя кассового сервера для связи через дополнительный протокол и номер адаптера.

6. Из дистрибутива \SERVER\16-dos в папку \RKSERVER скопировать файлы Inifile.dll, Prdx.dll, Protnb.dll,Cor.exe, rtm.exe, rkeeper6.ini, Dpmi16bi.ovl. Эти файлы необходимы для запуска утилиты SETCODAT.EXE, а также для запуска утилиты COR.EXE. Непосредственно, на работоспособность NT-RKSERVER эти файлы и утилиты не влияют, но нужны как дополнительные технические средства. COR.EXE - является диагностической/профилактической утилитой, выполняющей реиндексацию таблиц (paradox) кассовой базы данных (\DATABASE). Иными словами, это аналог утилиты REIND32.EXE для менеджерской базы RK6.

7. Из папки \RKSERVER\Database скопировать файл SYSTEM.DB на уровень выше (то есть в \RKSERVER), запускаем утилиту SETCODAT и при помощи нее редактируем SYSTEM.DB:

1. Текущая дата:           - ЛОГИЧЕСКАЯ дата кассовой смены
2. Дата установки:         - дата установки кассового ПО
3. Кому лицензирована:     - организация кому принадлжит лицензия на ПО
4. Кто установил:          - специалист/организация производившие установку ПО
5. Телефон поддержки:      - телефоны специалиста/организации производивших установку ПО
6. Код ресторана:          - индивидуальный код ресторана (присваивается отделом лицензирования компании UCS)
7. Завершить.              - сохранение изменений и выход из утилиты SETCODAT.

Примечание:  Cамыми важными параметрами в SYSTEM.DB является 1 и 6-ой пункты. Они обязательно должны быть корректными иначе при дальнейшей эксплуатации ситемы возникнут технические "сложности" различного характера.

После правки утилитой SETCODAT файл SYSTEM.DB необходимо вернуть туда откуда он был взят, т.е. в папку \RKSERVER\DATABASE\.

 

Проблема "2016 года"

С началом 2016 года утилита SETCODAT.EXE перестала корректно работать при запуске в ОС Windows (проблема в некорректной записи логической даты)

Для редактирования параметров SYSTEM.DB можно использовать приложение \RK6\DEALRK.EXE начиная с версии 6.99.2 (ftp://ftp.ucs.ru/r-keeper/versions/RK6/deal6992.7z)

 

Примечание: При запуске DEALRK.EXE ищет файл SYSTEM.DB в каталоге с менеджерской базой \DB - если файл отстуствует, создается новый.

 

 

8. RKEEPER6.INI кассового сервера. Папка с RKSERVER содержит конфигурационный файл RKEEPER6.INI - изначально он пустой. Если его нет, то его можно создать вручную, либо скопировать из дистрибутива (как было сделано выше). Этот файл может заполняться различными дополнительными настройками влияющими на работу и функционал кассового сервера. Все параметры для RKEEPER6.INI  описаны на этом же ресурсе в специальном разделе - http://support.ucs.ru/ru/rkeeper6.ini. 

Если, доплнительных параметров для сервера прописывать не требутся, то можно оставить RKEEPER6.INI пустым. Чаще всего, RKEEPER6.INI кассового сервера выглядит примерно так:

Network = On              - поддержка сетевых обновлений
AutoRestart=On            - автоматическая перезагрузка после завершения работы касового сервера
Hint = RKSERV01           - имя/ярлык кассового сервера
APServer = 127.0.0.1:3456 - связь с сервером дисконтных карт ПДС.

9. Запустить кассовый сервер (RKSERVER.EXE) и убедиться, что обновление его базы (\DATABASE) произошло успешно.

 

Запуск сервера из списка служб

Дополнительно, запуск кассового сервера можно настроить через службу RKSERVICE.EXE (запускать с ключами /install и /uninstall). Этот файл и файл SRVMON.EXE, тогда нужно скопировать из дистрибутива \SERVER\32-nt в папку \RKSERVER. Там же, создать и отредактировать дополнительные конфигурационные файлы:

 - rkslist.ini,  в котором, прописать путь (или пути, если серверов несколько) к рабочей папке кассового сервера, например:

C:\RK6\RKSERVER

- psw.ini - содержит пароль подключения к службам кассовых серверов, через менеджер кассовых серверов (SRVMON.EXE), например:

123456 

- srvmon.ini - содержит параметры удаленного подключения менеджера кассовых серверов к службам кассовых серверов, например:

Server=127.0.0.1

-  в rkeeper6.ini обязательно должны быть указаны параметры:

Autorestart = On <по необходимости>

Hint = <условный заголовок сервера>

Приложение

 - подитожив, все пункты установки NT-RKSERVER, полное содержимое папки \RKSERVER, должно выглядить примерно следующим образом:

\DATABASE            - кассовая база данных
\OLDRES              - архив закрытых смен
\RESULTS             - папка хранения не переданных в менеджерскую закрытых кассовых смен
\EXTENS              - каталог для дополнительных модулей           
LOCAL.DB             - основной конфигурационный файл кассового сервера
UPDATE.DB            
RKSERVER.EXE         - запускной файл приложения  
RKSERVICE.EXE        - утилита регистрации кассовых серверов в качестве служб
SETCODAT.EXE         - утилита правки конфигурационного файла SYSTEM.DB
COR.EXE              - утилита реиндексации кассовой базы
SRVMON.EXE           - менеджер служб кассовых серверов
RTM.EXE             
INIFILE.DLL
PRDX.DLL
Dpmi16bi.ovl
RKEEPER6.INI        - конфигурационный файл дополнительных параметров кассового сервера
RKSLIST.INI         - список путей к кассовым серверам (если их несколько)
PSW.INI             - пароли к SRVMON
SRVMON.INI          - настройки подключения SRVMON к кассовым серверам

 

 

Выполнение подготовительных работ на POS-терминале с ОС DOS

 

Вводная информация

Данная статья является продолжением предыдущих статей по установке и настройке Базового комплекса RK6. Таким образом, приступать к установке КАССОВОЙ ЧАСТИ имеет смысл только после ознакомления и изучения предыдущих статей. Более того, установка КАССОВОЙ ЧАСТИ без установки ПО описанного в предыдущих статьях - НЕ ИМЕЕТ СМЫСЛА. Ниже будет рассмотрено два варианта установки кассового клиента:

  • DOS-RKCLIENT
  • DOS-RKCLIENT + DOS-RKSERVER (т.е. с интегрированным кассовым сервером)

Подготовительные работы на POS-терминале. ОС DrDOS v7.03

 Перед установкой кассового ПО необходимо провести ряд подготовительных работ на POS-терминале или ПК выделенных под кассы.

Важно! Для выполнения этих работ технический специалист должен иметь знания и навыки обращения с ОС MS-DOS. Нужно знать основные выполняемые команды и операторы данной ОС, уметь работать с командной строкой и файловыми менеджерами (например, - VC, NC, DN), быть знакомым с основной терминологией, иметь представление о ключевых системных и конфигурационных файлах операционной системы (AUTOEXEC.BAT, CONFIG.SYS и др.).  

 В большинстве случаев при установке кассовой части мы рекомендуем использовать производную версию майкрософтовской операционной системы, а именно - DrDOS v7.03. Эта версия ОС DOS является условно-бесплатной, поддерживает практически весь функционал продукта от Microsoft. Совместимость с нашим ПО так же, - на максимальном уровне. 

Примечание: альтернативные версии ОС MS-DOS, например v.5.0, v.6.22, v.7.xx также, можно использовать при установке, для достижения каких-то конкретных задач (чаще всего, связанных с проблемами соместимости). Стандартный вариант - DrDOS v7.03

 Если POS-ТЕРМИНАЛ (ДАЛЕЕ, - POS) приобретается в нашей компании, то как правило, у нас всё оборудование проходит предпродажную подготовку, которая включает в себя заливку готового рабочего образа с уже установленной ОС, необходимыми драйверами для сенсорного экрана (при его наличии), с у становленными сетевыми клиентами под разные протоколы связи, с наличием всех необходимых дополнительных и вспомогательных утилит. На разделе, так же может находится и вполне работоспособная версия кассовой программы, на которой, можно протестировать запуск и работу POS.

Если POS приобретается у сторонних поставщиков, то нередко бывает, что в комплекте POS может отсутствовать накопитель (HDD или Compact Flash) и их приходится докупать отдельно, а значит и устанавливать ОС и всё дополнительное ПО.

Исходя из вышеизложенного, установка ОС и дополнительных утилит может быть выполнена двумя вариантами:

  • Заливка готового образа на одноименную модель запускаемого POS. Обычно используются сторонние приложения, например, - Norton Ghost или Acronis.
  • Выполнить полноценную инсталляцию ОС DrDOS v7.03 и всех дополнительных утилит.

С первым вариантом, в общем-то всё понятно, никаких особых знаний он не требует. Рассмотрим второй вариант.

1. Необходимо иметь загрузочную дискету и usb-floppy (готовые образы загрузочных дискет, можно взять, например, отсюда - ftp://.../dealers/r-keeper/Tools/IMAGES/) или готовую загрузочную usb-flash с ОС DrDOS v.7.03. Подключить к POS, настроить приоритет загрузки в BIOS, после чего, - загрузиться с нее.

2. При помощи утилиты FDISK.COM создать на HDD ОСНОВНОЙ ЗАГРУЗОЧНЫЙ (АКТИВНЫЙ) РАЗДЕЛ (C:\), с типом файловой системы FAT-16 (FAT). Соответственно, максимальный размер этого раздела может быть - 2 Гб не более. В зависимости от версии используемой FDISK.COM, там же, может быть предложено отформатировать созданный раздел и перенести на него системные файлы ОС, необходимые для загрузки командной строки и ядра ОС. 

Примечание: если функционала FDISK не хватает, дополнительно можно воспользоваться утилитами FORMAT.COM (для форматирования) и SYS.COM (для переноса на подготовленный раздел системных файлов ядра ОС). Так же, можно пользоваться утилитой CHKDSK.EXE - для проверки состояния раздела HDD.

3. Скопировать на готовый раздел (ДАЛЕЕ, РАБОЧИЙ РАЗДЕЛ или  C:\), с загрузочной usb-flash системную папку \DOS (или \DrDOS), в которой, находятся все необходимые для нормальной работы ОС приложения и файлы.

4. Скопировать в корень диска C:\ каталог с файловым менеджером (например, VC), что упростит дальнейшую работу в системе.

5. Скопировать с usb-flash или создать на рабочем разделе - C:\ конфигурационные файлы AUTOEXEC.BAT и CONFIG.SYS, их необходимо будет заполнять и править по ходу установки ПО на POS.

6. Скопировать на рабочий раздел NDIS2DOS драйвер для имеющейся сетевой карты. Скопировать на диск C:\ дистрибутивы сетевого клиента MS Network client 3.0 представленных в виде каталогов ADDON (сборка сетвого клиента с использованием NETBEUI-протокола связи) и ADDON.TCP (сборка того же клиента, но с использованием TCP-протокола). Так же, можно установить сетевой стек от Novell (описано в отдельной статье - http://support.ucs.ru/ru/node/239 и дополнительн  http://support.ucs.ru/ru/node/238, http://support.ucs.ru/ru/node/241 ).

На данном этапе установки, содержимое диска C:\ должно выглядеть примерно следующим образом:

\ADDON             - дистрибутив сетевого клиента с поддержкой NETBEUI-протокола
\ADDON.TCP         - дистрибутив сетевого клиента с поддержкой TCP-протокола
\DRDOS             - системная папка ОС DrDOS
\NDIS2DOS          - каталог содержащий драйвер для используемой сетевой карты
\VC                - файловый менеджер
AUTOEXEC.BAT       - основной исполняемый файл ОС
CONFIG.SYS         - основной исполняемый файл ОС
ibmbio.com         - системный файл ядра ОС /скрытый
ibmdos.com         - системный файл ядра ОС /скрытый
command.com        - системный файл ОС

7. Следующим шагом необходимо проинсталлировать сеть, потребуется выбранный дистрибутив ADDON или ADDON.TCP и NDIS2DOS-драйвер сетевой карты. Рассмотрим на примере, ADDON.TCP т.к. он становится всё более актуальным особенно в последнее время. NETBEUI-протокол всё больше отходит на второй план и рассматривать его уже нет практического смысла.

Примечание: без наличия рабочей сетвой карты кассовое ПО не запуститься.

Установка ADDON.TCP 

Запустить из папки ADDON.TCP файл SETUP.EXE, далее, следовать инструкциям по установке. Основные ключевые моменты:

В начале установки, будет предложено указать путь и целевой каталог куда будет проинсталлирован сетевой клиент (C:\NET - по-умолчанию). Рекомендуется указать - C:\NETIP (для NETBEUI сборки  указать - NETNB)

Далее, установка запросит указать драйвер используемой сетевой карты и выдаст целый список драйверов, но все они являются устаревшими, нужно выбрать - "network adapter not shown on list below", после чего будет предложено указать путь к папке, в которой, может находится нужный драйвер. В нашем случае, это - C:\NDIS2DOS. Установщик определит этот драйвер и использует для продолжения  установки.

Затем, будет предложено задать первоначальные настройки сети. Перемещаясь в этих настройках (TAB, стрелки, Enter, ESC и т.п.), можно увидеть, что по-умолчанию, установщик для нашей сетевой карты подключил IPX-протокол, его необходимо удалить, а на его место добавить только TCP/IP- протокол. Добавлять остальные протоколы к сетевому адаптеру - не целесобразно, т.к. под ОС DOS виртуальные ресурсы памяти сильно ограничены. Основная задача - получить полноценную поддержку сети под ОС DOS, но максимально облегченную и без расширенных возможностей, которые фактически не будут использоваться.

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

Далее, мастер установки внесет изменения в AUTOEXEC.BAT и CONFIG.SYS, после чего, система будет перезагружена. Сразу же можно сказать, что внесенные в конфигурационные файлы изменения необходимо будет исправить т.к. для наших целей они не совсем корректные и поддержка сети после первой перезагрузки скорее всего не заработает.

После перезагрузки,  редактируем AUTOEXEC.BAT, на данном этапе он  должен выглядеть примерно так:

prmpt $p$g                          - формат коммандной строки
path=C:\DRDOS;C:\VC;C:\NETIP        - пути к основным каталогам
mode com1 9600,n,8,1                - парметры интерфейса RS-232 (COM1)
mode com2 9600,n,8,1                - парметры интерфейса RS-232 (COM2)
dtime                               - проверка даты и времени
cd \DRDOS                           - переход в указанный каталог
share                               - запуск сервиса общего доступа к ресурсам
cd \NETIP                           - переход в указанный каталог
net initialize                      - инициализация сети
netbind.com                         - поддержка сети
tcptsr.exe                          - поддержка протокола
tinyrfc.exe                         - поддержка сети
enetname UNIT01                     - сетевое имя станции
net start                           - старт сети
net logon 1 1 /yes /savepw:yes      - сетевое имя пользователя и пароль
sockets.exe                         - поддержка сокетов
cd \vc                              - переход в указанный каталог
vc                                  - запуск файлового менеджера

 - отредактировать CONFIG.SYS:

FILES=120
BUFFERS=30
LASTDRIVE=F 
DEVICE=C:\NETIP\IFSHLP.SYS          - поддержка сети

Примечание: дополнительно, для ускорения работы системы можно использовать менеджер верхней памяти - HIMEM.SYS. Его даже рекоммендуется использовать, кроме случаев когда оборудование реализовано на базе чипсета - ATOM.

В каталоге установленного сетевого клиента (\NETIP) необходимо отредактировать несколько конфигурационных файлов. 

Отредактировать SYSTEM.INI (параметры, на которые необходимо обратить внимание выделены зеленым цветом):

[network]
...
filesharing=yes            - возможность общего доступа к файлам
printsharing=no            - не используем
autologon=no               - автоматический вход в сеть (не используем, т.к. уже прописали в autoexec.bat)
computername=UNIT01        - сетевое имя ПК (так же, можно указать через autoexec.bat)
lanroot=C:\NETIP
username=1                 - имя пользователя (не актуально, т.к. уже прописано в autoexec.bat)
workgroup=WORKGROUP        - рабочая группа
reconnect=no               - автоматическое восстановление подключений при перезагрузке (не актуально, т.к. отдельно настраивается в autoexec.bat)
...
logondomain=WORKGROUP      - домены не используем
preferredredir=basic       - предпочитаемый редиректор
autostart=server           - старт службы сервера
...

[network drivers]          - все параметры ниже - по-умолчанию.
netcard=rtsnd.dos
transport=tcpdrv.dos,nemm.dos
devdir=C:\NETIP
LoadRMDrivers=yes
...

Отредактировать в той же папке, файл - PROTOCOL.INI:

[network.setup]
version=0x3110
netcard=RTL8139,1,RTL8139,1
...

[TCPIP]
NBSessions=12                            - указано оптиальное значение
SubNetMask0=255 255 255 0                - маска подсети
IPAddress0=192 168 1 1                   - IP-адрес станции
DisableDHCP=1                            - DHCP отключен
DriverName=TCPIP$
BINDINGS=RTL8139
LANABASE=0

NetGate0 = 192 168 0 1                   - указать IP-адрес шлюза при необходимости

[protman]
...

[RTL8139]
DriverName=rtsnd$
Medium=_Auto

 Отредактировать файл - TCPUTILS.INI:

[tcpglobal]
drivername=GLOBAL$
HostName=UNIT01                          - обязательный параметр, без него не прогружаются sockets.exe, а значит нет связи с ethernet-устройствами

[sockets]
drivername=SOCKETS$
...

[telnet]
drivername=TELNET$
...

Отредактировать  HOSTS (фактически, это аналог такового файла в ОС Windows), в него рекомендуется прописать список сетевых ресурсов, которые будут просматриваться сетвым клиентом, например:
192.168.1.2 AServ         - связь с сервером ПДС (CARDSERV)
192.168.1.2 RSHARE        - связь с RKSHARE
192.168.1.2 UNIT99        - описание менеджерского ПК

Отредактировать LMHOSTS. В нем, практически можно продублировать настройки указанные в HOSTS:

192.168.1.2 AServ         - связь с CARDSERV
192.168.1.2 RSHARE        - связь с RKSHARE
192.168.1.2 UNIT99        - описание менеджерского ПК

Скопировать из каталога ADDON (дистрибутив сетевого клиента с поддержкой NETBEUI-протокола) файл NET.EX_  (ЕСЛИ ЕГО РАЗМЕР БОЛЬШЕ, чем размер оригинального файла NET.EXE) в каталог \NETIP, после чего, переименовать NET.EX_ в NET.EXE заменив при этом уже существующий файл с таким же названием. 

Важно! Желательно использовать файл NET.EXE размера - 490 398 байт. Меньшего размера файлы возможно корректно работать не будут...

После всех этих настроек можно перезагрузиться и при загрузке ОС в ПОШАГОВОМ РЕЖИМЕ (клавиша - "F8") убедиться, что все параметры указанные в AUTOEXEC.BAT загружаются в память ОС без ошибок. Если загрузка проходит успешно, можно проверить связь с другими ПК, например, простым пингованием, как с POS, так и с других ПК:

ping 192.168.1.1          - пинговать POS с менеджерского ПК, в нашем случае
ping 192.168.1.2          - пинговать менеджерский ПК с POS, в нашем случае

Дополнительно, рекомендуется дать сетевой общий доступ к диску POS, для простоты дальнейшего обслуживания и выполнения сервисного/технического обслуживания POS:

net share C=C: /FULL      - таким образом, весь рабочий раздел (C:\) будет расшарен на полный доступ

Просмотреть информацию по уже расшаренным ресурсам можно той же командой:

net share                 - без ключей ( с ключем - "/?" - можно вывести на экран справку по всем возможностям)

 - соответсвенно:

net share C: /d           - удаление существующего ресурса общего доступа.

После всех этих настроек, если менеджерский ПК и POS-терминал находятся в общей локальной вычислительной сети (ЛВС) и общей рабочей группе, в идеале, должна появиться возможность ПОДКЛЮЧЕНИЯ СЕТЕВОГО ДИСКА POS с менеджерского ПК (Правой кнопкой мыши, по ярлыку "Мой Компьютер" \ "Подключить сетевой диск"). Если, подключения не происходит, проверить несколько дополнительных моментов:

  • Убедиться, что в HOSTS и LMHOSTS на POS-терминале - верно указаны IP и сетевое имя ПК, с которого мы пытаемся подключиться к диску POS (C:\) - (см.выше)
  • Убедиться, что выполнена команда net share для диска C:\ на кассе (см.выше)
  • Проверить, что POS и менеджерский ПК находятся в общей рабочей группе и ЛВС
  • Дополнительно, на менеджерском ПК в каталоге - c:\Windows\System32\Drivers\etc\ отредактировать файлы HOSTS  и LMHOSTS (так же, как и на POS-терминале), необходимо указать в них IP и сетевое имя настраиваемого POS-терминала. В нашем случае: 192.168.1.1 UNIT01
  • Также, можно проверить, - на менеджерском ПК зайти в "Настройки сетевого подключения" \ "Изменение параметров адаптера", зайти в свойства протокола TCP/IPv.4, там кнопка "Дополнительно", вкладка "WINS" - "ВКЛЮЧИТЬ NETBIOS ЧЕРЕЗ TCP/IP", поставить галку (если ее нет) - "Включить просмотр LMHOSTS".
  • И последнее, убедиться, что подключения не блокируются защитным ПО менеджерского ПК, имеются ввиду - антивирусы, файерволы, брэндмауэры и т.п.

Все указанные выше настройки относительно связи между менеджерским ПК и POS актуальны, только при использовании на менеджерском ПК -  ОС Windows разрядности 32-bit. Если, используется ОС 64-bit поддержку NETBIOS осуществить не удастся, т.к. она просто отсутствует в данных редакциях ОС Windows. Соответсвенно, полноценный доступ к диску кассы для файлового обмена организовать не получится. 

Примечание: конечно при наличии готовой и настроенной сборки каталога \NETIP установка и настройка сетевого клиента займет гораздо меньше времени чем инсталляция с "нуля".

Установка дополнительного оборудования и ПО

8. Следущим шагом установки, рассмотрим установку поддержки дополнительного ПО в частности  Сенсорной панели (ТАЧСКРИН - Touch Screen) на POS-терминале марки GLAIVE. Соответственно, если тачскрин на целевом POS-терминале не используется, можно пропустить данный раздел.

Сенсорный Экран

Для установки поддержки сенсорного экрана потребуется его драйвер под ОС DOS. Сразу, необходимо отметить, что при всем обилии оборудования на рынке,  DOS RKCLIENT поддерживает весьма ограниченное количество тачскрин-панелей. Чаще всего, речь идет всего о двух тач-контроллерах: ELODEVICE и TOUCHKIT. Смысл установки заключается в том, что сначала необходимо заставить работать данное устройство из под самой ОС DOS, после чего,  перейти к настройкам устройства в самом кассовом клиенте. Т.е. в данном случае, нужен драйвер под DOS и нужен драйвер поддержки данного устройства со стороны R-KEEPER. 

В ОС DOS, часто приходится явно указывать, настраивать и прописывать параметры и драйвера многих переферийных устройств и если есть какое-то несоответсвие, или где-то что-то "недонастроили" или не правильно указали, то устройство не заработает. По-этому, в ОС DOS (а значит и в DOS-RKCLIENT) очень ВАЖНО иметь драйвер предназначенный именно для указанной версии / модели устройства. Если, возникает вопрос о том что, допустим нет поддержки конкретной модели того-же тач-скрина под ОС DOS, необходимо использовать в таком случае ОС Windows и win-драйвера + WIN-RKCLIENT. Данный клиент уже во многом использует драйвера устройств под  Windows идущие в комплекте с самими устройствами. Т.е. RK6Win-client более универсален в плане поддержки основных (СТАНДАРТНЫХ) переферийных устройств, но так же необходимо иметь ввиду,  что есть множество торговых устройств (весы, бесконтактные считыватели, контроллеры, фискальные регистраторы, дисплеи покупателей и т.п.) которые не используют "внешних" драйверов устанавливаемых в ОС (Это зависит от каждого конкретного устройства). Такие устройства, как правило, настриваются и подключаются средствами самого кассового ПО. Соответственно, если кассовое ПО не содержит необходимого драйвера, то и подключить требуемое устройство к кассе не получится.

- Возвращаясь к установке тач скрина. Рассмотрим два варианта:

  • Установка и настройка драйвера ELODEVICE (дистрибутив драйвера - TOUCH.ELO)
  • Установка и настройка драйвера TPANEL (дистрибутив драйвера - TOUCHKIT)

TOUCH.ELO

Необходимо иметь дистрибутив данного драйвера поддержки тачскрина предназначенный для установки под ОС DOS. Чаще всего драйвер может находиться на CD с драйверами идущем в комплекте с POS-терминалом.

Скопировать этот дистрибутив (например, каталог - \TOUCH.ELO) на рабочей раздел диска - C:\. Если, дистрибутив драйвера полный, он может содержать автоматический установщик (C:\TOUCH.ELO\SETUP.EXE), которым и рекомендуется воспользоваться. 

Сделать, резервную копию файла AUTOEXEC.BAT  т.к. установщик при установке внесет изменения в него и сделает он это не совсем корректно. Скорее всего, нам придется редактировать AUTOEXEC.BAT как и в случае с установкой сети - вручную.

Запустить setup.exe и следуем инструкциям по установке драйвера поддержки тачскрина. В частности, установщик может сам просканировать все доступные порты и выяснить к какому интерфейсному порту подключен тач.

Примечание: На POS-терминалах производства FIRICH (FEC, GLAIVE,GLADIUS, ROBOPOS, MINIPOS, MEGAPOS и т.п.) конфигурация самого терминала обычно всегда однотипная. Т.е. используя любую модель POS-терминала Glaive всегда можно с большой долей уверенности сказать, что например, устройство сенсорного ввода у него занимает всегда один и тот же RS-232 порт - COM3,  IRQ =10, BAUD = 9600. 

При завершении установки, будут внесены автоматические измения в AUTOEXEC.BAT.  И в идеале, в нашем случае, он должен будет выглядеть вот таким образом:

prmpt $p$g                                       - формат коммандной строки
path=C:\DRDOS;C:\VC;C:\NETIP;C:\TOUCH.ELO        - пути к основным каталогам
mode com1 9600,n,8,1                             - парметры интерфейса RS-232 (COM1)
mode com2 9600,n,8,1                             - парметры интерфейса RS-232 (COM2)
dtime                                            - проверка даты и времени
cd \DRDOS                                        - переход в указанный каталог
share                                            - запуск сервиса общего доступа к ресурсам
cd \NETIP                                        - переход в указанный каталог
net initialize                                   - инициализация сети
netbind.com                                      - поддержка сети
tcptsr.exe                                       - поддержка протокола
tinyrfc.exe                                      - поддержка сети
enetname UNIT01                                  - сетевое имя станции
net start                                        - старт сети
net logon 1 1 /yes /savepw:yes                   - сетевое имя пользователя и пароль
sockets.exe                                      - поддержка сокетов
cd \TOUCH.ELO                                                      - переход в каталог с драйвером
C:\TOUCH.ELO\ELODEV 2200,3,9600,10 -C411,3706,3635,486,1,255       - загрузка драйвера тачскрина и его параметры (2200 - модель, 3 = COM3, BAUD = 9600, IRQ = 10)
cd \vc                                                             - переход в указанный каталог
vc                                                                 - запуск файлового менеджера

Примечание: драйвер тачскрина рекомендуется прописывать после загрузки клиента поддержки сети. Иначе, иногда может возникнуть ситуация нехватки виртуальной памяти для загрузки остальных приложений.

После установки драйвера, может потребоваться откалибровать матрицу сенсорной панели. Для этого, используется штатная утилита идущая в составе дистрибутива драйвера - ELOCALIB.EXE.  Запускать ее, желательно без прогруженной на POS-терминале сети иначе, она скорее всего не запустится по причине нехатки памяти для запуска. Калибруют обычно в режимах 800x600 (256 цветов) и 1024x768 (256 цветов).  Результаты калибровки сохраняются утилитой в файле AUTOEXEC.BAT.

Примечание: необходимо отметить, что нормальным (поддерживаемым под DOS) разрешением для указанной сенсорной МАТРИЦЫ является разрешение = 800x600. Хотя, на многих POS-терминалах нормальным разрешением ЭКРАНА является разрешение = 1024x768. Т.е. получается несоответсвие разрешения. Это несоответсвие устраняется путем выполнения дополнительных настроек в самой кассовой программе!!!

Если, драйвер загружается успешно (без ошибок) и нормально калибруется штатной утилитой - это говорит о том, что драйвер установлен корректно и само устройство с этим драйвером так же работает корректно. Можно переходить к следующим этапам установки.

TOUCHKIT

Если контроллер тачскрина использует драйвер TPANEL.EXE, ниже рассмотрим его установку.

В отличии от установки ELODEVICE TPANEL не имеет автоматического установщика. Т.е. установка происходит простым копированием дистрибутива драйвера в корень рабочего раздела диска C:\TOUCHKIT. Внутри этого каталога находится непосредственно сам драйвер - TPANEL.EXE, утилиты калибровки - TP4PCAL.EXE (калибровка сенсорной панели по 4-рем точкам) и TP25PCAL.EXE (по 25-ти точкам), а так же файл содержащий сохраненные данные по калибровке например, - _TKT1.ROM и другие необходимые для работы файлы.

После копирования дистрибутива необходимо корректно прописать его запуск в AUTOEXEC.BAT. В итоге, должно выглядеть примерно так (зеленым цветом отмечены изменения):

prmpt $p$g                                             - формат коммандной строки
path=C:\DRDOS;C:\VC;C:\NETIP;C:\TOUCHKIT               - пути к основным каталогам
mode com1 9600,n,8,1                                   - парметры интерфейса RS-232 (COM1)
mode com2 9600,n,8,1                                   - парметры интерфейса RS-232 (COM2)
time                                                   - проверка даты и времени
cd \DRDOS                                              - переход в указанный каталог
share                                                  - запуск сервиса общего доступа к ресурсам
cd \NETIP                                              - переход в указанный каталог
net initialize                                         - инициализация сети
netbind.com                                            - поддержка сети
tcptsr.exe                                             - поддержка протокола
tinyrfc.exe                                            - поддержка сети
enetname UNIT01                                        - сетевое имя станции
net start                                              - старт сети
net logon 1 1 /yes /savepw:yes                         - сетевое имя пользователя и пароль
sockets.exe                                            - поддержка сокетов

cd \TOUCHKIT                                           - переход в каталог с драйвером
SET TKT1=3E8 10                                        - загрузка параметров порта для драйвера (3E8 = COM3, IRQ = 10)
TPANEL.EXE -m -1                                       - загрузка самого драйвера сенсорной панели

cd \vc                                                 - переход в указанный каталог
vc                                                     - запуск файлового менеджера

Очень часто дистрибутивный CD идущий в комплекте с POS-терминалом содержит несколько разновидностей драйверов под тач, в т.ч. и TOUCH.ELO и TOUCHKIT. Т.е. понять какой из драйверов необходим для данного конкретного терминала бывает проблематично. В таком случае, просто пытаемся установить и использовать драйвера по очереди, либо разобрать терминал и посмотреть маркировку контролера тачскрина.

Примечание: как и в случае с ELODEVICE сенсорная панель с поддержкой TPANEL имеет интерфейс RS-232 (COM) и занимает один из свободных COM-портов POS-терминала. Параметры интерфейса указываются при загрузке драйвера.

Убедиться в работоспособности драйвера можно при перезагрузке системы. Он должен найти тач-панель, провести самотестирование и выдать результат успешной загрузки. После чего, так же как и в случае ELODEVICE его можно откалибровать утилитами TP4PCAL или TP25PCAL для большей точности сетки матрицы. Если калибровка проходит успешно, значит поддержка устройства установлена корректно.

Важно! Если POS-терминал имеет любую другую реализацию сенсорной панели, то необходимо будет разбираться в возможности ее использования с кассами R-KEEPER v6 в каждом конкретном случае. Например, есть ли у них поддержка под OC DOS, какой интерфейс обмена используется, есть ли возможность использовать с желаемой панелью использовать один из драйверов имеющихся в кассовом ПО и т.п.

Считыватель магнитных карт (MSR - Magnetic Stripe Reader)

Данное устройство является неотъемлемой составляющей кассовой системы на базе R-KEEPER v6. Необходимо иметь ввиду, что только при помощи различных средств авторизации можно войти в кассувую программу. В 99%-случаев, таким средством авторизации является обычный считыватель магнитных карт (MSR) . По сути, для успешной установки и настройки считывателя необходимо учесть два момента:

  • Интерфейс считывателя - может быть представлен в виде PS/2 (что предпочтительно), RS-232, а так же  USB.
  • Настройки считывателя - выполняются либо на уровне "железа" т.е. джамперами на самом считывателе, либо на уровне "софта", т.е. в комплекте должна быть утилита по его настройке.

В зависимости от используемого на считывателе интерфейса будут разниться и его настройки работоспособности в системе. Например:

  • PS/2 - должен работать под DOS  по-умолчанию. Со стороны кассового клиента (RKCLIENT) потребуется использовать драйвер KEYS.DLL
  • RS-232 - потребует дополнительных настроек, в т.ч. со стороны кассового клиента необходимо будет использовать драйвер COMCARD.DLL
  • USB - с одинаковым успехом может заработь, а может и нет. Зависит от поддержки и эмуляции USB под ОС DOS на конкретной материнской плате.

 Неважно как выполнять програмирование считывателя (софтово или переключателями) считыватель должен быть приведен к определенному стандарту работы:

  • Должна быть активирована ВТОРАЯ ДОРОЖКА (1-ая и 3-я должны быть отключены) для чтения информации с карты
  • Должен передаваться при чтении номера карты ПРЕФИКС и ПОСТФИКС (служебные символы)
  • В самом конце считывания должна посылаться сервисная команда - "Enter"
  • Все остальные настройки если они имеются в считывателе, необходимо выключить.

При соблюдении этих параметров кассовое ПО будет корректно воспринимать считываемые карты. Дополнительно, настройка считывателей будет рассмотрена в следующей статье при установке DOS-RKCLIENT.

Сервисные утилиты (UTILS)

Подводя итоги данной статьи, можно сделать вывод, что подготовительные работы являются если не основной, то очень важной частью установки DOS-RKCLIENT. Насколько грамотно это сделано, настолько стабильно и безпроблемно в дальнейшем будет работать данный POS-терминал. А так же, чем меньше "лишних" файлов на рабочем разделе диска C:\, тем проще будет его дальнейшее обслуживание (резервное копирование/восстановление и т.д.).

В идеале, на данном этапе установки фактически должна быть сформирована ОС, настроены основные параметры автоматической загрузки всех необходимых драйверов POS, настроена сеть, расшарены все необходимые ресурсы, должен быть доступ с менеджерского пк к открытому на общий доступ к рабочему диску кассы (С менеджерского ПК должно работать через функцию - "Подключить сетевой диск"), а значит и к дистрибутиву кассового по.  Также необходимо признать, что не всегда получается добиться полноценной сетевой поддержки, что может быть связано со многими факторами такими как - редакция ОС, особые настройки ЛВС, особое оборудование по организации ЛВС, особые требования администрирования и безопасности и т.д. и т.п. В таком случае, приходится искать компромисные решения, использовать дополнительный софт (например, RKSHARE, а файловый обмен осуществлять через носители) или делать дополнительные настройки для организации обмена информации необходимой в среде r-keeper 6.

- имея сетвой или локальный доступ к дистрибутиву кассового ПО (каталог - \KACCA) необходимо скопировать из нее каталог \UTILS со всем содержимым на рабочий раздел диска C:\ (C:\UTILS) - данный каталог содержит массу дополнительных тестовых и сервисных утилит облегчающих работу и тестирование оборудования в среде ОС DOS. Так что, их наличие не принципиально, но желательно. На этом подготовительные работы с POS закончены. 

 

 

 

Установка и настройка кассового DOS-клиента RK6 (RKCLIENT)

 

Вводная информация

Данная статья является продолжением статьи - "Установка и настройка Базового комплекса RK6. Кассовая часть. DOS. Подготовительные работы на POS-терминале". Ниже, будут описаны последующие этапы установки кассового ПО устанавливаемого на POS-терминалы с ОС DOS. Будем считать что все подготовительные работы на POS-терминале были выполнены, проинсталлировано необходимое дополнительное ПО, работает сеть, установлены все необходимые драйверы и имеется сетевой доступ с POS-терминала к дистрибутивным каталогам кассового ПО (каталог - \KACCA). 

Примечание: установка ПО как и во всех предыдущих случаях (имеется ввиду описание остального ПО RK6) будет складываться из копирования, переименования, перемещения, удаления нужных каталогов, файлов, драйверов, библиотек и настройки основных конфигурационных файлов (*.INI внутри \RKCLIENT).

Рассматривать установку будем на примере обычного для компании UCS POS-терминале марки GLAIVE (он же рассматривался и в предыдущей статье).

Установка DOS-RKCLIENT (реализация с выделенным - RKSERVER)

Cкопировать из дистрибутива \KACCA\Stations в корень рабочего раздела диска C:\ папку \RKCLIENT со всем содержимым (C:\RKCLIENT).

Каталог \RKCLIENT - является на 90% скомпанованным рабочим каталогом кассовой программы. Т.е. он не полный. В нем не хватает файлов/настроек специфичных именно для конкретного целевого POS-терминала. Можно рассматривать \RKCLIENT как некий универсальный конструктор имеющий ОСНОВНУЮ (стандартную) часть и надстраиваемые дополнительные модули. Связана эта гибкость с тем, что фактически, один и тот же \RKCLIENT может использоваться на разном оборудовании и в совершенно разных идеологических конфигурациях разных заведений. 

Также необходимо учитывать, что раз речь идет только о клиенте, значит где-то уже установлен и работает кассовый сервер (NT-RKSERVER). О настройке кассового сервера можно прочитать в предыдущей статье курса  R-KEEPER  v6 - http://support.ucs.ru/ru/node/6505

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

Важно! Папка \RKLCIENT содержит каталог \RESULTS который является показателем понятия "Главная касса" (Более подробная информация информация ниже).

Далее, необходимо дополнить \RKCLIENT специфичными для конфигурации данного POS-терминала модулями. Рассмотрим общепринятые модули.

Поддержка MSR и KBD в RKCLIENT - KEYS.DLL

По-умолчанию, каталог \RKCLIENT  содержит кроме прочего, драйвер поддержки клавиатуры - KEYS.DLL. Он загружается каждый раз при запуске кассовой програмы. Так же, необходимо отметить, что каталог \RKCLIENT содержит массу файлов с названиями типа K_*.DLL - всё это драйвера поддержки ввода с различных торговых клавиатур и клавиатурных считывателей. Кассовая программа их по-умолчанию не загружает (а значит и не использует). Что бы активировать в кассовом ПО любой из этих драйверов, достаточно переименовать выбранный файл (K_*.DLL) в KEYS.DLL. Тогда он будет подгружен в RKCLIENT. Дополнительных настроек и параметров у данного типа драйверов - нет.

Примечание: Рекомендуемым действием является переименование файла K_KB99B.DLL в KEYS.DLL. Драйвер K_KB99B.DLL - это драйвер поддержки стандартного PS\2 считывателя, стандартной ПК клавиатуры и стандартной (для UCS) торговой клавиатуры Mitec KB99-128PL. 

Раз речь идет о POS-терминале GLAIVE, следующим шагом необходимо в RKCLIENT-е настроить модули поддержки тачскрина. 

Важно! Если терминал клавиатурный и наличие сенсорного экрана не предпологается, настройки этого пункта не выполняются.

В предыдущей статье (http://support.ucs.ru/ru/node/6515) рассматривались подготовительные работы в т.ч. связанные с предварительной настройкой и поддержкой сенсорной панели на POS-терминале под ОС DOS . Соответсвенно, драйвер под ОС DOS на данном этапе должен быть уже установлен, сама панель - откалибрована. Т.о. вы уже должны знать какой именно контролер, а значит и драйвер сенсорной панели используется. В большинстве случаев относительно GLAIVE это TOUCH.ELO. 

Поддержка TOUCH.ELO в RKCLIENT

Из дистрибутива \KACCA\STATIONS\TOUCHSCR скопировать в паку \RKCLIENT файл RKEEPER6.EXE, тем самым заменив существующий запускной файл (предназначенный для клавиатурных реализаций).

Из дистрибутива \KACCA\STATIONS\TOUCHSCR скопировать в папку \RKCLIENT файлы USEFIX.EXE и USESCR.EXE  - это тестовые утилиты, которые позволяют оттестировать работу тач скрина без запуска кассовой программы, что очень удобно т.к. тестовые утилиты используют все настройки выполненные непосредственно для кассовой программы, в т.ч. считываются и параметры прописанные в ОСНОВНОМ КОНФИГУРАЦИОННОМ ФАЙЛЕ КАССОВОЙ ПРОГРАММЫ - RKEEPER6.INI.

ВАЖНО!!! подобные тестовые утилиты имеются для большинства подключаемых переферийных устройств. Находятся такие утилиты обычно в той же папке что и драйвер любого устройства. Далее, в статье об этом будет периодически упоминаться.

Из дистрибутива \KACCA\STATIONS\DEVICES\ELO\ скопировать в папку \RKCLIENT файл TCHSCR.DLL.

Из дистрибутива \KACCA\STATIONS\TOUCHSCR\FIXMATH скопировать в папку \RKCLIENT файл TCHFIX.DLL, там же приложено описание этой библиотеки математической коррекции.

Прописать настройки тачскрина и изображения в основной конфигурационный файл кассовой программы - RKEEPER6.INI. На данном этапе он должен выглядеть так:

Network = On              - сетевая настройка (подробнее - http://support.ucs.ru/ru/rkeeper6.ini)
ServerName=RLSERV         - NETBIOS-имя кассового сервера (подробнее - http://support.ucs.ru/ru/rkeeper6.ini)
UnitName=UNIT01           - NETBIOS-имя кассовой станции (подробнее - http://support.ucs.ru/ru/rkeeper6.ini)
HiResolution=2            - разрешение экрана (подробнее - http://support.ucs.ru/ru/rkeeper6.ini
Colors=2                  - глубина цвета (подробнее - http://support.ucs.ru/ru/rkeeper6.ini)

FixNeedHoriz=1024         - параметр математической коррекции сенсорной панели относительно разрешения экрана
FixHardHoriz=800          - параметр математической коррекции сенсорной панели относительно разрешения экрана
FixNeedVert=768           - параметр математической коррекции сенсорной панели относительно разрешения экрана
FixHardVert=600           - параметр математической коррекции сенсорной панели относительно разрешения экрана

Все параметры для основного конфигурационного файла RKEEPER6.INI описаны здесь - http://support.ucs.ru/ru/rkeeper6.ini. Условно, парметры можно разделить на ОБЯЗАТЕЛЬНЫЕ (без которых кассовое ПО работать не будет) и все ОСТАЛЬНЫЕ. Дополнительно, можно сказать, что все эти параметры могут влиять на кассовое ПО совершено разнообразно - какие-то параметры влияют на внешний вид интерфейсных окон, какие-то на функционал, какие-то на дополнительные возможности кассы и т.д. и т.п. Для удобства поиска нужных параметров они поделены на категории и группы в зависимости от своего назначения. Так что, крайне рекомендуется. если не заучить их все, то хотя бы иметь представление о наиболее часто применяемых и уметь пользоваться поиском на наших ресурсах, что бы находить нужные вам параметры.

Примечание:  далее, в этой статье мы будем периодически рассматривать некоторые из дополнительных параметров для RKEEPER6.INI.

После всех этих настроек связанных с тачскрином, можно запустить тестовые утилиты USEFIX.EXE и USESCR.EXE (которые уже находятся в папке \RKCLIENT) и убедиться что поддержка тачскрина работает корректно.

Поддержка TOUCHKIT в RKCLIENT 

Если тачскрин на POS-терминале реализован с поддержкой DOS-драйвера TPANEL.EXE (дистрибутив TOUCHKIT), в таком случае в \RKCLIENT необходимо выполнить следующие настройки ВМЕСТО тех, что выполнялись в предыдущем пункте - связанным с поддержкой ELODEVICE (дистрибутив TOUCH.ELO).

Из дистрибутива \KACCA\STATIONS\TOUCHSCR скопировать в паку \RKCLIENT файл RKEEPER6.EXE, тем самым заменив существующий запускной файл (предназначенный для клавиатурных реализаций). А также, файлы TCHSCR.DLL и TCHFIX.DLL (драйвеы поддержки тачскрина со стороны R-KEEPER)

Из дистрибутива \KACCA\STATIONS\TOUCHSCR скопировать в папку \RKCLIENT файлы USEFIX.EXE и USESCR.EXE  - это тестовые утилиты, которые позволяют оттестировать работу тач скрина без запуска кассовой программы, что очень удобно т.к. тестовые утилиты используют все настройки выполненные непосредственно для кассовой программы, в т.ч. считываются и параметры прописанные в ОСНОВНОМ КОНФИГУРАЦИОННОМ ФАЙЛЕ КАССОВОЙ ПРОГРАММЫ - RKEEPER6.INI.

Делаем настройки в \RKCLIENT\RKEEPER6.INI, пример:

Network=On               - сетевая настройка (подробнее - http://support.ucs.ru/ru/rkeeper6.ini)
ServerName=RLSERV        - NETBIOS-имя кассового сервера (подробнее - http://support.ucs.ru/ru/rkeeper6.ini)
UnitName=UNIT01          - NETBIOS-имя кассовой станции (подробнее - http://support.ucs.ru/ru/rkeeper6.ini)
HiResolution=2           - разрешение экрана (подробнее - http://support.ucs.ru/ru/rkeeper6.ini
Colors=2                 - глубина цвета (подробнее - http://support.ucs.ru/ru/rkeeper6.ini)

Этих настроек вполне достаточно для поддержки тачскрина использующем DOS-драйвер TPANEL.EXE.

Можно запустить тестовые утилиты USEFIX.EXE и USESCR.EXE (которые уже находятся в папке \RKCLIENT) и убедиться что поддержка тачскрина работает корректно.

Поддержка Денежного ящика и дисплея покупателя  в RKCLIENT - POS.DLL

Одним из стандартных настраиваемых модулей считается драйвер поддержки дисплея покупателя и денежного ящика - POS.DLL. Есть несколько вариантов поддержки данных устройств со стороны RKCLIENT в зависимости от моделей используемого оборудования и вариантов подключения к POS-терминалу.  Рассмотрим 3 варианта:

1-ый вариант.  По-умолчанию, каталог \RKCLIENT уже содержит библиотеку POS.DLL - данная библиотека фактически является стандартной "заглушкой" и используется если ни дисплея ни ящика подключено к POS-терминалу не будет. Дополнительных настроек данный модуль не требует.

2-ой вариант. Дисплей покупателя и денежный ящик идут одним комплектом вместе с поддключаемым ФИСКАЛЬНЫМ РЕГИСТРАТОРОМ (ФР). Т.е. и дисплей и ящик будут подключаться в интерфейсные порты самого ФР и только сам ФР будет подключен непосредственно к POS-терминалу. В таком случае, рекомендуется использовать драйвер поддержки дисплея и ящика взятый отсюда из любого дистрибутива кассы, например \KACCA\Stations\Devices\FPRINTER.DLL\  файлы POS.DLL, POS.LNG, POS.TXT. В txt-файле находится описание настроек драйвера, которые прописываются в основном конфигурационном файле \RKCLIENT\RKEEPER6.INI.  Пример, RKEEPER6.INI (зеленым цветом отмечены выполняемые для этой POS.DLL настройки):

Network=On             - сетвая настройка
ServerName=RLSERV      - NETBIOS-имя кассового сервера 
UnitName=UNIT01        - NETBIOS-имя кассовой станции
................       - пропуск

Pos_Display=On         - выводить ли информацию на дисплей покупателя
Pos_Len=20             - длина строки дисплея
Pos_Float=On           - суммы показывать с копейками (On) или целые (Off)
Pos_Qnt=On             - для последней введеной в чек строки показывать количество (On) или нет (Off)

3-ий вариант. Использование драйвера POS.DLL с РАСШИРЕНОЙ ПОДДЕРЖКОЙ описываемых устройств. Из кассового дистрибутива - \KACCA\Stations\Devices\POS можно скопировать все содержимое или только необходимые файлы - POS.DLL, POS.LNG, POS.INI и тестовые утилиты для проверки работоспособности денежного ящика, с учетом выполненых настроек - TSTDRW.EXE и дисплея покупателя - CHCUST.EXE. Утилиты TSTDRW.EXE и CHCUST.EXE очень полезны для проверки работы и настроек подключаемых к POS-терминалу устройств. Рекомендуется ими пользоваться по необходимости. Настройки этого модуля в отличии от предыдущих, прописываются в отдельный конфигурационный файл - POS.INI, пример:

DisplayCom=0            - порт подключения дисплея (подробнее, в POS.TXT)
DisplayIRQ=10           - номер прерывания (если он не стандартный)
DisplayUseDSR=Off       - использовать ли сигнал DSR
DisplayBaud=9600        - скорость обмена
DisplayType=2           - набор управляющих команд дисплея (подробнее, в POS.TXT)
DisplayCode=6           - номер кодовой страницы для режима Epson (DisplayType=2) (подробнее, в POS.TXT)
DisplayFloat=On         - On - суммы с копейками, Off - суммы целые
DisplayFmt=0            - форматрирование вывода (подробнее, в POS.TXT)
DrawerOut=NUL           - куда подключено печатающее устройство, к которому подключен ящик (подробнее, в POS.TXT)
DrawerPrt=1             - взаимодействие между ящиком и печатающим устройством (подробнее, в POS.TXT)

Примечание: подробное описание этих параметров находится в прилагаемом к драйверу файле POS.TXT.

Важно!  не указывать DrawerPrt=1 или 2 если ящик подключен к фискальному регистратору! А обязательно - DrawerPrt=3.

Поддержка фискального регистратора в RKCLIENT - FISCSUP.DLL и др.

Настраивается в случае, если к POS-терминалу подключен ФР.

Настройка подключения ФР подробно описана в статье - http://support.ucs.ru/ru/node/284

Здесь, коротко скажем о том, что в каталог \RKCLIENT необходимо скопировать библиотеку поддержки фискальной печати - FISCSUP.DLL, которая находится либо, в дистрибутиве кассы (\KACCA\Stations\Devices\Fprinter.DLL) либо, на ФТП, что является более предпочтительным  - ftp://.../dealers/r-keeper/versions/FISC_PRT/ . Никаких дополнительных настроек эта библиотека не имеет.

Различают различные варианты библиотек FISCSUP.DLL, в том числе и библиотека "Тренировочного режима" , которая фактически играет роль "заглушки" и позволяет работать на кассе не имея никакого подключенного к ней фискального устройства. Это может быть удобно, например, при обучении персонала работе с кассовой системой или если работа на теминале ведется в нефискальном режиме. Все ДОПОЛНИТЕЛЬНЫЕ варианты этих библиотек представлены в кассовом дистрибутиве - \KACCA\Stations\FISCSUP.

 - Там же (ftp://.../dealers/r-keeper/versions/FISC_PRT/), представлены все самые актуальные драйверы поддержки различных моделей фискальных регистраторов. 

Запуск RKCLIENT - RKEEPER6.EXE

DOS-RKCLIENT защищен лицензионным ключем FIDUS производства GUARDANT. Этот лицензионный ключ необходимо подключить к LPT-разъему POS-терминала. При его отсутствии кассовая программа просто не стартует.

После добавления всех вышеописанных модулей и выполнения вышеописанных настроек можно сделать пробный запуск кассовой программы.  Запускной файл - RKEEPER6.EXE. Его необходимо прописать в AUTOEXEC.BAT, что бы кассовое ПО загружалось в автоматическом режиме (после прогрузки всех необходимых утилит и драйверов). Ниже в разделе - "Приложение" будет представлен пример полностью готового к работе файла AUTOEXEC.BAT. В качестве проверки можно запускать программу и вручную. При запуске программы, должно произойти подключение к уже установленному и запущенному кассовому серверу (NT-RKSERVER) и в результате должно появиться окно регистрации в программе или окно лицензирования ключа данной станции. 

Если успешного запуска не произошло

  • На экране могла отобразиться какая-то СИСТЕМНАЯ ОШИБКА с вполне определенным текстом или указанием НОМЕРА ошибки. В таком случае, в каталоге \RKCLIENT имеется файл - CASH_ERR.TXT, в котором, приводится перечень и описание всех стандартных ошибок запуска кассовой программы. Так же, большинство технических ошибок запуска и работы програмы записывается в ЛОГ КАССОВОЙ ПРОГРАМЫ - ERRORS.TXT.  При помощи этих документов можно идентифицировать большинство стандартных ошибок кассового клиента.

Примечание: в CASH_ERR.TXT также указано, что ошибки с номерами от №199 и выше - связаны с корректностью сборки кассового клиента. Фактически, можно истолковать по разному, например - не хватает файлов, испорченные файлы, нет настроек для подгружаемых файлов/драйверов и т.д. и т.п. 

  • Могло не произойти подключение к кассовому серверу - в этом случае на экране будет отображаться сообщение - "Server not found" или "Connecting to Server". Необходимо проверить настройки кассового сервера, в т.ч. его конфигурационный файл LOCAL.DB и выполненные в соответсвии с этим файлом настройки в RKEEPER6.INI (парметр ServerName) кассового клиента.
  • Проблема с ключем - будет писаться ошибка - "No novex-key found or printer is off"
  • Проблема с сетевой картой - та же ошибка  - "No novex-key found or printer is off"

Дополнительно

Приложение №1 - AUTOEXEC.BAT

Ниже приведен пример, полностью сформированного файла - AUTOEXEC.BAT:

prompt $p$g
path=c:\util;c:\touch.elo;c:\drdos;c:\touchkit;c:\vc;c:\NET_IP;c:\NET;c:\novell;c:\net.nw
mode com1 9600,n,8,1
mode com2 9600,n,8,1
vga#font
dtime
cd \drdos
share
:cd \NET                            - вариант настройки сети с поддержкой NETBEUI-протокола
:net start
cd \NET_IP                          - вариант настройки сети с поддержкой TCP-протокола
net initialize
netbind.com
tcptsr.exe
tinyrfc.exe
enetname UNIT01
net start
net logon 1 1 /yes
sockets.exe
:cd c:\net.nw                       - вариант настройки сети с использованием стека от NOVELL
:net initialize /dynamic  
:cd c:\novell
:lsl.com
:rtgeodi.com
:cd \net.nw
:odinsup.com
:cd \novell
:tcpip.exe
:cd c:\net.nw
:net start
net use f: \\MAN_PC\RK6 /yes        - подключение сетевого ресурса 
cd \TOUCH.ELO                                                       - вариант настройки поддержки сенсорной панели ELO
C:\TOUCH.ELO\ELODEV 2200,3,9600,10 -C411,3706,3635,486,1,255
:cd c:\touchkit                                                     - вариант настройки поддержки сенсорной панели TPANEL                  
:set TKT1=3F8 4
:TPANEL.EXE -m -1
cd \rkclient             - переход в рабочую папку кассового клиента
:cor                     - реиндексация базы кассового сервера в случае если кассовый сервер здесь же
rkeeper6                 - запуск кассовой программы
stop                     - в случае "вылета" кассовой програмы делает дальнейшую работу на терминале невозможной.

Примечание: символ - ":" или ";" перед командой означает, что данные команды находятся в НЕАКТИВНОМ (ОТКЛЮЧЕННОМ / ЗАКОМЕНТИРОВАННОМ) СОСТОЯНИИ.  Так же, для коментирования команд может использоваться команда REM (ставится перед коментируемыми командами). Цветами выделены различные варианты реализации относительно конкретного POS-терминала.

Приложение №2 - CONFIG.SYS

Ниже, приведен пример стандартного файла CONFIG.SYS:

DEVICEHIGH=C:\DRDOS\HIMEM.SYS        - используется если нет проблем совместимости  (например, с чипсетами Atom - использовать не рекомендуется)
FILES=130                            - значение по-умолчанию
DOS=HIGH                             - используется если нет проблем совместимости  (например, с чипсетами Atom - использовать не рекомендуется)
BUFFERS=30                           - значение по-умолчанию
LASTDRIVE=F                          - зарезервированные буквы
DEVICEHIGH=C:\NET_IP\IFSHLP.SYS      - поддержка сети

Примечание: Если используется оборудование с проблемами совместимости (например, на базе чипсетов ATOM), то все команды и настройки ссылающиеся на HIMEM.SYS необходимо отключить.

Приложение №3 - Структура каталогов рабочего раздела диска C:\ POS-терминала

Пример стандартного содержимого раздела C:\  POS-терминала используемого для установки DOS-RKCLIENT:

\ADDON              - дистрибутив сетевого клиента с поддержкой NETBEUI-протокола
\ADDON.TCP          - дистрибутив сетевого клиента с поддержкой TCP-протокола
\BACKUP             - каталог для резервного копирования файлов
\DRDOS              - системная папка установленной ОС DOS
\LAN                - драйвер сетевой карты
\NET_IP             - вариант развернутого  сетевого клиента с поддержкой TCP
\NETNB              - вариант развернутого сетевого клиента с поддержкой NETBEUI
\NET.NW             - вариант развернутого сетевого клиента с поддержкой стека от NOVELL
\NOVELL             - стек NOVELL
\RKCLIENT           - установленная кассовая программа (DOS-RKCLIENT)
\TOUCHKIT           - вариант поддержки сенсорной панели с использованием драйвера TPANEL
\TOUCH.ELO          - вариант поддержки сенсорной панели с использованием драйвера ELODEV
\UTIL               - подборка сервисных утилит для ОС DOS
\VC                 - файловый менеджер
AUTOEXEC.BAT        -  основной загрузочный конфигурационный файл ОС
COMMAND.COM         - командная строка
CONFIG.SYS          -  основной загрузочный конфигурационный файл ОС
IBMBIO.SYS          - файл ядра ОС
IBMDOS.SYS          - файл ядра ОС

Примечание: разными цветами выделены различные варианты реализации относительно конкретного POS-терминала. 

Установка DOS-RKCLIENT (реализация с интегрированным - RKSERVER)

 Все параметры установки RKCLIENT описаные выше относяться к тем случаям, когда кассовый клиент находится на одном терминале, а кассовый сервер вместе с рабочей кассовой базой находится где то еще. Например, на другом POS-терминале или представлен в виде отдельного приложения под ОС Windows (NT-RKSERVER). 

В этом разделе, будет рассмотрен вариант когда кассовый сервер и кассовый клиент находятся вместе на одном и том же POS-терминале и всё это реализованно под ОС DOS.

Корректнее всего, использовать данный вариант в случае запуска заведений "fast food" или мелких заведений где касса является единственной станцией, например. Каждый POS-терминал в таком случае будет являтся полностью самостоятельной кассовой единицей, со своей кассовой базой и его работоспособность никак не будет зависеть от соседних станций.

Для интеграции DOS-RKSERVER с DOS-RKCLIENT необходимо:

  • Выполнить полную установку кассового клиента так как это описано выше (с самого начала статьи) - т.е. будем считать что данный пункт УЖЕ выполнен.
  • Добавить в каталог \RKCLIENT необходимые для интеграции с кассовым (DOS-RKSERVER) файлы и настройки. Рассмотрим ниже эти действия:

Из дистрибутива \Kacca\Server скопировать в каталог \RKCLIENT папку \Database (со всем содержимым), а также файлы LOCAL.DB, UPDATE.DB, SETCODAT.EXE.

OLDRES и RESULTS

Создать в каталоге \RKCLIENT папки с названиями \OLDRES (для хранения архивных данных по закрытым сменам) и \RESULTS.

Так как кассовый сервер в данном случае находится на самой кассе, то автоматически она становиться независимой от других станций и должна иметь в своей сборке каталоги \OLDRES и \RESULTS которые необходимы для успешного выполнения процедуры - "Закрытие дня", а также необходимы для хранения (\OLDRES) и передачи (\RESULTS) закрытых смен в менеджерскую.

Также, необходимо помнить, что каталог \RESULTS является своего рода каталогом - "флагом" сигнализирующем кассовому серверу о том, что станция в которой, \RKLCIENT содержит папку \RESULTS является "Главной кассой". Т.е. в случае, если к кассовому серверу этой кассы будет подключаться еще один кассовый терминал, этот дополнительный терминал (касса) будет считаться - "Подчиненной кассой", а значит в сборке \RKCLIENT-а второго терминала каталогов \RESULTS и \OLDRES быть не должно! Иначе будет нарушена последовательность и корректность операции "Закрытие дня" в кассовой системе данной конфигурации. В предыдущих статьях, связанных с установкой RK6 об этом уже упоминалось. Подытожив вышесказанное, например:

  • Вариант 1 - Станция - UNIT01 (DOS-RKCLIENT + DOS-RKSERVER здесь же) должна иметь каталоги \OLDRES и \RESULTS. Станция - UNIT02 (DOS-RKCLIENT) подключается к DOS-RKSERVER станции UNIT01, а значит не должна иметь каталогов \OLDRES и \RESULTS.
  • Вариант 2 - Станция - UNIT01 (DOS-RKCLIENT + DOS-RKSERVER здесь же) должна иметь каталоги \OLDRES и \RESULTS. Станция - UNIT02 (DOS-RKCLIENT + DOS-RKSERVER здесь же), соответсвенно должна иметь полный набор каталогов как и станция UNIT01.
  • Вариант 3 - Станция - UNIT01 (DOS-RKCLIENT + NT-RKSERVER) должна иметь в \RKLCIENT только каталог \RESULTS т.к. кассового сервера на ней нет. И в этой конфигурации NT-RKSERVER в своем рабочем каталоге \RKSERVER будет иметь каталоги \RESULTS и \OLDRES. Т.е. в этом случае, каталог \RESULTS на кассе будет являться только "флагом" для кассового сервера обозначающим что касса главная и собственно - единственная. Если, в эту конфигурацию добавить дополнительную станцию - UNIT02 и настроить ее подключение к тому же NT-RKSERVER, то она должна быть обозначена как подчиненная (второстепенная)  станция и в ее \RKCLIENT-е должны отсутствовать каталоги \OLDRES, \RESULTS.
  • Вариант 4 -  Так же, на общий кассовый сервер можно "завязывать" и станции официантов или барные станции (всего в RK6 4 типа станций). Но, в любом случае, они должны иметь перечисленные выше признаки "главной" или "подчиненной" станции.

Дополнительная информация - см. Приложение №4 - Пример выполнения процедуры "Закрытие Дня"

Скопировать из дистрибутива \KACCA\Server\16-dos в каталог \RKCLIENT следующие файлы:

INIFILE.DLL       - необходимый файл
PRDX.DLL          - необходимый файл 
RKSERVER.DLL      - данный файл является основным показателм того, что в данный \RKCLIENT интегрирован кассовый сервер!!!

Важно! Стоит только убрать или переименовать RKSERVER.DLL и кассовый клиент станет просто клиентом, т.е. будет искать подключения к серверу из вне. Это очень удобно для проведения различных тестовых работ, а так же при переносе кассового сервера с одного места на другое.

COR.EXE           - утилита диагностики и выполнения реиндексации таблиц рабочей базы кассового сервера (\DATABASE)

Примечание: рекомендуется прописать в AUTOEXEC.BAT перед загрузкой кассовой программы утилиту COR.EXE, она автоматически будет выполнять профилактику базы кассового сервера.

RTM.EXE           - необходимый файл
DPMI16BI.OVL      - необходимый файл
RKEEPER6.INI      -  копировать нет необходимости  если, RKCLIENT уже содержит сконфигурированный RKEEPER6.INI 

Как и в случае с NT-RKSERVER необходимо отредактировать основной конфигурационный файл кассового сервера \RKCLIENT\LOCAL.DB (под ОС DOS это можно сделать при помощи утилиты - DBEDIT). LOCAL.DB:

LOCAL      STRING             NUM           - шапка таблицы
1          DATABASE\                        - параметр по-умолчанию
2          F:\DB                            - путь к справочникам менеджерской базы
3          F:\ENDDAY                        - путь к каталогу, куда выкладывать закрытые смены
4          spool                            - параметр по-умолчанию
5          RLSERV                           - NETBIOS-имя кассового сервера

В отличии от реализации с NT-RKSERVER, где в LOCAL.DB имя кассового сервера дополняется еще и номером адаптера (подробнее здесь - http://support.ucs.ru/ru/node/6505), в настройках для DOS-RKSERVER достаточно только имени без указания номера адаптера так как для ОС DOS такого понятия как, -  "номер сетевого адаптера" - не существует" или он единственный..

Так же, как и в случае с NT-RKSERVER необходимо при помощи утилиты \RKCLIENT\SETCODAT.EXE отредактировать еще один основной системный файл кассового сервера - SYSTEM.DB.

Для этого, необходимо, скопировать SYSTEM.DB из папки \RKCLIENT\DATABASE в папку \RKCLIENT (там же уже должна быть утилита SETCODAT).

Отредактировать файл при помощи утилиты.

После правки, вернуть SYSTEM.DB обратно в папку \RKCLIENT\DATABASE.

После всех этих настроек, при условии подключения к удаленному ресурсу со справочниками (т.е. согласно настройкам в LOCAL.DB) можно попробовать запустить \RKCLIENT\RKEEPER6.EXE 

Дополнительно

Приложение №4 - Пример выполнения процедуры "Закрытие Дня"

Конфигурация:

  • Касса с ФР - UNIT01 (DOS-RKCLIENT + DOS-RKSERVER, соответсвенно имеет \OLDRES и \RESULTS). - К ее кас.серверу (DOS-RKSERVER) подключено еще две станции: 
  • Станция официанта (только для оформления заказов) - UNIT02 (DOS-RKCLIENT, соответсвенно \OLDRES, \RESULTS не имеет)
  • Станция бармена с ФР (т.е. оформляются фискальные чеки) - UNIT03 (DOS-RKCLIENT, соответсвенно без \OLDRES и \RESULTS).  

В такой конфигурации, закрытие дня будет выглядеть следущим образом:

  • Первым действием     - выключить по питанию UNIT02 (станция официанта) - делается для того, что бы в момент закрытия дня на других станциях, не было создано новых заказов.
  • Вторым действием     - закрывается день на ВСЕХ подчиненных станциях в любом порядке, если на них были продажи. В нашем случае, это единственная станция - UNIT03.
  • Последним действием  - закрывается день на Главной кассе - UNIT01, при этом кассовый сервер сформирует общие итоги по всем станциям и передаст эти данные в менеджерскую.

 

 

 

 

 

 

Установка и настройка кассового Windows-клиента RK6 (RK6WIN)

 

Общие сведения

Важно! RK6WIN не работает на 64-х битных версиях Windows!

Кассовая часть R-Keeper v6, работающая под операционной системой Windows (далее RK6WIN), является отдельной разработкой и не совместима по модулям, библиотекам и т.д. с кассовой версией, работающей в среде DOS.

RK6WIN не является полностью 32-х разрядным приложением (в отличии от R-Keeper V7) - в состав клиента входят также 16-разрядные модули, для работы которых требуется наличие в операционной системе виртуальной машины для 16-ти разрядных приложений (NTVDM). Эта особенность накладывает ограничение на используемые ОС - т.к. в 64-разрядных системах Windows NT отсутствует NTVDM, то и запуск RK6WIN становится невозможным на таких ОС.

При запуске RK6WIN (или любого другого 16-разрядного приложения ) на компьютере с Windows NT автоматически запускаются процессы ntvdm.exe и wowexec.exe. После завершения работы RK6WIN  эти процессы не выгружаются из памяти - такое поведение является особенностью Windows NT и позволяет увеличить быстродействие (для RK6WIN, работающего в качестве основного приложения на POS-терминале, такая особенность не является актуальной)

Примечание: После принудительного закрытия RK6WIN процессы NTVDM могут не освобождать некоторые ресурсы, например COM-порт или NetBIOS-имя - для освобождения ресурсов надо принудительно выгрузить из памяти процессы ntvdm.exe и wowexec.exe.

 

Архитектура RK6WIN и ее отличия от DOS-версии

Несмотря на то, что RK6WIN является отдельной разработкой, кассовый сервер (rkserver.exe) используется стандартный. Для организации независимо работающего кассового места (аналог DOS-сервера) необходимо установить на Windows-компьютер стандартный кассовый сервер (rkserver.exe) и RK6WIN соответствующей версии

Важно! Клавиатурный вариант RK6WIN (отличие только в CALL16.DLL) имеет ограниченную поддержку и отсутствует по-умолчанию в дистрибутиве.
 

В качестве протокола связи между RK6WIN и кассовым сервером используется все тот же NetBIOS, как и в случае использования DOS-версии. При установке RK6WIN следует помнить об этом факте - поддержка NetBIOS в ОС Windows может быть организована либо с помощью протокола NetBEUI либо включением поддержки NetBIOS в свойствах протокола TCP/IP. В любом случае все также остается актуальным понятие "номер адаптера" (подробнее о номере адаптера см. ниже)!

Таким образом, RK6WIN состоит из специального клиента и стандартного кассового сервера. В составе клиентской части есть отличия в сравнении с DOS-клиентом - большинство файлов имеют такое же название и назначение, но есть некоторые файлы, которые отсутствуют в DOS-версии (например, vga32.dll, wsys.dll и т.д.)

Также есть отличие в механизме запуска RK6WIN - исполняемый файл RK6WIN.EXE используется только для инициализации основного исполняемого модуля CALL16.DLL - когда идет речь об обновлении версии RK6WIN, в первую очередь обновляется CALL16.DLL

В клиенте RK6WIN появилась поддержка нового каталога EXTENS32 для 32-х разрядных модулей расширения - если в описании модуля не указано, в какую директорию необходимо его поместить,  копируем его, как и прежде, в директорию EXTENS (либо корневую директорию клиента - зависит от назначения модуля)

Для работы некоторых  устройств RS232 требуется драйвер прямого доступа к портам (PORT32.EXE). Еще одной особенностью работы в среде Windows c устройствами RS232 является отсутствие поддержки линии IRQ (поэтому параметр _IRQ, присутствующий во многих DOS-драйверах, отсутствует в Windows-версиях).

Примечание: Драйвер прямого доступа к портам нужен только для приложений, использующих прямой доступ к портам. И необходимость его установки обязательно указана в описании таких приложений(драйверов). Со всеми остальными устройствами, подключаемыми к COM-портам, работа идёт стандартными средствами Windows и для них не требуется дополнительный драйвер.

 

Дистрибутив RK6WIN и драйвера устройств

Сборка клиента RK6WIN имеет некоторые особенности - полный дистрибутив каждой выпущенной версии не выкладывается разработчиками на ftp-сервер, вместо этого в стандартном дистрибутиве кассы R-Keeper v6 идут только обновленные файлы RK6WIN 

Для обновления версии RK6WIN или сборки нового клиента определенной версии, можно использовать следующую схему:

  • в случае обновления версии используем текущую сборку RK6WIN и дополняем ее обновленными файлами из стандартного дистрибутива кассы
  • в случае сборки нового клиента используем любой доступный дистрибутив или сборку RK6WIN более ранней версии

Примечание: В стандартном дистрибутиве кассы обновленные файлы для RK6WIN находятся в каталоге \KACCA\STATIONS\WIN

 

Клавиатурная касса

Клавиатурный вариант кассы отличается от стандартной RK6WIN только файлом CALL16.DLL. Обновления для клавиатурной кассы не включаются в стандартный дистрибутив, а предоставляются по запросу (например, через трекер).

Важно: Клавиатурный вариант Windows-кассы будет корректно работать только с клавиатурой Mitec KB-99-128 со специальной прошивкой ftp://ftp.ucs.ru/r-keeper/Tools/MITEC/KB99B-128-WIN.LED 

 

Универсальная касса

Универсальная касса отличается от стандартной RK6WIN только файлом CALL16.DLL. Обновления для универсальной кассы не включаются в стандартный дистрибутив, а предоставляются по запросу (например, через трекер)

 

Драйвера устройств

Все устройства, подключаемые к кассе RK6WIN и требующие для работы специальной поддержки, должны иметь драйвер для кассы, разработанный с учетом использования ОС Windows.

Драйвера для большинства устройств, поддерживаемых в RK6WIN, поставляются в стандартных дистрибутивах кассы R-Keeper v6. Если драйвер устройства поддерживает работу в RK6WIN, в каталоге, где размещается драйвер данного устройства, будет присутствовать подкаталог WIN.

Например, драйвера для фискальных регистраторов расположены в директории ftp://ftp.ucs.ru/r-keeper/versions/FISC_PRT - в директории каждой отдельной модели ФР могут располагаться подкаталоги DOS и WIN, где размещаются драйвера для DOS и Windows кассы соответственно.

Ниже приведен список каталогов на ftp-сервере, где хранятся драйвера устройств для кассовой части R-Keeper v6:

Если для устройства нет драйвера в стандартном дистрибутиве кассы, можно проверить каталог ftp://ftp.ucs.ru/r-keeper/versions/WINCAS/DEVICES. Если в данном каталоге драйвер также отсутствует, возможно устройство не поддерживается кассой RK6WIN - в случае необходимости можно оформить запрос на доработку драйвера через трекер.

Примечание: В каталоге ftp://ftp.ucs.ru/r-keeper/versions/WINCAS доступны полные сборки некоторых версий RK6WIN (включая клавиатурную и универсальные кассы), а также некоторые драйвера устройств. Данные сборки протестированы и собраны технической поддержкой - по всем вопросам, связанным с использованием данных сборок, необходимо обращаться на трекер.

 

Установка RK6WIN 

Важно! Для возможности запуска RK6WIN требуется ключ USB Novex II, подготовленный специальным образом! Дилер не может самостоятельно подготовить или прописать такой ключ - его нужно заказывать через офис компании ЮСИЭС!

 

Как отмечалось выше, в качестве сервера используется стандартный rkserver.exe. Кассовый сервер может быть установлен либо на том же компьютере, где и клиент RK6WIN, либо на отдельном. При этом кассовый сервер может использоваться для подключения других кассовых клиентов, в том числе DOS-станций.

Установка RK6WIN выполняется простым копированием содержимого архива в любую директорию. 

Важно!  RK6WIN использует собственные шрифт RKEEPER.FON, который нужно установить стандартными средствами Windows. Сам шрифт находится в директории \FONTS.

 

Параметры RK6WIN хранятся в файле RKEEPER6.INI - поддерживаются практически все параметры обычной версии кассы (DOS), также есть параметры, специфичных только для Windows-кассы:

Nbadapter = 0 - номер адаптера (lana number) для запуска WIN-кассы
WindowType = 0  - тип запуска приложения RK6WIN. Может принимать следующие значения:
 0 - обычное окно
 1 - режим "stay on top" ("всегда на переднем плане")
 2 - режим DirectX-окна (некоторые доп. технические возможности по ускорению вывода графики)
Key = 271A787C - идентификатор ключа защиты USB Novex, задается в шестнадцатеричном виде (HEX) - узнать код можно с помощью утилиты диагностики Guardant
HiResolution = 100 - специальный режим для RK6WIN, позволяющий установить разрешение экрана кассы соотв. рабочему разрешению экрана
Cursor = OFF - возможность (ON) отображения курсора в рабочей области экрана кассы (например, для возможности демонстрации системы с помощью "мыши")

Примечание: В "чистой" установке Windows присутствует только один протокол - TCP/IP, который по-умолчанию имеет нулевой адаптер - для запуска WIN-кассы достаточно установить поддержку NetBIOS поверх TCP/IP в свойствах протокола.

Если в системе установлено несколько протоколов или несколько сетевых карт, для изменения номера адаптера можно использовать утилиту lanacfg.

 

Особенности конфигурационного файла RKEEPER6.INI

Если в конфигурационном файле присутствуют секции, то все параметры, который находятся ниже этой секции до следующей секции, будут считаны и интерпретированы как параметры, относящиеся к данной секции. Например, если в середине конфигурационного файла вставить секцию с параметрами, то все нижеследующие параметры будут отнесены к этой секции и перестанут работать:

..............
[barstd]
Port = 5
Log = 1

CanManualCardInput=ON
CanManualDiscInput=ON

В этом примере параметры  CanManualCardInput  и  CanManualDiscInput  перестанут работать.

Таким образом, либо все параметры прописываем без секций, либо если секция необходима, вставляем в конец RKEEPER.INI.
Еще одна особенность - наличие "скрытых" символов в значениях параметров. Например, после значения параметра присутствует символ табуляции, что не позволяет корректно считать это значение и соотв. параметр не будет работать, как ожидается.

 

Установка и настройка принтсервера - SPRED.EXE, SPREDW.DLL

 

Вводная информация 

В статье пойдет речь об установке и настройке програмного принтсервера расширяющего возможности поддержки различных моделей принтеров в комплексе r-keeper 6. Принтсервер в RK6 представлен в двух вариантах:

  • В виде отдельного приложения - SPRED.EXE, работающего под управлением ОС Windows (32-bit) и использующего спулер печати самой ОС.
  • В виде дополнительной библиотеки - SPREDW.DLL для выделенного кассового сервера (NT-RKSERVER). Настраивается и работает начиная с 6.107 версии кассового ПО!!!

Принтсервер рекомендуется использовать для организации более гибкой (за счет широкой поддержки принтеров, которая фактически ограничена только наличием драйверов для данного принтера под ОС Windows), а так же, более  стабильной работы сервис-печати (за счет использования платформы ОС Windows и например, возможности запуска принтсервера в качестве службы.

Дополнительно, через принтсервер можно настроить и печать отчетов. Другими словами, через принтсервер можно отправлять любую нефискальную печать генерируемую кассовой системой RK6.

Настройка принтеров

При использовании принтсервера необходимо учитывать тот момент, что все используемые принтеры должны быть определены в самой ОС Windows на том ПК где будет запускаться и работать принтсервер. Т.е. они должны быть доступны в разделе "Панель управления"\"Принтеры и факсы" и должна быть возмжность отправить тестовую печать на каждый из них из под ОС Windows. Также, они должны быть расшарены для сетевого использования:

  • Подключить принтер.
  • Установить драйвер идущий с ним в комплекте для ОС Windows.
  • Выполнить тестовую печать (например в свойствах самого принтера). Т.е. убедиться что он работает.
  • В свойствах принтера, сделать его доступным в сети и задать простое и понятное имя сетевого ресурса. Например: @BAR, @HOT, @COLD, @KUHNYA, @MUCHNOY и т.п.

Если у используемого принтера нет win-драйвера, можно попробовать установить самый простой и стандартный драйвер для печатающих устройств из состава самой ОС. Таким драйвером является Generic / Text Only. Т.е. при установке принтера отказываемся от автоматического определения оборудования и указываем драйвер вручную:

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

Настройка SPRED.EXE

1.  Для установки приложения необходимо скопировать содержимое директории \KACCA\SERVER\32-NT\JETDIREC\ дистрибутива кассы, или содержимое архива ftp://../r-keeper/versions/OTHER/spred401.7z в отдельный каталог, например, на менеджерском ПК  или на любом другом ПК лишь бы была возможность настроить связь с кассовым сервером.

2. Основной файл - SPRED.EXE, запускается с ключами (как и большинство остального ПО производства компании UCS):

/INSTALL     - Установить в качестве службы (рекомендуется).
/UNINSTALL   - Удаление службы.
/DESKTOP     - Запустить в качестве настольного приложения.

Дополнительно, в свойствах службы на закладке "Вход в систему" ("Log ON") должны быть установлены следующие параметры запуска:

  • С системной учетной записью (Local System account).
  • Разрешить взаимодействие с рабочим столом (Allow service to interact with desktop ), иначе не будет видна иконка приложения в системном трее, а значит нельзя будет открыть его графический интерфейс для визульного контроля и проверки выполненных настроек.

В некоторых ОС данная настройка не помогает, в таком случае рекомендуется при настройке и тестировании запускать принтсервер в качестве приложения, а уже после отладки поместить в службы, либо все таки выяснить как в данной ОС можно вывести ярлык приложения (работающего службой) в трей.

Примечание: запуск приложения с параметром  /UNINSTALL при запущеном сервисе не приведет сразу к удалению сервиса. При этом сервис перейдет в состояние "Отключен" ("Disable") и будет удален при следующей перезагрузке системы.

3. Определившись с параметрами запуска, необходимо настроить конфигурационный файл SPRED.INI (если он отсутствует в комплекте, то необходимо его создать). 

Конфигурационный файл - SPRED.INI

[Network]            - Раздел сетевых настроек.
Adapter=Find         - Номер сетевого адаптера для подключения к кассовому серверу.
SelfName=JETDIR      - Собственное NETBIOS-имя принтсервера, к которому будет обращаться кассовый сервер, для передачи пакетов на печать (Это же имя указывается в E_rest32, при настройке принтера). Чувствительно к регистру.
ServerName=RLSERV    - NETBIOS-имя кассового сервера от которого принтервер будет получать задания на печать.

[Printers]           - Раздел указания подключений ко всем используемым принтерам.
COM1=\\SRV\@BAR      - Указать подключение к существующему настроенному сервис-принтеру, через сетевое подключение.
COM2=\\SRV\@COLD     - Аналогично предыдущему параметру, описывается следующий принтер. 
COM7=\\SRV\@HOT      - Аналогично.
LPT2=Nul             - Аналогично.
...

Важно! В данном параметре название COMx или LPTx не имеет обычного смысла "порт", это просто идентификатор (значение / соответствие), по которому ориентируется приложение и кассовый сервер. Это же значение (COMx и т.п.) должно быть указано в поле "порт" при указании принтера в E_Rest32.exe (см. раздел "Настройка в Редакторе RK6").

[Log]                            - Раздел настроек записи лог-файла.
Path=С:\RK6\SPRED\SPRED_LOG.TXT  - Если указать путь и задать название файла, то будет писаться лог.
MaxSize=100000                   - максимальный размер лог-файла в байтах.

Настройка в Редакторе RK6 (E_Rest32.EXE)

4. В редакторе RK6 (E_Rest32.EXE) создать соответсвующее настройкам SPRED.INI количество принтеров и в свойствах каждого указать соответсвие параметрам из SPRED.INI. Например:

Принтеры описываются как работающие "Через сервер", в качестве станции указывается сетевое имя указанное в SPRED.INI в параметре "SelfName", (в нашем примере - JETDIR), в качестве порта указывается COM1..COM9 или LPT1..LPT8.

Примечание: Параметр "Аппарат" не важен, поскольку будет использоваться драйвер установленный в ОС.

Принтеры чеков и отчетов, так же могут быть настроены через принтсервер:

5. Описать потоки сервис-печати для станций стандартным образом.

6. После выполнения настроек в Редакторе RK6 не забыть обновить справочники на кассовом сервере (перезагрузить).

7. Запустить SPRED. В правом нижнем углу, на панели задач, должен появиться сине-зеленый значек с названием R-KeeperService Print Redirector:

В окне состояния принтсервера  отображается информация с указанием подключенных принтеров, их статуса, выполненных работ, рабочего состояния.

В панели состояния этого окна, отображается состояние подключения NETBIOS, cетевое имя принтсервера и имя кассового сервера, через который, он подключен, а также, номер сетевого адаптера. 

SPRED.EXE подключится к кассовому серверу, будет забирать с него печать направленную на его имя и сбрасывать ее в соответствующие ресурсы. При этом с версии SPRED.EXE v4.01 используется спулер печати самой ОС Windows.

Возможные состояния запущенного приложения:

  • Правильная настройка - Статус всех настроек - ОК
  • Неправильно прописан параметр (номер адаптера, имена сервера или редиректора), либо после настроек не обновилась БД кассового сервера - статус отображаемых в окне настроек - "Undefined". Или не настроены (не правильно настроены) принтеры и потоки в Менеджерской RK6.

8. Проверить работу печати с кассы.

Настройка принтсервера через SPREDW.DLL для NT-RKSERVER 

Важно! Работало только на версии 6.107 (без доп.символов), на актуальных версиях ПО - не работает: http://www.tracker.ucs.ru:8080/redmine/issues/73122.

 В современных версиях кассового ПО RK6 появилась возможность использовать тот же функционал принтсервера используя не отдельное приложение (SPRED.EXE), а дополнительный модуль для NT-RKSERVER - SPREDW.DLL. Основной плюс такой реализации в том, что сеть для связи с кассовым сервером не используется вообще. Ну а минус, в том что нет окна состояния работающего принтсервера, как это реализовано в SPRED.EXE. 

1. Внутри каталога рабочего кассового сервера создать каталог \Extens  (Пример: С:\RK6\RKSERVER\EXTENS)

2. Скачать с фтп  ftp://.../r-keeper/versions/OTHER/spredw10.7z и распаковать в созданный каталог модуль - SPREDW.DLL и его конфигурационный файл SPREDW.INI.

3. Настроить конфигурационный файл SPREDW.INI (аналогично SPRED.INI, отличие только в отсутствии настроек сетевого подключения к кас.серверу).

Конфигурационный файл - SPREDW.INI

[Network]            - Раздел сетевых настроек.
SelfName=JETDI       - Собственное NETBIOS-имя принтсервера, к которому будет обращаться кассовый сервер, для передачи пакетов на печать (Это же имя указывается в E_rest32, при настройке принтера). Чувствительно к регистру.

[Printers]           - Раздел указания подключений ко всем используемым принтерам.
COM1=\\SRV\@BAR      - Указать подключение к существующему настроенному сервис-принтеру, через сетевое подключение.
COM2=\\SRV\@COLD     - Аналогично предыдущему параметру, описывается следующий принтер.
COM7=\\SRV\@HOT      - Аналогично.
LPT2=Nul             - Аналогично.
.................

[Log]                            - Раздел настроек записи лог-файла.
Path=С:\RK6\SPRED\SPREDW.TXT  - Если указать путь и задать название файла, то будет писаться лог.
MaxSize=100000                   - максимальный размер лог-файла в байтах.

4. Настройки самих принтеров и настройки в E_Rest32.exe аналогичны варианту со SPRED.EXE (смотри предудущие разделы статьи).

5. Запустить кассовый сервер и убедиться что модуль подгрузился и готов к работе:

6. Проверить работу печати с кассы.

 

 

Многофункциональная кассовая станция R-Keeper 6100

Общие сведения

Компания UCS предлагает решение R-Keeper 6100, которое сочетает в себе компактность и низкую стоимость традиционных «некомпьютерных» кассовых аппаратов с одной стороны, и богатую функциональность и визуализацию, присущую современным POS-системам с другой стороны.
Несмотря на малый размер, в этом кассовом терминале есть и программируемая клавиатура, и считыватель магнитных карт, и дисплей покупателя, и компактный кассовый ящик. Также в состав станции входит фискальный регистратор Меркурий MS-K с шириной ленты 80мм. Это значит, что клиенты небольших предприятий питания смогут получить красивый чек с читаемым текстом и расшифровкой по блюдам.

Как и с обычными станциями, схема работы примерно одинаковая. В специальной версии менеджерского модуля «Редактор» составляется меню с ценами и прописываются права сотрудников. Менеджерская часть может быть как одна на все точки, так и своя в каждом кафе. Предусмотрена возможность выгрузки результатов работы в открытый формат (DBF). Таким образом, достаточно иметь одно менеджерское место для заполнения справочников, выгружать данные о продажах, и самостоятельно разработать индивидуальную систему отчётов.

При необходимости дополнительно можно приобрести и установить стандартные модули системы R-Keeper:

  • Менеджер
  • Мониторинг
  • ПДС
  • StoreHouse V4

Но если вам нужны только кассовые отчёты, и не требуется мощного анализа, то достаточно купить только R-Keeper 6100, специальная версия менеджерского модуля с котором поставляется бесплатно. Одно единственное приобретение - у вас есть и касса и несложная система учёта!

Варианты применения

  • Предприятие Фаст-Фуд низкой и средней проходимости с ограниченным ассортиментом блюд
  • Бар низкой и средней проходимости с ограниченным ассортиментом блюд
  • Чековые станции в составе систем с официантскими станциями стандартной конфигурации (концептуальный ресторан)
  • Кафе полного цикла обслуживания с ограниченным ассортиментом блюд и низкой проходимостью
  • Бильярдный клуб для управления тарификацией игры и продажи барной (буфетной) продукции
  • Предприятие корпоративного питания (столовая) низкой и средней проходимости с ограниченным ассортиментом блюд

Технические характеристики

  • Максимально потребляемая мощность 120Вт.
  • Дисплей «оператора» ч\б 320*240
  • Дисплей покупателя 2*16 символов (встроенный)
  • Фискальный регистратор типа Меркурий MS-K
  • Считыватель магнитных карт 2–я дорожка 1 шт.
  • Клавиатура 56 клавиш
  • Денежный ящик имеет 4 отделения под бумажные купюры и 7 отделений под монеты

Интерфейсы:

  • 1 порт Ethernet 100-BASE-T
  • 2 свободных порта RS232 (в виде разъемом RJ45)
  • 1 разъем для внешнего дисплея покупателя
  • 1 разъем для подключения денежного ящика

Габариты Ш х Г х В:

  • Со сложенным дисплеем «оператора»330х330х140мм
  • В рабочем положении 330х50х215
  • Денежный ящик 360х380х85

 

Полезные рекомендации

Для связи между кассой и менеджерским компьютером необходима локальная сеть (одноранговая) или установленный USB-порт на станции RK6100. Поэтому при отсутсвии у заказчика локальной сети обязтаельно уточнить при заказе, чтобы станция была укомплектована USB-портом.

При продаже R-Keeper 6100 как дополнительной станции в существующий ресторан обязательно проверять версию установленнной менеджерской части - если ниже требуемой – то сначала необходимо сделать обновление ПО во всем ресторане (возможно с заменой ключей). Наличие USB-порта необзятельно, т.к. предполагается наличие локальной сети.

При продаже R-Keeper 6100 как станции на дополнительную точку какой-нибудь корпорации (т.е. менеджерская уже есть, но территориально находится в другом месте и связи нет) – проверять версию существующей менеджерской части, если ниже требуемой – то сначала необходимо сделать обновление ПО во всем ресторане (возможно с заменой ключей). Наличие USB-порта ВАЖНО, т.к. это пока единственный способ переноса данных.

Примечание: в разработке находится специальное cетевое устройство хранения данных, которое подключается в локальную сеть либо напрямую к сетевому порту станции с помощью кросс-кабеля (crossover) и позволяет кассе производить обмен данными.

 

Установка и настройка

В первую очередь стоит отметить, что программная часть R-Keeper 6100 основана на стандартной кассовой версии R-Keeper v6 (на данный момент используется версия 6.83G) с модифицированным клиентом (RKEEPER6.EXE) для корректной работы с нестандартным оборудованием (экраном 320х240, клавиатура).

Важно! DOS-сервер (RKSERVER.DLL) для 6100 немного модифицирован - из списка обновляемых файлов дневной базы данных убраны некоторые таблицы, которые не требуются для работы 6100 (IMAGES.* и т.д. ), тогда как NT-сервер используется стандартный. Несмотря на изменения в DOS-сервере, станцию R-Keeper 6100  можно интегрировать в работающий ресторан при соответствии кассовых версий!

Все файлы, необходимые для установки RK6100 можно взять на фтп в директории /dealers/rk6100/IMAGE/..

 

Лицензирование

Кассовая станция RK6100 НЕ ЗАЩИЩЕНА аппаратным ключем защиты, но принцип лицензирования не изменился по сравнению с R-Keeper v6. Для нового ресторана все так же должна быть создана учетная запись со своим кодом ресторана (девятизначный) и для каждой станции должен быть заведен свой юнит. Код ресторана на станции также указывается в файле SYSTEM.DB и при первом запуске станции необходимо сгенерировать лицензию (или SOS-код) с помощью ресурса http://code.ucs.ru. После успешного генерирования лицензии она сохраняется в файле LICENZ.DAT - программный ключ, который по аналогии с аппаратным, привязан к оборудованию конкретной станции и не может использоваться на другой аналогичной станции.

Таким образом, процесс установки и настройки R-Keeper 6100 практически не отличается от такового для R-Keeper v6. На станции устанавливается стандартная версия операционной системы Calders DR-DOS 7.03

 

Особенности RK6100

  • модуль ввода данных "Редактор" НЕ ЗАЩИЩЕН электронным ключен защиты и в нем отсутствует возможность работы с экранами станций (для сенсорных станций). Также в состав менеджерского модуля не входят приложения "Отчеты" и "Мониторинг", которые можно приобрести отдельно
  • для станции RK6100 отсутствует понятие VGA-режима - изображение формируется с помощью программного драйвера INT21SED.COM, который перехватывает вывод через функции DOS, поэтому на станции можно запустить, точнее увидеть результат запуска только тех программ, которые производят вывод через функции DOS
  • в RK6100 установлена сетевая плата, интегрированная в чипсет, для которой реализован только пакетный драйвер (Packet Driver). Для поддержки сети на станцию устанавливается протокол Novell IPX с поддержкой NetBIOS. Также на станции по умолчанию установлена поддержка TCP/IP (стек от Novell)

 

Интерфейсы станции

Все интерфейсы находятся в нижней части станции. Ниже описано назначение каждого разъема - перечень разъемом приведен слева направо (первый разъем +5V):

  • +5V (крайний левый)  - дополнительное выходное напряжение +5В. Можно использовать для питания внешних устройств.
  • COM3 - последовательный порт RS-232, выполнен в виде разъема RJ45 (10-Pin) . Адрес порта - $2E8, прерывание - IRQ11. Распайку кабеля-переходника (не входит в комплект!) на DB9 ("папа") см. ниже
  • разъем для подключения внешнего дисплея покупателя (RJ11). "Сквозной" разъем - подключение дисплея происходит напрямую к фискальному регистратору. Т.к. дисплей покупателя уже встроен в станцию RK6100, использовать этот разъем можно для подключения внешнего дисплея или как резервный
  • разъем для подключения денежного ящика (RJ11). "Сквозной" разъем - подключение денежного ящика происходит напрямую к фискальному регистратору. Поддержка ящика реализована в специальной POS.DLL (поставляется в дистрибутиве)
  • COM2 - последовательный порт RS-232, выполнен в виде разъема DB9. Адрес порта - $3E8, прерывание - IRQ10
  • разъем сетевой карты (RJ45) - порт для подключения станции в локальную сеть (Ethernet)

Также на плате присутствует COM1, который обычно "занят" фискальным регистратором - параметры порта стандартные: адрес порта  $3F8, прерывание - IRQ4
 

Распайка кабеля-переходника с RJ45(10-pin) на DB9 ("папа")
Pin # Цвет жилы стандартной витой пары UTP5 Контакт DB9
1 бело-оранжевый 8
2 оранжевый -
3 бело-зеленый 2
4 бело-синий 3
5 зеленый 4
6 синий 9
7 бело-коричневый 5
8 -------------------------- -
9 -------------------------- -
10 коричневый 7

Настройка CONFIG.SYS 

Кроме стандартного набора в CONFIG.SYS указывается запуск двух специальных драйверов:

INSTALL=C:\UTIL\INT21SED.COM - драйвер перехвата видеовывода через функции DOS

INSTALL=C:\UTIL\RKD1.EXE  - экранная заставка RK6100

Важно! При удалении драйвера INT21SED.COM или комментировании его вызова в CONFIG.SYS загрузка станции будет невозможна - единственный вариант, это разборка кассы, снятие жесткого диска и подключение его к обычному компьютеру для исправления CONFIG.SYS или копировании драйвера!

Настройка AUTOEXEC.BAT

Ниже приведено содержание AUTOEXEC.BAT, который устанавливается по умолчанию на станции RK6100 с некоторыми комментариями:
 

Строка AUTOEXEC.BAT Комментарий
@prompt $p$g
@path=C:\UTIL;C:\DRDOS;C:\NET.IPX
share.exe
cd c:\novell.pkt
 
r6040pd.com 0x60 Загрузка пакетного драйвера r6040pd.com для сетевой карты с поддержкой программного прерывания 0х60
lsl.com  Загрузка интерфейса уровня канальной поддержки (часть ядра программного обеспечения клиента NetWare)
pdether.exe Специальный адаптер для пакетного драйвера. Предоставляет ODI-интерфейс для любого пакетного драйвера и позволяет приложениям ODI получать доступ к сетевой карте через пакетный драйвер.
ipxodi.com  Передает запросы и ответы между рабочей станцией-клиентом и сетью (часть ядра программного обеспечения клиента NetWare)
netbios.exe Загрузка эмулятора протокола NetBIOS фирмы Novell для приложений NetBIOS, работающих в сетях, основанных на архитектуре Internetwork Packet Exchang (IPX)

Примечание: утилита netbios.exe входит в состав Caldera DR-DOS 7.03

tcpip.exe Загрузка транспортного интерфейс TCP/IP для сетевого сервиса более высокого уровня
cd c:\net.ipx
net start
net start server
 
@REM {If keyboard present - run file manager RC}
@TESTKBD.EXE
@if ERRORLEVEL 1 GOTO START_RK6100
rc
Проверка наличия клавиатуры, подключенной к станции - если клавиатура подключена, загружается специальный файловый менеджер RC, иначе загружается R-Keeper 6100 (переход к метке START_RK6100)
Крайне НЕ РЕКОМЕНДУЕТСЯ УБИРАТЬ данный раздел из AUTOEXEC.BAT, иначе запуск станции RK6100 в режиме коммандной строки может быть затруднен.
:START_RK6100
dmove buf rk6100
cd \rk6100
rkeeper6.exe
 

 

Важно! На станции RK6100 будут корректно работать не все приложения (точнее большинство из них) ввиду ее особенностей, в том числе файловые менеджеры NC и VC. Поэтому НЕ СЛЕДУЕТ изменять в AUTOEXEC.BAT загрузку специального файлового менеджера RC на указанные выше - иначе придется воспользоваться аварийной загрузкой.

 

Настройка сетевого клиента

Сетевые параметры станции (имя юнита и рабочую группу) можно изменить в файле \NET.IPX\SYSTEM.INI (стандартный). Если необходимо изменить IP-адрес или маску сети, необходимо внести изменения в файл \NOVELL.PKT\NET.CFG, формат которого описан в таблице ниже
 

NET.CFG Комментарии
Link Support
MEMPOOL 4096
BUFFERS 8 2048
Необходимо указать размер приемного буфера ODI минимум 1514 байт (в нашем примере 2048)
Link Driver PDETHER
INT 60
FRAME Ethernet_II
PROTOCOL IP 800 Ethernet_II
PROTOCOL ARP 806 Ethernet_II
PROTOCOL RARP 8035 Ethernet_II
Секция Link Driver для адаптера PDETHER:

INT - указывается программное прерывание, используемое пакетным драйвером
FRAME - поддержиаемый тип фрейма. Т.к. адаптер PDETHER только тип фрейма Ethernet_II, эта строка вообще-то необязательная
PROTOCOL <имя протокола> <E-тип HEX> Ethernet_II - строка идентификатора протокола. Все протоколы, которые поддерживает адаптер PDETHER, должны быть указаны в данной секции

 

PROTOCOL ODINSUP
BIND PDETHER
BUFFERED
 Привязка ODINSUP адаптеру PDETHER. Параметр BUFFERED выделяет в памяти двойной объем буферов для данных
PROTOCOL TCPIP
BIND PDETHER
PATH TCP_CFG C:\NOVELL.PKT
IP_ADDRESS 172.31.32.101
IP_NETMASK 255.255.255.0
# IP_ROUTER 172.31.32.1
 Привязка стека протокола TCP/IP к адаптеру PDETHER и определение IP-адрес и маски подсети вашей рабочей станции.

Примечание: Можно использовать IP-адрес не обязательно из той же подсчети, что и общая локальная сеть. Главное, чтобы IP-адрес был из той же подсети, что и контроллеры Ethernet

Работа с ФР Меркурий MS-K

Для работы с фискальным регистратором используется программа налогового инспектора INSPECT.EXE, которая входит в состав RK6100 и находится в директории MERKURY (отдельно можно взять на фтп из архива /dealers/rk6100/IMAGE/MERKURY.rar )

Пароль на связь с ФР (оыбчный режим - для режима налогового инспектора см. ниже) по умолчанию "0000". Если пароль изменен, необходимо создать файл INSPECT.INI и в первой строке написать новый пароль.

Важно! Специальные функции, такие как настройка заголовка, ширины ленты, отчеты по ЭКЛЗ и т.д. доступны в программе ТОЛЬКО по комбинации клавиш ALT+F7

Примечание: любой русификатор на станции RK6100 не имеет никакого смысла. Потому что кодами, которые он даст, пользуются такие программы, которые одновременно рассчитаны на наличие обычного дисплея, т.е. ВСЕ широко известные программы. А те программы, которые знают об отсутствии обычного дисплея и наличии специального дисплея на этой станции (RC, INSPECT), самостоятельно обрабатывают весь клавиатурный ввод на уровне портов и эти программы содержат В СЕБЕ русификатор - переключение языков в них осуществляется комбинацией ЛевыйCTRL+ЛевыйSHIFT.

Для работы программы необходимы следующие файлы: RTM.EXE, DPMI16BI.OVL, RS232.DLL, IRQMAN.DLL, T18.DLL.

Важно! На ФР необходимо запрограммировать ставки А и В (с помощью утилиты INSPECT.EXE заполнить: 0-А-10, 1-В-18).  Если клиент работает по упрощенному налогообложению,  то в "Редакторе" во всех блюдах необходимо выставить налог С, тогда он не будет фигурировать в чеках и Z-отчете.

Примечание: В случае отсутствия отреза чека при печати нефискальных документов на ФР Меркурий MS-K необходимо с помощью сервисной программы установить яркость печати в значение 0.

 

Распайка  интерфейсного кабеля для подключения ФР к ПК

В некоторых случаях может потребоваться подключение ФР Меркурий MS-K к обычному компьютеру (например, для работы с сервисной утилитой). В модели ФР, которая установлена в RK6100, нет стандартного разъема DB9, вместо него установлен разъем RJ12 - ниже приводится схема распайки кабеля:

DB9 RS-232 (PC) RJ12 (ФР)
2 3
3 2
4 4
5 6
6 5
7 - делаем перемычку между 7 и 8 -
8 - делаем перемычку между 7 и 8 -

Настройка менеджерского компьютера

На менеджерском компьютере необходимо установить BDE для возможности запуска модуля ввода "Редактор" - больше никаких дополнительных приложений не требуется.

Т.к. на станции RK6100 используется NetBIOS поверх протокола IPX, на менеджерском компьютере также требуется установитть протокол NWLink NetBIOS для возможности сетевого взаимодействия со станцией RK6100.

Чтобы установить NWLink, проделайте следующее:

  1. Откройте компонент Сетевые подключения.
  2. Щелкните правой кнопкой мыши подключение по локальной сети и выберите пункт Свойства.
  3. На вкладке Общие нажмите кнопку Установить.
  4. В диалоговом окне Выбор типа сетевого компонента выберите строку Протокол и нажмите кнопку Добавить.
  5. В диалоговом окне Выбор сетевого протокола выберите NWLink IPX/SPX/NetBIOS-совместимый транспортный протокол и нажмите кнопку OK.

Важно! Служба «Клиент для сетей NetWare» не доступна в 64-разрядных версиях Windows Server 2003 и Windows XP.

Примечания:

  • Для установки NWLink необходимо быть членом группы администраторов.
  • NWLink устанавливается сразу для всех подключений. Если для определенного подключения протокол NWLink не должен быть установлен, щелкните правой кнопкой мыши данное подключение, выберите команду Свойства и либо на вкладке Общие, либо на вкладке Сеть снимите флажок NWLink IPX/SPX/NetBIOS-совместимый транспортный протокол.
  • Чтобы убедиться в том, что NWLink работает, введите в командной строке команду ipxroute config. Таблица сведений о привязках, для которых настроен NWLink должна отобразиться.

Для окончательной настройки протокола, откройте свойства NWLink IPX/SPX/NetBIOS-совместимого транспортного протокола и для параметра Frame Type установите значение Ethernet II - см. Рис.1

Важно! Связь с кассой возможна только при установке Frame Type в значение Ethernet II - ни при каких других значениях связи не будет!

После того, как все настройки будут выполнены, можно подключить сетевой диск кассы стандартным способом. Независимо от того, установлен на кассе протокол NWLink IPX/SPX/NetBIOS или нет, касса должна отзываться на команду ping с менеджерского компьютера - по умолчанию, на станци RK6100 установлен IP-адрес 172.31.32.101.

Важно! Если клиент работает по упрощенному налогообложению,  то в "Редакторе" во всех блюдах необходимо выставить налог С, тогда он не будет фигурировать в чеках и Z-отчете.

Решение проблем

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

В таком случае можно действовать несколькими способами:

Выключить станцию, подключить клавиатуру и включить станцию - должен загрузиться файловый менеджер RC (если соотв. раздел присутствует в AUTOEXEC.BAT). Данный способ может помочь только в том случае, если "зависание" станции происходит на этапе загрузки каких-либо приложений, указанных в AUTOEXEC.BAT после секции с загрузкой RC

Выполнить "аварийную" загрузку. Аварийная загрзука - это по сути стандартная пошаговая загрузка DOS, но с некоторыми особенностями:  

В режиме аварийной загрузки логично не загружать драйвер экранной загрузки RKD1.EXE, иначе кроме самой заставки больше ничего на экране отображаться не будет. Также, если вы хотите наблюдать процесс загрузки станции, можно временно закомментировать запуcк драйвера заставки в CONFIG.SYS.

Важно! Если удалить или закомментировать в CONFIG.SYS запуск специального видеодрайвера INT21SED.COM, вы больше НЕ СМОЖЕТЕ загрузить станцию обычным или "аварийным" способом - для решения проблемы потребуется разборка кассы, снятие HDD, подключение его к какому-либо компьютеру для исправления CONFIG.SYS

Основные операции

Форматы карт, поддерживаемые системой R-Keeper v6

Основная информация

Система R-Keeper v6 поддерживает работу как с магнитными картами, так и с бесконтактными. Карты могут использоваться как средство идентификации пользователя системы (кассир, бармен, официант и т.д.), а также выступать в роли персональных дисконтных, платежных и других средств.

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

Примечание: следует учитывать, что большинство считывателей (магнитные, бесконтактные и т.д.) могут выдавать при считывании некоторую служебную информацию, например, префикс и/или суффикс. Например, в качестве префикса может выступать символ ";" (точка с запятой), а в качестве суффикса - "?" (знак вопроса)- могут быть и другие символы. Важно помнить, что эти символы не относяться к формату карты, а являются служебными!

Примечание: если речь о магнитных 

Ниже описаны основные форматы карт, которые система R-Keeper v6 поддерживает по умолчанию (т.е. без каких либо дополнительных преобразований)1:

  • Карты персонала4. Имеют формат NNNN,  где
    • NNNN - номер карты, который задается в свойствах карточки персонала в приложении "Редактор".
  • Карты неплательщиков. Имеют формат 99ХХХХ , где
    • 99 - специальный идентификатор (признак карты неплатильщика)
    • NNNN - код неплательщика, задается в приложении "Редактор" в свойствах валюты неплательщика.Минимальная длина кода карты - 3 цифры, максимальная - 4
  • Неперсональные дисконтные карты. Имеют формат 777=XXXXXXXXX=ТТ=ДДММГГ, где
    • 777 - специальный идентификатор (признак неперсональной дисконтной карты)
    • ХХХХХХХХ - девятизначный код ресторана2
    • ТТ – идентификатор скидки, который задается в приложении "Редактор" в свойствах скидки в поле “Тип магнитной карты”
    • ДДММГГ - дата действия карты (день, месяц и год соответсвенно)
  • Персональные дисконтно-платежные карты. Имеют формат 778=ХХХХХХХХХ=NNNNNNNNN, где
    • 778 - специальный идентификатор (признак персональной дисконтно-платежной карты)
    • ХХХХХХХХХ - девятизначный код ресторана2
    • NNNNNNNNN - номер карты, который обычно изображен на самой карте и является основным идентификатором карты для менеджерского модуля ПДС
  • Карта на входе. Имеет формат 771=XXXXXXXXX=NNNNN, где
    • 771 - специальный идентификатор (признак карты на входе)
    • ХХХХХХХХХ - девятизначный код ресторана2
    • NNNNN - номер карты. Максмимальное значение 32768
  • Гостиничная карта. Имеет формат 770=XXXXXXXX=NNNNNN, где
    • 770 - специальный идентификатор (признак гостиничной карты)
    • ХХХХХХХХ - восьмизначный код ресторана3
    • NNNNNN - номер карты. Как правило, содержит номер фолио, к которому прикреплена карта. Максимальное значение 999999
  • Карта TimeKeeper (при использовании устройства ТК-2 без выполнения дополнительных настроек). Имеет формат 811NNNN, где
    • 811 -   специальный идентификатор  (признак TK карты)
    • NNNN - номер карты
  • Кассовая система R-Keeper v6 также поддерживает преобразование сторонних форматов карт с помощью специального модуля перекодировки FIX_LEN

     

    1 - т.к. бесконтактные карты не могут быть запрограммированы самостоятельно, формат карт по умолчанию относиться, в большинстве случаев, к магнитным картам. Все рабочие станции, которые используют систему  R-Keeper v6, должны быть оборудованы считывателями магнитным карт с возможностью считывать информацию со второй дорожки. Для программирования магнитных карт (записи формата по умолчанию) используется вторая дорожка и низкокоэрцитивная технология (LoCo)

    2 - в кассовой системе R-Keeper v6 до версии 6.54 включительно, использовался восьмизначный (8 знаков) код ресторана. Начиная с версии 6.56 и выше используется девятизначный код ресторана. Карты, формат которых содержит восьмизначный код ресторана, поддерживаются во всех версиях кассовой системы (до 6.54 и выше), но обратное не верно - карты с девятизначным кодом ресторана, не поддерживаются в версиях кассы ниже 6.56. Исключение составляют гостиничные карты - см. ниже

    3 - на данный момент система R-Keeper v6 поддерживает гостиничные карты только с возьмизначным кодом ресторана, даже в версиях выше 6.56

    4 - номера карт персонала могут быть только четырехзначными. Для поддержки бесконтактных карт (или других идентификаторов) в качестве карт персонала необходимо использовать библиотеку исключения CCEX.DLL

Настройка принтеров и сервис-печати в RK6

 

Вводная информация

  • В состав стандартного функционала программного комплекса автоматизации "R-KEEPER v6" входит возможность организации потоков печати сервисных документов (заказа блюд, отказа блюд) с касс(станций) зала на различные цеха и подразделения кухни. Тем самым, официант избавляется от необходимости ручной передачи заказа работникам кухни. Это, в свою очередь, повышает скорость и качество обслуживания клиентов. 
  • Сервисная печать относится к нефискальной печати. 

Оборудование

  • Для организации сервисной печати используются специальные торговые(сервисные) рольные принтеры. Ширина ленты 80мм. Матричные (почти ушли в историю) или Термо (актуальны). 
  • Относительно использования в RK6, условно, сервисные принтеры можно разделить на две категории:
    1. "Стандартные" - т.е. рекомендованные специалистами "ЮСИЭС" к использованию и поддержанные со стороны RK индивидуальными кассовыми драйверами.
    2. "Нестандартные" - все остальные принтеры, под которые не писалось отдельных драйверов или которые не проходили через руки специалистов компании "ЮСИЭС".
  • К использованию рекомендованы Epson или Star-совместимые (по набору основных управляющих комманд) или те, которые поддержаны со стороны RK6.
  • Список драйверов RK6 и поддержанных принтеров представлен ниже:

  • Если предпологаемый к использованию принтер отсутствует в списке поддержанного оборудования, в таком случае, приедтся прибегнуть к некоторым "научным изысканиям" что бы успешно подключить и заставить его корректно работать в связке с R-KEEPER-ом. 

Основные технические параметры принтеров

Необходимо знать и учитывать следующию информацию о принтере:

Производитель (бренд), название (модель)

Необходимо знать название, модель принтера. Технические спецификации. Иметь техническую документацию на него, драйверы (обычно идут в комплекте). 

Интерфейсы принтера

Для подключения принтеров могут быть использованы следующие интерфейсы:

  • RS-232 (COM)
  • USB
  • LPT
  • Ethernet

Пример: в принтере Sewoo имеется для подключения сразу три интерфейса: RS-232 (COM), USB и Ethernet. 

  • Необходимо определиться какой интерфейс будет использован для работы. После чего, заняться настройкой принтера относительно выбранного интерфейса.

Примечание: В большинстве случаев, проще всего заставить печатать принтер через RS-232. Это классический вариант связи принтера со станцией.

Параметры интерфейса RS-232 (COM)

  • Если для подключения принтера к станции используется RS-232, необходимо задать (проверить) его параметры как со стороны самого принтера, так и в настройках кассовой станции, к которой он подключен:
Скорость (бит в секунду) - 9600 (рекоммендуется)
Биты данных - 8
Четность - нет
Стоповые биты - 1
  • Со тороны принтера эти параметры выставляются при помощи джамперов на самом принтере (подробнее см. в тех.документации в комплекте с принтером). Либо, при помощи сервисного ПО, если таковое имеется.
  • Основной параметр из описанных выше, - "Скорость". Для печати в RK6 рекоммендуется использовать значение "9600", что обеспечивает достаточную скорость и качество передачи пакетов данных на печать. Если скорость ниже, то слишком медленно, выше - не редко не поддерживается со стороны ОС DOS и возможны лаги на длинных линиях.

Примечание: если скорость передающего (кассового) интерфейса не соответствует скорости принимающего (принтер), вместо нормального печатного документа будет напечатан документ без сохранения структуры и заполненный сплошняком символами (например - AAAAAAAAAA???AAAA). В таком случае, необходимо проверить/выставить верные настройки скорости:

  • в настройках интерфейса принтера.
  • в autoexec.bat (если ОС DOS) на кассе, например:
mode com1 9600,n,8,1 (задействуется, если печать настраивается с указанием настройки "Локально" в "Менеджерской RK6")
  • в rkeeper6.ini кассового клиента, например:
ComPort1Baud=9600 (задействуется, если печать настраивается с указанием настройки - "Через сервер", а также - "Через другой сервер" в "Менеджерской RK6")
  • в настроках порта в "Диспетчере устройств" (если ОС Windows) на кассе:

Автотест

Необходимо знать основные рабочие параметры заданные в самом принтере. Их можно увидеть распечатав специальный сервисный документ - "Автотест". На разных принтерах может выполняться по разному (подробнее см. в тех.документации в комплекте с принтером), но чаще всего: При выключенном питании принтера нажать кнопку "FEED" и не отпуская ее, включить питание принтера. Будет распечатан автотест содержащий весь перечень заданных в принтере настроек.  

Примечание: После автотеста, рекоммендуется снова выключить и включить питание принтера т.к. некоторые модели принтеров могут после автотеста войти в режим ожидания дальнейших комманд по программированию их параметров и пока этот режим не сбросить, он задания на печать принимать не будет.

Кодовая страница

Установленная в принтере по-умолчанию кодовая страница:

  • RK6 использует - кодовую страницу DOS с поддержкой кириллицы. Ее номер - 866. Такая же должна быть поддержана принтером.

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

Режим эмуляции - ESC/POS

Заданный в настройках принтера "Режим эмуляции". Большинство принтеров поддерживают как минимум два режима работы: свой собственный (зависит от производителя) и режим совместимости (ESC/POS), режим эмуляции комманд "Epson". 

  • Если речь идет о "нестандартных" (т.е. не поддержанных по-умолчанию в RK6) принтерах то, наличие или возможность (на ряду с факторами описанными выше) выставить режим совместимости с командами Epson (ESC/POS) на принтере, может оказаться решающим фактором при настройке его связи с RK6. 
  • Если режим своместимости есть, и выставлен в настройках принтера, в таком случае со стороны RK6 для подобных принтеров можно попробовать использовать драйвера в основе которых содержаться управляющие команды "Epson". Например: Epson roll 9x9 - самый простой и универсальный драйвер, в котором реализованы только базовые управляющие команды, такие как: печать текста, прогон бумаги, обрезка бумаги и другие. А так же можно попробовать воспользоваться и другими epson-драйверами - они могут оказаться более функциональными для конкретного принтера. Нередко для нестандартных принтеров поддерживающих ESC/POS со стороны RK6 используют драйверы:

  • В случае, если по одному или нескольким вышеописанным параметрам (эмуляция, кодовая страница, отсутствие драйвера со стороны RK6, неподдержанный со стороны RK6 интерфейс) принтер не подходит для подключения напрямую к кассе RK6 можно воспользоваться альтернативным вариантом: 
  1. Воспользоваться драйверами под Windows идущими с ним в комплекте (если они есть).
  2. Подключить принтер и установить под него драйвера на отдельном ПК (Win).
  3. Проверить его печать из под ОС. Если тестовая печать идет корректно можно использовать в RK6 через дополнительное ПО SPRED.EXE (Сервер печати).
  4. Установить там же сервер печати - SPRED.EXE (или SPREDW.DLL). Подробное описание здесь - http://support.ucs.ru/ru/node/294

Настройки в "Менджерской RK6"

  1. Заполнить справочник блюд.

  1. Отредактировать справочник "Меню"\ "Группы сервис-печати". Создать необходимое количество групп. Обычно по количеству кухонных цехов и подразделений:

  1. Назначить группам блюд соответствующие группы печати. Можно сделать через групповые операции (Правой кнопкой мыши на нужной группе блюд\Группы печати - выставить нужную):

  • Или методом drug&drop - открыв оба справочника ("Группы сервис-печати" и "Меню") в одном окне, ухватив мышкой группу блюд (или отдельное блюдо) и перетащив на нужную запись справочника "Группы сервис-печати". Поступить так со всеми группами блюд (или отдельными блюдами). Как результат:

  1. Создать и описать установленные на цехах(подразделениях) сервисные принтеры. Справочник "Списки"\"Сервис-принтеры". Для более подробной информации см.раздел - "Примеры настроек принтеров".

5. Создать необходимое количество потоков сервисной печати для каждой станции ("Меню"\"Сервис-печать").

С какой станции ----> блюда какой группы сервис печати -----> печатать на каком принтере
  • "Форма" - не актуальное поле. Не работет.
  • "Контроль приготовления" - обязательно выставляется если используются системы контроля приготовления.

И так для всех (нужных) групп печати:

Примеры настроек принтеров

На ethernet-принтер

Данный параметр можно использовать при настройке принтеров использующих Ethernet-интерфейс только производства компании ЮСИЭС. Исключение составляет принтер Sewoo, который имеет собственный ethernet-интерфейс, но так же поддержан компанией ЮСИЭС и может использовать эту настройку.

Примечание: подробная информация в статьях - http://support.ucs.ru/ru/node/215 и http://support.ucs.ru/ru/node/8467#header-8

Через сервер

Данный параметр рекоммендуется использовать при настройке сервис печати при использовании принтеров с интерфейсом RS-232 (COM). В этом случае будет задействован спулер печати кассового сервера (rkserver). Т.е. при такой настройке документы отправляемые на печать кассовым сервером сначала будут отправляться в его спулер печати (например, так же как это происходит и в ОС Windows) и только после успешного выполнения печати принтером удаляются из спулера. 

Примечание: в случае "неготовности" принтера к печати сервисные документы отправленные на печать будут накапливаться в спулере кассового сервера и как только проблема с принтером будет решена - все "долги" будут распечатаны на принтерах. Что удобно, т.к. распечатанные документы нередко являются документами отчетности работников кухни.

Через другой сервер

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

  • Сервер - указывается NETBIOS-имя принимающего сервера.
  • Станция - указывается станция принимающего сервера на которой подключен принтер.
  • Порт - указывается порт задействованный на станции для подключения принтера.

Локально

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

Важно! Спулер кассового сервера не будет задействован. Таким образом при проблемах с принетером, возможна потеря печатных документов.

На сетевой ресурс

Данную настройку можно считать атавизмом от старых версий. Использовалась при работе со специальными устройствами - Мультиплексорами. С появлением принтеров с поддержкой ethernet-интерфейса мультиплексоры отошли в историю.

  • Поле "Через мультиплексор" - не актуально без использования устройства Мультиплексор.

Примечание: дополнительная информация о мультиплексорах - http://support.ucs.ru/ru/node/291.

Настройки на кассе

DOS-касса 

  1. Если принтер подключается на RS-232 (COM), необходимо запомнить параметры подключения что бы использовать их при описании в "Менеджерской RK6".
  • Проверить работу подключенного принтера непосредственно из ОС DOS можно например, при помощи утилиты testcom.exe, содержится в папке со стандартными утилитами \Util на диске кассы.
  1. Подключение через LPT-интерфейс настраивается аналогично RS-232.
  2. Принтер подключенный на USB - под DOS работать не будет. Такой принтер устанавливают с использованием принтсервера (SPRED.EXE).
  3. Принтер работающий с кассой через ethernet должен иметь либо UCS-овский интерфейс (за исключением SEWOO), либо может быть настроен через принтсервер (SPRED.EXE).

Win-касса

C Win-кассой, требования в большинстве своем, те же, что и в ОС DOS.

Примечание: сервисная (нефискальная) печать с win-кассы не может быть настроена с использованием параметра "Локально" (см.выше), только через сервера или на ethernet.

 

Сервер печати.

Макеты печатных форм кассового клиента RK6

Вводная информация

Практически все печатные документы, формируемые на станции R-Keeper v6, представляют из себя макеты собственного формата (*.FRM), которые можно редактировать с помощью специального приложения.

Модификация печатной формы может потребоваться для следующих задач:

  • внеcение изменений в макет печатной формы (размещение элементов формы, добавление/удаление полей и т.д.)
  • добавление в макет пользовательских переменных для реализации нестандартных задач
  • локализация печатных форм на другой язык

Печатные формы расположены в подкаталоге \FORMS кассового клиента и представлены в виде файлов с расширением *.FRM

 

Примечание: Некоторые печатные документы не могут быть отредактированы самостоятельно - ресурсы для их модификации находятся либо в ядре системы либо в файле  локализации (например, RUSSIAN.LNG). В данном документе работа с такими печатными документами не рассматривается - для их модификации необходимо оформить заявку через трекер.

 

Редактор печатных форм

Для редактирования печатных форм используется специальное приложение - FEDITOR.EXE (далее FEDITOR)

Приложение входит в состав менеджеской части RK6 и для запуска требует единственной библиотеки descript.dll.

При запуске FEDITOR предлагается ввести пароль -  механизм защиты не является функциональным, пароль можно не указывать и просто нажать кнопку "OK".

После запуска FEDITOR открывается основное рабочее окно приложения - для открытия и редактирования макета необходимо перейти в меню File ⇒ Open и указать путь к файлу макета (*.FRM).

После открытия макетва в приложении становятся достуны элементы управления:

Рис. Рабочее окно приложения FEDITOR с загруженной печатной формой

 

Основные элементы управления

  • в разделе Section расположен выбор секций печатной формы, с помощью кнопок Previous и Next можно перемещаться между секциями:

 

  • в разделе Item - Line находятся элементы для работы с объектами печатной формы - линиями и переменными, с помощью кнопки Preview можно просмотреть общий вид печатного документа:

 

  • в разделе Variables отображаются доступные для выбранной секции системные (System) и пользовательские (User defined) переменные:

 

  • в основном рабочем разделе находится редактор макета:

 

Правила и ограничения редактора

При редактирование печатной формы следует учитывать седующие правила:

  • макет состоит из линий и размещенных на них объектов
  • для каждой секции доступны только определенные системные и/или пользовательские переменные - использование переменных за пределами секции недопускается
  • объекты (системные или пользовательские) могут быть добавлены только на существующую (предварительно размещенную) линию

 

Параметры макета

Для входа в свойства макета необходимо в редакторе открыть форму макета и перейти в меню File  Options:

Рис. Свойства макета без поддержки слиповой (подкладнойпечати

Рис. Свойства макета с поддержкой слиповой (подкладной) печати (FICHECK.FRM)

 

В свойствах макета определены следующие параметры:

  • Width (in symbols) - ширина печатной формы в символах, по-умолчанию 40 символов
  • Type (Roll или Slip)  - тип макета: Roll - макет для печати на ролом принтере, Slip - макет для печати на слиповом (подкладном) принтере
  • Height (in lines) - высота печатной формы, доступно только для макетов c поддержкой печати на слиповом принтере (Slip)

 

Ширина печатной формы (Width) определяется возможностями принтера - для стандартного размера бумаги 80 мм устанавливается ширина печати в 40 символов.

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

 

Редактирование печатной формы

Для добавления линии необходимо:

  • выбрать на форме линию, ниже которой необходимо разместить новую линию
  • выбрать на панели задач в разделе Line операцию Add - линия автоматически добавится на печатную форму:

 

  • операция Insert выполняет то же действие, что и Add , только новая линия будет добавлена выше выбранной линии

 

Для удаления линии необходимо:

  • выбрать на форме линию, которую необходимо удалить
  • выбрать на панели задач в разделе Line операцию Delete - линия будет автоматически удалена без предварительного запроса

 

Для добавления нового объекта есть два варианта:

Вариант №1

  • выбрать на форме линию, на которую необходимо добавить объект
  • выбрать на панели задач в разделе Item операцию Add
  • в окне редактирования объекта заполнить параметры (см. ниже):

Примечание: Размер поля переменной (Width) автоматически устанавливается в значение, максимально доступное для выбранной линии

 

Вариант №2

  • в разделе Variables выбрать объект и "перетащить" его в окно редактора, поместив на линию

 

Для удаления объекта необходимо:

  • выбрать на форме объект, который необходимо удалить
  • выбрать на панели задач в разделе Item операцию Delete - объект будет автоматически удален без предварительного запроса

 

Системные переменные

Для каждой секции макета определены свои системные переменные, которые нельзя использовать за пределами секции.

В редакторе нельзя добавить новую или изменить существующую системную переменную - при необходимости модификации можно использовать пользовательские переменные и/или функции.

 

Пользовательские переменные

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

Пользовательские переменные могут быть составлены на основе простых арифметических операций с возможностью задействовать в формулах системные переменные, пользовательские переменные и функции, доступные в данной секции.

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

 

Для работы с переменными и функциями в разделе "User defined" доступны следующие операции (по правому клику мыши):

  • Add Variable - добавление новой пользовательской переменной
  • Add Function - добавление новой пользовательской функции
  • Edit - редактирование выбранной пользовательской переменной или функции
  • Delete - удаление выбранной пользовательской переменной или функции

 

Для редактирования переменной или функции необходимо выбрать ее в списке, нажать правой кнопкой мыши и выбрать операцию Edit - окно редактирования переменной и функции отличается.

Рассмотрим использование пользовательских переменных и функций на примере макета предварительного чека (FCHECK.FRM) - в секции  Dish Line определены переменные и функции для возможности не выводить в печатной форме строки с блюдами, сумма которых равна нулю.

Открываем макет FCHECK.FRM в редакторе и выбираем секцию Dish Line:

 

В разделе "User defined" находятся пользовательские объекты, которые могут использоваться в макете:

  • $DISH_SUM - пользовательская переменная для вычисления суммы блюда
  • $DNAME - пользовательская функция для альтернативного вывода названия блюда
  • $QNT -  пользовательская функция для альтернативного вывода кол-ва блюда
  • $DSUM - пользовательская функция для альтернативного вывода суммы блюда
  • $ANAME - пользовательская функция для альтернативного вывода суммы блюда

 

Выбираем в списке переменную $DISH_SUM и вызываем операцию Edit:

 

В окне редактирования пременной доступны следующие поля:

  • Name - название переменной
  • Formula - формула для расчета переменной
  • Availuable variables - доступные переменные и формулы, которые могут быть задействованы в расчетах переменной

 

Примечание: В поле Availuable variables доступны только числовые переменные

 

В поле Formula можно использовать простые арифметические операции - сложение, вычитание, умножение, деление. Допускается группирование операций в круглых скобках (...), например (1+3)/2

Пользовательская переменная $DISH_SUM будет использована в формулах в качестве условия, что блюдо имеет нулевую стоимость.

В поле Formula переменной $DISH_SUM  расчитывается стоимость блюда через операцию умножения кол-ва порций и стоимости блюда: $QUANTITY*$PRICE

 

Далее рассмотрим создание/редактироание пользовательской функции - выбираем в списке функцию $DNAME и вызываем операцию Edit:

 

В окне редактирования функции доступны следующие разделы и поля:

  • Name - название функции
  • Type - тип функции (см. ниже)
  • Раздел для определения расчета значения функции

 

Тип (Type) определяет метод расчета функции:

  • IF - значение функции зависит от условия, определяемого значением другой переменной или функции
  • Length - функция возращает значение, равное длине переменной или функции

 

Важно: Условие IF возращает истину (True) только в том случае, если значение переменной строго больше нуля - если значение 0 или отрицательное, возращается False.

 

В рассматриваемом примере функция $DNAME имеет тип IF, т.е. зависит от условия, определяемого значением переменной $PRICE.

Словесно формулу для функции $DNAME можно представить след. образом:

Если (IF) переменная $PRICE больше нуля (т.е. стоимость блюда не нулевая), тогда (THEN) функция $DNAME возвращает значение системной переменной $DISH_NAME - в других случаях (ELSE) функция  $DNAME возвращает "пустое" значение (т.е. на чеке название блюда не печатается)

 

Функции $QNT, $DSUM и $ANAME реализованы аналогичным образом - их значения зависят от переменной $PRICE, которая определяет стоимость блюда.

 

Назначение печатных форм

Наименование макета Назначение Примечание
BLNSREP.FRM Системный балансовый отчет  
BLNSWAIT.FRM Балансовый отчет по официанту  
CARDPUT.FRM Внесение денег на карту  
CARDTAKE.FRM Изъятие денег с карты  
CASHOPER.FRM Краткий отчет по кассовым операциям  
CASHPUT.FRM Внесение денег в кассу  
CASHTAKE.FRM Изъятие денег с кассы  
CCHECK.FRM Чек при оплате банковской картой  
CONSREP.FRM Отчет по консумации  
CREMOVE.FRM Удаление чека  
CRESTORE.FRM Восстановление чека  
DELREP.FRM Отчет по удаленным чекам  
DISCREP.FRM Скидки / Наценки на чеки  
EXPREP.FRM Общий расход блюд  
EXPREPCM.FRM Общий расход блюд форма аналогична EXPREP.FRM
FCHECK.FRM Финальный чек

Может иметь несколько модификаций: 

  • FCHECK_A.FRM
  • FCHECK_B.FRM и т.д.
FCREMOVE.FRM Удаление чека  
FCRESTOR.FRM Восстановление чека  
FICHECK.FRM Финальный чек Печать нефискального финального чека
LCLOSE.FRM Отчет закрытия дня станции  
LDSREP.FRM Отчет по консумации  
MONEY.FRM Общая выручка  
PCALLCH.FRM - Форма на основе FCHECK.FRM
PCCCHECK.FRM Контрольный чек для карты  
PCONSREP.FRM
Отчет по консумации
 
PCPCHECK.FRM Пречек для карты на входе  
PDISCREP.FRM Отчет по персональным скидкам  
PEXPREP.FRM Общий расход блюд по категориям  
PMONEY1.FRM Выручка по официантам  
PMONEY2.FRM Выручка по кассиpам  
PMONEY3.FRM Выручка по станциям  
PMONEY4.FRM Выручка по подpазделениям  
SDREP.FRM Отчет по специальным блюдам  
SERVPRN.FRM Сервис-печать  
SERVREMN.FRM Сервис-печать: напоминание  
TIMEREP.FRM Почасовой отчет  
VOIDSREP.FRM Отказы из чеков  
XREPORT.FRM X-отчет  
ZREPORT.FRM Кассовый балансовый отчет  

 

Добавление произвольной ESC-команды в печатную форму

Вводная информация

Как правило, основные команды для управления принтером реализованы в драйвере. Но если используется нестандартный принтер либо требуется добавить какую-либо нестандартную операцию (инициализация кодовой страницы, печать логотипа, управление звонком и т.д.), можно указать ESC-команду непосредственно в печатной форме.

Для начала необходимо определиться с формой, в которую должна быть помещена команда. Ниже приведены основные печатные формы:

  • FCHECK.FRM  - форма печати пречеков, нефискальных чеков
  • FICHECK.FRM - аналогично FCHECK.FRM, если используется ФР с поддержкой нефискальной печати
  • SERVPRN.FRM - форма печати сервис-чеков

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

Система команд ESC/POS

 

Важно: Кассовый клиент R-Keeper v6 не поддерживает работу с нулевыми байтами [00] - если такой байт будет указан в печатной форме, ESC-команда работать не будет

 

В печатную форму можно добавить любую команду, но т.к. самой распространненной системой для POS-принтеров является ESC/POS, будем рассматривать процедуру на ее примере.

Для каждого принтера или семейства принтеров может быть свой набор ESC/POS команд, который обычно описан в руководстве к принтеру.

Простые команды ESC/POS состоят из нескольких байт, бывают также достаточно сложные команды, состоящие из множества параметров.

Рассмотрим пример простой ESC-команды для выбора кодовой страницы принтера:

ESC t n

[Name]
Select character code table

[Format]
ASCII ESC t n
Hex 1B 74 n Decimal 27 116 n

[Range]
Except for Thai model:0 ≤ n ≤ 5, 16 ≤ n ≤ 19, n = 254, 255
For Thai model: 0 ≤ n ≤ 5, 16 ≤ n ≤ 26, n = 254, 255

[Default] Except for Thai model:n = 0
For Thai model: n = 20

[Description] Selects a page n from the character code table.

Данная команда состоит из 3-х байт: 1B 74 n. Последний байт (n) определяет номер кодовой страницы, которую требуется установить.

В руководстве к принтеру есть таблица с номерами кодовых страниц, которые поддерживает принтер:
 

n Selected character code
0 PC437 (USA: Standard Europe)
2 Katakana
.... ...
17 PC866 (Cyrillic #2)
... ...

Нас интересует кодовая страница PC866 - ее номер 17. Соотв. команда будет выглядеть так: 1B 74 17 (три байта в шестнадцатиричном виде)

Редактирование печатной формы

Для добавления команды в печатную форму используется стандартный редактор форм FormEditor (RK6\FEDITOR.EXE)

Открываем форму в редакторе (в примере используется FCHECK.FRM), выбираем самый первый раздел Page Header и добавляем на форму новый элемент (Item -> Add)

Важно: Ширина (Width) нового элемента должна соотвю длине добавляемой ESC-команды

В нашем случае команда состоит из 3-х байт, соотв. ширину нового элемента устанавливаем равной 3.

Для того, чтобы в дальнейшем было легче править форму в HEX-редакторе, значение нового элемента указываем в виде трех одинаковых чисел (это не обязательное требование, но значительно облегчает поиск строки в HEX-режиме) - в примере используется значение 888:

В результате получаем:

Далее сохраняем форму и закрываем редактор.

HEX-редактор

Заключительным этапом будет редактирование формы в любом HEX-редакторе (скриншоты ниже сделаны в приложении WinHex)

Открываем файл макета печати (FCHECK.FRM) в редакторе и поиском находим добавленную ранее строку:

Если поиск в вашем редакторе возможен только в шестнадцатиричном виде, искомую строку предварительно нужно перевести в HEX (строке 888 соотв. HEX-значение 38 38 38)

Далее меняем каждый байт найденной строки на соотв. байт ESC-команды:

Сохраняем файл макета печати, записываем его на кассу и проверяем работу принтера!

Использование дисконтных карт со штрих-кодом в системе R-Keeper v6

Общая информация

Для поддержки карт со штрих-кодом требуется сканер штрих-кодов, который выдает информацию напрямую в порт RS-232, без дополнительных команд (такую возможность имеют большинство сканеров, например Metrologic MS9520). Это условие необходиоме для использование стандартной библиотеки COMCARD.DLL из дистрибутива (KACCA\STATIONS\DEVICES\COMCARD.DLL\STANDARD\COMCARD.DLL)

Сканер должен быть настроен на работу с префиксом ";" и суффикс "?+Enter"(символ возврата каретки-CR).

Примечание: Переименовывание библиотеки COMCARD.DLL в BARCODE.DLL в данном случае не имеет смысла!

Настройка R-Keeper v6

Для поддержки карт со штрих-кодом в системе RKeeper v6 необходимо:

  1. Подключить сканер в COM-порт
  2. В корень директории RKCLIENT записать библиотеку COMCARD.DLL
  3. Настроить в RKEEPER6.INI параметры библиотеки COMCARD.DLL - более подробно см. KACCA\STATIONS\DEVICES\COMCARD.DLL\STANDARD\README.TXT
  4. В директорию RKCLIENT\EXSTENS\ записать библиотеку FIX_LEN.DLL
  5. Настроить в RKEEPER6.INI параметры для FIX_LEN.DLL в соответствии с используемыми штрих-кодами. Более подробно о возможных параметрах FIX_LEN.DLL и примеры использования можно прочитать в даннной статье

Пример использования

Допустим, есть серия карт, на которых нанесен штрих код в виде : 40047NNNNN, где NNNNN - изменяющаяся последовательность, которую необходимо использовать в качестве номера дисконтной карты
В RKEEPER6.INI  прописываем следующие настройки:

FIX_LEN_MASK = 40047NNNNN
FIX_LEN_CARD = 0

Допустим, что сканер подключен в COM2 и параметры порта следующие:  9600,8,n,1. Тогда в RKEEPER6.INI необходимо прописать:

ComCardPort = 1
ComCardType = 0
ComCardRS = 0

Важно! Значение параметра ComCardRS должно соотв. параметрам интерфейса RS-232 сканера, которые задаются при программировании сканера.

Универсальные модули перекодировки карт FIX_LEN и RNCARDS

 

Общая информация

Модуль предназначен для преобразования форматов карт, отличных от стандартных и реализован в виде дополнительной библиотеки для кассового клиента R-Keeper v6

Есть несколько вариантов реализации модуля:

  • версия для DOS-кассы
  • версия для WIN-кассы
  • компилируемый аналог FIX_LEN с возможностью хранить настройки в виде ресурсов (RNCARDS.DLL)

Примечание: Версии модуля для DOS и WIN кассы не являются взаимозаменяемыми, модуль RNCARDS.DLL можно использовать для обоих типов кассы.

Лицензирование

Использование модулей не требует дополнительного лицензирования.

 

Модуль FIX_LEN

Ссылка на дистрибутив ftp://ftp.ucs.ru/r-keeper/Tools/FIX_LEN

Для использования библиотеки (или библиотек) необходимо скопировать ее в подкаталог EXTENS основного рабочего каталога кассового клиента (как правило, RKCLIENT). 

Для создания нескольких правил перекодировки библиотека может быть переименована и размещена в директории EXTENS под разными именами - альтернативным решение может быть использование одной копии FIX_LEN версии 4.00 и множественных секций (см. ниже)

 

Описание параметров

Библиотека FIX_LEN поддерживает следующие параметры:

  • MaxLen - максимальная длина карты. По умолчанию MaxLen=0, при этом после перекодировки параметр MaxLen принимает значение, равное длине маски length(Mask)
  • MinLen - минимальная длина карты. По умолчанию MinLen=0, при этом после перекодировки MaxLen принимает значение, равное длине маски length(Mask)
  • Mask - маска для выделения результирующего номера из общего формата карты. Может состоять из числовых символов (0-9), группового символа "*" (звездочка)  и символа  "N". Числовые символы представляют сами себя, т.е. цифры от 0 до 9, и используются для точного соответствия считанного с карты номера указанной маске. При использовании группового символа "*" на позиции маски может находиться любой символ (не обязательно числовой). Символ "N" играет ключевую роль - все символы, выделенные из формата карты, соответствующие позиции символа "N" в маске, формируют результирующий номер карты. Если длина формата карты превышает длину параметра Mask (но меньше значения MaxLen), значение параметра Mask дополняется справа символами "*". Если длина формата карты меньше длины параметра Mask (но больше MinLen), значение параметра Mask обрезается справа до длины формата карты. Результирующий номер образуется конкатенацией выделенных из общего формата (по символу "N") номеров левой и правой маски (конкатенация - объединение строк, например, результат конкатенации строк "ABC123" и "456DEF" является строка "ABC123456DEF", более подробно см. примеры применения FIX_LEN)
  • RightMask - аналогичен параметру Mask, за исключением того, что маска дополняется или обрезается слева (в зависимотси от параметров MaxLen и MinLen)
  • AddCode - значение, которое будет прибавляться к результирующему номеру после выделения маски (арифметическая операция сложения). Значение по умолчанию - 0. Максимальное значение 2147483647 (LongInt)
  • Card - указывает, в какой формат, поддерживаемый системой R-Keeper v6, преобразовать выделенный по маске результирущий номер. По умолчанию имеет значение "0". 
    Может принимать следующие значения:

    • 0 - преобразовать в формат персональных дисконтно-платежная карт  (778=<код ресторана>=<номер карты>)
    • 1 - преобразовать в формат неперсональной дисконтой карты (777=<код ресторана>=<тип скидки>=<срок действия>), срок действия неперсональной дисконтной карты устанавливается автоматически равным 2080 году
    • 2 - преобразовать в формат гостиничной карты (770=<код ресторана>=<номер карты>)
    • 3 - преобразовать в формат карты на входе (771=<код ресторана>=<номер карты>)
    • 4 - преобразовать в формат карты неплательщика (99<код неплательщика>), с версии FIX_LEN 2.03 и выше
    • 5 - преобразовывать в формат новых гостиничных карт (760=<код ресторана>=<номер карты>), с версии FIX_LEN 2.04 и выше
  • ForDigits - определяет, сколько цифр кода корпорации передавать кассовому серверу после преобразования. При значении ON (Fix_Len_ForDigits = ON) кассовый сервер будет всегда получать 8-ми значный код ресторана. Это требуется при перекодировке в формат гостиничных карт (см. параметр Card = 2), т.к. на данный момент кассовый сервер принимает гостиничные карты только с 8-ми значным кодом ресторана
  • СreditCard - расширенная поддержка кредитных карт (с версии FIX_LEN 2.0 и выше). По умолчанию значение OFF. При значении ON библиотека дополнительно выполняет след. функции:
    • выделяет номер кредитной карты из общего формата карты
    • производит проверку контрольной суммы по правилам кредитных карт
    • выделенный номер кредитной карты используется для дальнейшей обработки с помощью вышеорисанных параметров
  • Log - включение (ON) записи результатов работы модуля в лог-файл (FIX_LEN.LOG), с версии 2.05.

Пример лог-файла :

Enter card:1000030000313928
Cardnum after mask: 300
Converted to 760=99999999=300
Более подробно о стандартных форматах карт можно ознакомиться в документе "Форматы карт, поддерживаемые системой R-Keeper v6"
 

Формат параметров

Параметры библиотеки FIX_LEN задаются в конфигурационном файле RKEEPER6.INI:

<имя библиотеки без расширения>_<имя параметра1> = <значение параметра1>
<имя библиотеки без расширения>_<имя параметра2> = <значение параметра2>
.......................................................................
<имя библиотеки без расширения>_<имя параметраN> = <значение параметраN>

Например:

FIX_LEN_Mask = 778=108900001=NNNN
FIX_LEN_AddCode = 100000

Либо, если библиотека переименова, например в FIX_A.DLL:

FIX_A_Mask = 778=108900001=NNNN
FIX_A_AddCode = 100000

С версии FIX_LEN 2.0 и выше параметры можно объединять в секции [ ]:

[<имя библиотеки без расширения>]
<имя параметра1>=<значение параметра1>
<имя параметра2>=<значение параметра2>
......................................
<имя параметраN>=<значение параметраN>

Например

[FIX_LEN]
Mask = 778=108900001=NNNN
AddCode = 100000

Либо, если библиотека переименова, например в FIX_A.DLL:

[FIX_A]
Mask = 778=108900001=NNNN
AddCode = 100000

 

Примечание: С версии FIX_LEN 2.0 поддерживаются форматы произвольной длины.

 

С версии FIX_LEN 4.0 и выше можно использовать множественные секции, параметры которых применяются для одной копии библиотеки:

<имя библиотеки без расширения>(1)]
<имя параметра1>=<значение параметра1>
<имя параметра2>=<значение параметра2>
......................
<имя параметраN>=<значение параметраN>

[<имя библиотеки без расширения>(2)]

<имя параметра1>=<значение параметра1>
<имя параметра2>=<значение параметра2>
......................
<имя параметраN>=<значение параметраN
..................................
[<имя библиотеки без расширения>(N)]
<имя параметра1>=<значение параметра1>
<имя параметра2>=<значение параметра2>
......................
<имя параметраN>=<значение параметраN>

Например:

[FIX_LEN(1)]
Mask = 778=108900001=NNNN
AddCode = 100000

[FIX_LEN(2)]
Mask = 778=108900001=NNNNNN

[FIX_LEN(3)]
Mask = 778=108900001=93NNNN

Либо, если библиотека переименова, например в FIX_A.DLL:

[FIX_A(1)]
Mask = 778=108900001=NNNN
AddCode = 100000

[FIX_A(2)]
Mask = 778=108900001=NNNNNN

[FIX_A(3)]
Mask = 778=108900001=93NNNN

 

Windows-касса (RK6WIN)

Для использования на WIN-кассе (RK6WIN) необходима специальная (адаптированная) версия библиотеки - ссылка на дистрибутив ftp://ftp.ucs.ru/r-keeper/Tools/FIX_LEN/RK6WIN.
 
В дистрибутиве находится библиотека WFIX_LEN.DLL - такое название сделано для различия с DOS-версией библиотеки, но как и DOS-версия данная библиотека поддерживает переименовывание (т.е. можно переименовать в стандартное название FIX_LEN.DLL и использовать готовые параметры с DOS-кассы).
 
Параметры бибилиотеки WFIX_LEN.DLL полностью идентичны параметрам стандартной библиотеки FIX_LEN (на основе версии 5.00).
 

Проверка перекодировки

Протестировать работоспособность библиотеки с заданными параметрами можно с помощью утилиты TSTFXLEN.EXE.

Примечание: Утилита TSTFXLEN.EXE работает только с DOS-версией библиотеки FIX_LEN

Для проверки необходимо:

  • записать в корень рабочего каталога RKCLIENT утилиту тестирования TSTFXLEN.EXE и библиотеку перекодировки FIX_LEN.DLL
  • в конфигурационном файле RKEEPER6.INI задать необходимые параметры для модуля FIX_LEN
  • запустить в командной строке утилиту TSTFXLEN.EXE, указав в качестве параметра номер карты, перекодировку которого необходимо перекодировать:
TSTFXLEN.EXE<пробел><перекодируемый формат карты>

Примечание: Утилита TSTFXLEN.EXE  всегда возвращает вместо реального кода ресторана значение 00000000 (восемь нулей).

 

Модуль RNCARDS

Ссылка на дистрибутив ftp://ftp.ucs.ru/r-keeper/Tools/FIX_LEN/RNCARDS

Модуль RNCARDS.DLL является полным аналогом FIX_LEN (на основе версии 5.00), за тем отличием, что хранит параметры внутри библиотеки в виде ресурса (в отличии от модуля FIX_LEN, который использует для этого конфигурационный файл RKEEPER6.INI).

Для использования библиотеки (или библиотек) необходимо скопировать ее в подкаталог EXTENS основного рабочего каталога кассового клиента (как правило, RKCLIENT или RK6WIN). 

Особенности модуля

  • поддерживает все возможности и параметры стандартного модуля FIX_LEN версии 5.00
  • перед использованием библиотеки требуется компиляция
  • за счет хранения параметров внутри библиотеки упрощается задача распространения модуля по рабочим объектам (например, в сетевых ресторанах)
  • может использоваться как для DOS-кассы, так и для WIN-кассы (без адаптации)

Настройка модуля

Для настройки модуля используется конфигурационный файл  RKEEPER6.INI, параметры задаются в секциях [0] ...[N]:

[0]
About=<Info about RNCARDS module>
<имя параметра1>=<значение параметра1>
<имя параметра2>=<значение параметра2>

[1]
<имя параметра1>=<значение параметра1>
<имя параметра2>=<значение параметра2>
...
<имя параметраN>=<значение параметраN>
......
[N]
<имя параметра1>=<значение параметра1>
<имя параметра2>=<значение параметра2>
...
<имя параметраN>=<значение параметраN>

- где:

  • [0] - секция с общими параметрами ForDigits, Log, About (будут применены для всех перекодировок)
  • [1] ... [N] - секции с параметрами перекодировки, как отмечалось выше, параметры полностью идентичны параметрам модуля FIX_LEN
 
Например:
[0]
Log=ON
About=UCS Test Decoder

[1]
Сard=0
Mask=566NNNNN*****
AddCode=120000
MinLen=13
MaxLen=13
Примечание: В параметр About секции [0] рекомендуется поместить информацию о назначении перекодировщика - это строка будет показана в справке.
 
Примечение: Включение параметра Log=ON приводит к формированию лог-файл RNCARDS.Log.
 

Компиляция модуля

Важно! Компиляция модуля RNCARDS возможна только в 32-х разрядной (x86) версии ОС Windows!

Для компиляции модуля используется утилита BRC.EXE (Borland Resource Compiler) и набор файлов, необходимый для работы BRC.EXE.

Компиляция выполняется запуском командного файла RES.BAT (поставляется в дистрибутиве):

echo stringtable>ini.rc
echo BEGIN>>ini.rc

echo  >>ini.rc 1 "
copy ini.rc+rkeeper6.ini ini.rc
echo >>ini.rc "

echo END >>ini.rc
brc  -k -t  ini.rc  rncards.dll
После успешного завершения компиляции на выходе получается рабочая библиотека RNCARDS.DLL.
 
Распространяется библиотека аналогично FIX_LEN.DLL, поддерживается переименовывание библиотеки.
 

Примеры использования FIX_LEN

Неперсональные дисконтные карты

Исходные данные: у заказчика от предыдущей системы остались дисконтные карты со следующей записью на второй дорожке:

  • от 050001 до 059999 - использовались как карты с 5% скидкой. Номера от 1 до 9999
  • от 100001 до 109999 - использовались как карты с 10% скидкой. Номера от 1 до 9999

Цель :  без установки системы ПДС использовать существующие карты как неперсональные дисконтные

Решение: в приложении "Редактор" необходимо создать две скидки 5% и 10%, в параметрах которых  в поле "Тип магнитной карты" указать 5 и 10 соответственно. Далее прописать в RKEEPER6.INI на рабочей станции:

FIX_LEN_Mask = NN****
FIX_LEN_Card = 1
FIX_LEN_MinLen = 6
FIX_LEN_MaxLen = 6

Заметим, что в данном случае перекодировщик "выделяет" из общего формата не номер карты, а идентификатор скидки (первых две цифры), т.к. понятие "номер карты" для неперсональных дисконтных карт не применимо.
Мы использовали параметр Card = 1, который дает команду преобразовать выделенный номер в формат неперсональной дисконтной карты. Также мы использовали два вспомогательных параметра MinLen и MaxLen для дополнительного контроля обслуживаемых карт - в нашем случае могут обслуживаться карты только с шестизначным номером. Это сделано с той целью, что существующий формат довольно простой и есть вероятность обслуживания "не своих" карт.

Например, на кассе обслуживается карта с номером 053256. Т.к. длина считанного номера соответствует указаному в параметрах MinLen и MaxLen значению (6), происходит перекодировка и преобразоване номера. После чего кассовый сервер получит на вход последовательность, которая соответствует неперсональной дисконтной карте и назначит скидку 5% (т.к. "выделенный" идентификатор скидки 05)

 

Сеть ресторанов с разными корпоративными кодами

Исходные данные: сеть из 4-х ресторанов, в каждом ресторане используются собственные карты (с диапазоном номеров 1.. 9999), причем номера карт в каждом ресторане пересекаются с остальными. Коды ресторанов: 108900001, 122000001, 121950001 и 121950002, т.е. не принадлежат к одной корпорации 

Цель:  создание единой базы данных карт ПДС для возможности принятия всех карт в любом ресторане сети.

Решение:  т.к. каждому ресторану присвоен свой некорпоративный код, необходимо использовать четыре копии библиотеки FIX_LEN.DLL на каждой кассе. Для этого скопируем библиотеку под разными именами2, например FIX_LEN1.DLL, FIX_LEN2.DLL, FIX_LEN3.DLL и FIX_LEN4.DLL , в директорию EXTENS на кассу.  Т.к. номера карт из разных ресторанов могут пересекаться, необходимо различать их в общей базе - для этого используем параметр AddCode, который добавляет к "выделенному" номеру определенное число.

Примечание: Перекодировщик карт FIX_LEN следует использовать только в том случае, если коды ресторанов имеют разный код корпорации (первых пять цифр общего кода ресторана). Если ресторанам изначально присваивался одинаковый корпоративный код, то необходимо воспользоваться библиотекой ALLREST.DLL

В результате мы должны прописать в RKEEPER6.INI на каждой кассе:
 

FIX_LEN1_Mask = 778=108900001=NNNN
FIX_LEN1_AddCode = 100000

FIX_LEN2_Mask = 778=122000001=NNNN
FIX_LEN2_AddCode = 200000

FIX_LEN3_Mask = 778=121950001=NNNN
FIX_LEN3_AddCode = 300000

FIX_LEN4_Mask = 778=121950002=NNNN
FIX_LEN4_AddCode = 400000

либо, при использовании INIFILE.DLL версии 2.0 и выше:

[FIX_LEN1]
Mask = 778=108900001=NNNN
AddCode = 100000

[FIX_LEN2]
Mask = 778=122000001=NNNN
AddCode = 200000

[FIX_LEN3]
Mask = 778=121950001=NNNN
AddCode = 300000

[FIX_LEN4]
Mask = 778=121950002=NNNN
AddCode = 400000

При таких настройках карты должны создаваться в системе ПДС по следующему принципу:

  • 10NNNN - для  карт первого ресторана
  • 20NNNN - для карт второго ресторана
  • 30NNNN - для карт третьего ресторана
  • 40NNNN - для карт четвертого ресторана

- где NNNN - реальный номер карты.

Например, есть карты со следующими номерами: 1456 (из первого ресторана), 2874 (из второго), 1456 (из третьего) и 2874 (из четвертого). Тогда эти карты должны быть созданы в системе ПДС со следующими номерами: 101456, 202874, 301456, 402874 соответственно

 

Сеть ресторанов с одинаковыми корпоративными кодами

Исходные данные: сеть из 4-х ресторанов, где первый ресторан имеет код 5214.0001 (код восьмизначный, т.к. кассовая версия более ранняя), остальные рестораны имеют следующие коды: 10889.0001, 10889.0002 и 10889.0004 соответственно. На картах закодирована последовательность: 778=108890000=NNNN

Примечание: Формат 778=CCCCC0000=NNNN ( CCCCC - код корпорации, далее четыре нуля ) прописывается в том случае, если карты планируется использовать в сети ресторанов с одинаковым кодом корпорации (первые пять цифр в общем коде ресторана).

Цель: возможность использовать карты ПДС в первом ресторане до обновления версии кассовой программы

Решение:  в первом ресторане используем перекодировщик карт FIX_LEN.DLL. На кассовой станции в RKEEPER6.INI прописываем:

FIX_LEN_Mask = 778=108890000=NNNN

 

Поддержка международных студенческих карт ISIC

Исходные данные: сеть ресторанов SUBWAY решила принимать карты ISIC и предоставлять по ним скидку.  Формат карты ISIC следующий (информация со второй дорожки): 123 456 789 012 234 (пробелы указаны для удобства чтения), где первые 12 цифр - номер карты, последние три цифры - проверочные. При этом первые шесть цифр номера представляют префикс номера, который определяет принадлежность карты к стране (для России используются следующие префиксы: 207218, 207220, 207222, 207500, 207501, 207900)

Цель: использовать российские карты ISIC как дисконтные.

Решение: т.к. кол-во международных карты ISIC очень велико, было принято решение использовать их как неперсональные дисконтные, т.е. без привязки к какому либо номеру карты. Для этого прописываем в RKEEPER6.INI на кассовой станции:

FIX_LEN_Mask = 207NN**********  (в маске всего 15 символов, из которых последние 10 -  символ "*" {звездочка})
FIX_LEN_Card = 1 

Указанная маска позволяет ограничить обслуживание только тех карт, которые начинаются с цифры 207 (т.е. российских карт). Следующие две цифры после 207 мы будем использовать для "выделения" идентификатора скидки (тип магнитной карты). Т.к. в префиксах для российских карт после 207 следуют разные цифры (21, 22, 50 и 90), то необходимо в приложении "Редактор" создать четыре скидки с одинаковым названием и величиной скидки, но указать разные типы магнитных карт - 21, 22, 50 и 90

 

Поддержка карт "Resto Discount"

Основные положения

  • Ресторан должен иметь подписанный договор с компанией-владельцем системы “Resto Discount”. 
  • В договоре должен быть зафиксирован размер скидки, предоставляемой по картам “Resto Discount” в данном ресторане. 
  • Карты “Resto Discount” принимаются как НЕПЕРСОНАЛЬНЫЕ дисконтные карты. Использование данных карт в системе R-Keeper ПДС – ЗАПРЕЩЕНО! 

Карты Resto имеют следующий формат записи на второй дорожке магнитной полосы: 

56279450=01=73599=31122007

где:

  • 56279450 - идентификатор принадлежности карт к системе Resto. Одинаков на всех выпущенных картах. 
  • 01 - тип скидки (тип магнитной карты, указанный в свойствах скидки). При настройке величину скидки согласовать с представителем ресторана. Основание - подписанный договор между рестораном и Resto. 
  • 73599 - номер карты. 
  • 31122007 - срок действия карты. 
Примечание: Записи [номер карты] и [срок действия карты] на данный момент не используются. Предполагается использование этих записей после внедрения системы учета Resto (статистика) на основе модуля Farcards. 
 
Библиотека FIX_LEN.DLL копируется на рабочие станции в подкаталог EXTENS текущего рабочего каталога RKCLIENT, например C:\RKCLIENT\EXTENS.

Настройки в RKEEPER6.INI следующие:

FIX_LEN_MASK = 56279450*NN***************  (пятнадцать символов "*")
FIX_LEN_CARD = 1
 
Данные настройки позволяет идентифицировать карты Resto как неперсональные дисконтные карты R-Keeper v6.

Прием платежей для мобильных телефонов через кассу RK6

Вводная информация

 
Система R-KEEPER v6 позволяет принимать платежи для сотовых телефонов. Можно сразу вносить деньги на счёт или печатать код активации. Для этого необходимо создать  спец. Библиотеку Ipay.dll для связи с внешним сервером авторизации. Пример кода библиотеки приведён в конце документа. Библиотеку разрабатывает разработчик системы авторизации или заказчик.

Как это работает

  • В системе создаётся спец блюдо «Платёж» с ценой = 1. Можно назначить отдельную категорию – для скидок и ограничения оплат. Например: счёт нельзя пополнить бонусами.
  • Кассир пробивает это блюдо на кассе. Количество выбирает такое, чтобы сумма этого блюда была равна сумме, которую клиент собирается положить на счёт. В счёте могут быть и другие блюда, не связанные с платежами.
  • Для того чтобы началась авторизация платежа, кассир нажимает «Оплата». Затем выбирает тип оплаты и вводит сумму, которую дал клиент. Далее - "Ввод".
  • Кассир выбирает оператора сотовой связи, вводит номер телефона и дату платежа (если нужно). Нажимает "Ввод" - начинается авторизация платежа.

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

  • Если авторизация платежа была успешно проведена, печатается финальный чек и чек авторизации. В чеке может печататься любая информация, которую передаёт сервер авторизации через библиотеку Ipay.dll.
  • Если авторизация платежа не прошла успешно, кассиру выводится информация на экран. Данную информацию передаёт разработчик сервера авторизации и библиотеки Ipay.dll.

Установка

Для приема платежей необходимо установить сервер «MobPay»:
  1. в MobPay.ini указывается имя сервера. Секция [RNBL], параметр Server
  2. В папке запуска сервера должны находится библиотеки RNBL.dll и ipay.dll.
  3. Сервер можно запустить и как службу (ключь –install), и как приложение (ключ –desktop)
На кассе в файле RKEEPER6.INI необходимо добавить следующие параметры:
MOBDish=96                      - Код блюда-платежа (см. выше)
MobilPayServer=MOBSERV          - Имя сервера MobPay (см. выше)

DLL компании ЗАО «Кардлинк»

Для связи с внешней БД компании «Кардлинк» их программистами были написаны модули связи для использования c нашим сервером «MobPay».
  1. Необходимо на компьютере, где работает MobPay проинсталлировать Microsoft .NET Framework 2.0 
  2. В директорию сервера MobPay скопировать следующие DLL : IndigoClient.dll, IndigoSigner.dll, ipay.dll, Lzwpi.dll, mpi.dll, dict.dic.
  3. Зарегистрировать компонент IndigoClient.dll при помощи команды   (regasm.exe IndigoClient.dll)
  4. Запустить сервер MobPay. При верных настройках в каталоге сервера     должен появиться лог файл (componentDebug.txt).

Схема взаимодействия программного обеспечения для принятия платежей:

Касса R-KEEPER -----> Server MobPay -----> Ipay.dll -----> Сервер авторизации

Версии

Касса RKeeper – 6.76а и выше
MobPay –1.01 и выше

Пример Ipay.dll

{Для интеграции системы внешних оплат нужно сделать такую DLL. Данная возможность в первую очередь предназначена для оплаты мобильных телефонов. Наш пример на DELPHI}.

library ipay;
uses
  SysUtils;
{$R *.RES}
type

{Эти типы предназначены для обмена данными с библиотекой}

Tline=array[0..39] of char;

{Для получения списка видов оплат (тел операторов)}

PPaylist=^TPayList;
TPayList=Packed Record 
          Count:SmallInt; {количество заполненных элементов List}
          List:Array [1..50] of  packed record 
                                  Code:SmallInt; {код для дальнейшеq ccылки}
                                  Name:Tline;    {Наименование оператора(услуги)}
                                 end; 
         end;                        
 Pformat=^Tformat;
 TFormat= Packed Record     {Для получения данных от кассира}{Передается и текст и поля для заполнения}
           Code:SmallInt;   {Код оператора (из paylist.list[i].code)}   
           Amount:Double;   {Сумма к оплате}
           Count: SmallInt; {количество заполненных элементов List}
           list: array [1..15] of packed record
                                flag:byte; {=1 - поле ввода =0 - коментарий}
                                Field:TLine;  {тект или макет для ввода}
                               end;
          end;
 PPrintLines=^TPrintLines;         
 TPrintLines=Packed record    {Для печати чека}
             Count:SmallInt;
             List:Array[1..70] of Tline; 
            end;         

{Касса вызывает для получения списка доступных видов оплат}          

Procedure GetPaysList(PayList:PPayList);stdcall; 
 begin
  PayList.Count:=4;
  PayList.List[1].Code:=101;
  PayList.list[1].Name:='БиЛайн'#0;
  PayList.List[2].Code:=102;
  PayList.list[2].Name:='МТС'#0;
  PayList.List[3].Code:=200;
  PayList.list[3].Name:='Мегафон'#0;
  PayList.List[4].Code:=300;
  PayList.list[4].Name:='СкайЛинк'#0;
 end;
{Касса заполняет поле Code Amount } 

Procedure GetFormat(Format:PFormat);stdcall;
 begin

  {Формат ввода может быть разным для разных платежей, но я этого делать не буду}

  case format.Code of
   101:
        format.list[1].Field:='Был выбран БиЛайн'#0;
   102:
        format.list[1].Field:='Был выбран МТС'#0;
   200:
        format.list[1].Field:='Был выбран Мегафон'#0;
   300:
        format.list[1].Field:='Был выбран СкайЛинк'#0;
  end;

  format.Count:=6;
  format.list[1].flag:=0;
  format.list[2].Field:='Введите номер телефона:'#0;
  format.list[2].flag:=0;
  format.list[3].Field:='(   )   -  -  '#0;
  Format.list[3].flag:=0;
  Format.list[4].Field:='Введите дату активизации платежа'#0;
  Format.list[4].flag:=0;
  Format.list[5].Field:='В формате ДД-ММ-ГГ'#0;
  Format.list[5].flag:=0;
  Format.list[6].Field:='  /  /  '#0;
  Format.list[6].flag:=0;
 end;    

 {Это вспомогательная функция}

procedure FillLines(s:String;Lines:PPrintLines);
 var ps:Integer;
         procedure Add(ss:String);
          begin
           if Lines.Count=70 then exit;
           Inc(Lines.Count);
           ss:=copy(ss,1,39)+#0;
           move(ss[1],Lines.list[Lines.count],length(ss));
          end;
 begin
  Lines.Count:=0;
  while s<>'' do begin
   ps:=Pos('\',s);
   if ps=0 then ps:=Length(s)+1;
   Add(copy(s,1,ps-1));
   s:=copy(s,ps+1,length(s));
  end;

 end; 

{В Format все поля заполнены. При этом поля ввода заполнены так, как их заполнил кассир. Функция возвращает хэндл транзакции. В случае отказа нужно вернуть (-1).
В этом случае Lines заполнябт сообщение об ошибке, которое будет показано кассиру.  В случае нормального заполения  Lines заполняют сообщением для печати} 

Function  StartTransaction(Format:PFormat;lines:PPrintLines):Integer;stdcall;
 var s:ShortString;
 begin

  {Для примера проверяем что МТС имеет код 916}

   s:=StrPas(format.list[3].Field);
   case format.Code of
    102: begin
          if copy(s,2,3)<>'916' then begin
           Result:=-1;
           FillLines('Номер телефона:\'+s+'\не относится к данному оператору',Lines);
           exit;
          end;
         end;      

   {и т д}

   end;
   Result:=101;
   FillLines('Прием платежей мобильной связи\'+

             '------------------------------\'+
             'Платеж на сумму:'+FloatToStr(format.Amount)+'\'+
             'Телефон: '+s+'\'+
             'Комиссия в размере:............\'+
             '................................\'+
             '................................\'+
             '-------------------------------',Lines);
 end;

   {Окончательно провести транзакцию}
   {Транзакция следует отменить усди она не будет завершега в течении нескольких секунд}

 procedure FinishTransaction(hnd:Integer);
  begin
  end;
            
exports  GetPaysList,GetFormat,StartTransaction,FinishTransaction;
begin
end.

Перекодировка в формат карт персонала (CCEX.DLL)

Основная информация

Кассовая часть системы R-Keeper v6 поддерживает работу только с 4-х значными картами  персонала (официанты, кассиры и т..д.). Иногда возникает необходимость использовать в качестве карт персонала не стандартные магнитные карты, а бесконтактные, которые невозможно "запрограммировать" самостоятельно и которые, как правило, имеют более длинные номера. В таком случае можно использовать специальную библиотеку исключения - CCEX.DLL

Для установки и использования библиотеки исключения необходимо:

  • скопировать библиотеку CCEX.DLL в корень директории RKCLIENT
  • считать все карты, которые планируется использовать в качестве карт персонала - используйте для этого утилиту CHMCKBD.EXE (если устройство считывания имеет интерфейс PS/2) или USECARD.EXE (если устройство считывания имеет интерфейс RS232). Считывание производится в DOS
  • создать текстовый файл CCEX.TXT следующего формата:
<считанный номер>, <номер в который необходимо преобразовать>
Например:
02623, 0262
13647, 1364
13026236004200, 1302
00133, 0013
  • Скопировать сформированный файл CCEX.TXT в корень директории RKCLIENT
  • Для проверки работоспособности можно снова считать карты - если все сделано правильно, считанные номера карт должны быть перекодированы

Важно! следует помнить, что работу с CCEX.DLL поддерживают не все считыватели (точнее драйвера для этих считывателей). На данный момент  список совместимых драйверов следующий:

  • Стандартная библиотека [img:1=COMCARD.DLL] версии 6.02 и выше. Эта библиотека подходит для всех считывателей с интерфейсом RS-232, которые выдают информацию при считывании напрямую в порт (без дополнительных команд). Класс таких устройств достаточно обширен - например, практически все сканеры штрих-кодов могут работать в таком режиме
  • Драйвер считывателя прокси-карт [img:2=PERCo-CR-12001] версии 1.04 и выше
  • Драйвер для клавиатуры [img:3=MITEc KB99-128] с интерфейсом PS/2. С этим драйвером могут работать большинство считывателей PS/2, которые поддерживают программирование префикса (";" - точка с запятой) и постфикса ("?" - знак вопроса) 
  • Драйвер считывателя [img:4=MiReader-80] (для чтения карт стандарта MIFARE)
  • Драйвер считывателя [img:6=СРЧ-125М (RFIDUCS3)] с версии 1.04. Для этого драйвера есть одна особенность: необходимо указать в RKEEPER6.INI параметр ComCardUse24=ON, а в файл CCEX.TXT записывать номера, которые указаны после 778=00000000= (или 771=00000000=, в зависимости от значения параметра ComCardType). Например, если в результате считывания карты с помощью утилиты  USECARD.EXE считыватель выдал строку 778=00000000=23456 (или 771=00000000=23456), то в CCEX.TXT нужно указать номер 23456

Примечание:  Практически все драйвера для новых устройств уже содержат поддержку CCEX.DLL, поэтому вышеуказанный список не является окончательным.

ВложениеРазмер
COMCARD_6.02.rar3.32 КБ
PERCo-CR-12001.rar5.02 КБ
K_KB99B.rar3.22 КБ
MI-80.rar4 КБ
CCEX.rar5.19 КБ
RFIDUCS3_104.zip4.6 КБ

Контроль логической даты - LOGDATE.DLL

Вводная информация

Кассовый сервер самостоятельно не производит контроль кассовой даты на соответствие физической дате, что иногда приводит к искаженным отчетам в системе R-Keeper. Нижеописанная процедура позволяет производить, начиная с кассовой версии 6.61 и выше, автоматический контроль даты и, в зависимости от настроек и категории сотрудника, выполнять корректировку даты.  

Определение терминов

  • Логическая дата - внутренняя дата, определенная в системе R-Keeper (устанавливается в таблице SYSTEM.DB с помощью утилиты SETCODAT.EXE). Изменение логической даты происходит при закрытии кассового дня.
  • Физическая дата - реальная дата, которая на станции определяется значением системных часов BIOS. Если кассовый сервер выделенный, то физическая дата определяется системной датой олерационной системы.

Примечание: При начале рабочего кассового дня логическая и физическая даты должны совпадать (за исключением некоторых случаев). Если работа продолжается после 24:00, то логическая дата остается неизменной, тогда как физическая меняеться.

  • Битовая маска — определённые данные, которые используются для выбора битов из двоичной строки или числа. Например, для получения значения пятого бита (считая слева) числа 10111011 нужно использовать маску 00001000 и применить операцию побитового алгебраического «И» (^ - конъюнкция). В результате получится: 10111011 ^ 00001000 = 00001000

Настройка процесса контроля

Для настройки контроля скопируйте библиотеку LOGDATE.DLL (можно взять на фтп dealers/r-keeper/Tools/LogicDate/LOGDATE.DLL) на рабочую станцию в директорию RKCLIENT\EXTENS. Далее пропишите в конфигурационном файле RKEEPER6.INI параметр:

LogDate_Action = <FLAGS>

- где <FLAGS> – битовая маска, значение которой определяется следующими битами (считая справа): 

  • 0-й бит - определяет, запретить {1} или разрешить {0} дальнейшую загрузку при неравенстве дат без подтверждения менеджера
  • 1-й бит - определяет, запретить {1} или разрешить {0} дальнейшую загрузку при неравенстве дат при любых условиях
  • 2-й бит - определяет, разрешить {1} или запретить {0} приравнять дату любому сотруднику
  • 3-й бит - определяет, разрешить {1} или запретить {0} менеджеру приравнивать дату
  • 4-й бит - определить, разрешить {1} или запретить {0} сдвиг логической даты назад

Важно! в параметре LogDate_Action указывается значение битовой маски в десятичном виде!

Особенности использования

  • Если в системе есть оплаченные чеки, то процесс контроля игнорируется
  • Если настройки позволяют изменить дату, то появляется окно «Исправить лог дату» - см. Рис.1. Если настройки не позволяют менять дату, но при этом надо перевести дату назад, а в настройках такая возможность не предусмотрена, то окно не появляется на экране
  • Если настройки не позволяют загружать систему при несоответствии логической и физической даты, то при нажатии на кнопку «Продолжать» ничего не поизойдет. 

Правила и примеры использования

Как отмечалось выше, значение параметра LogDate_Action должно быть указано в десятичном виде. Для этого, сначала мы формируем битовую маску в виде двоичного числа (подставляем значущие биты на свои позици) и переводим двоичное значение в десятичное - сделать это можно с помощью стандартного калькулятура Windows или путем несложных вычислений (более подробно о системах счисления здесь)

Рассмотрим небольшой пример. Допустим, надо организовать контроль логической даты, при котором необходимо запретить загружать систему при неравенстве дат без подтверждения менеджера, при этом разрешить менеджеру приравнять логическую дату к физической только в том случае, если логическая дата меньше физической - иначе запретить загрузку. 
Для формирования итоговой битовой маски мы должны подставить следющие значение (начиная справа!):

  • 0-й бит - значение 1 (запретить загрузку системы без подтверждения менеджера)
  • 1-й бит - значение 0 (разрешить загрузку системы при неравенстве дат при любых условиях, т.к. первое условие перекрывает его)
  • 2-й бит - значение 0 (запретить приравнивать дату любому сотруднику)
  • 3-й бит - значение 1 (разрешит менеджеру приравнять дату)
  • 4-й бит - значение 0 (запрещаем сдвигать логическую дату назад, т.е приравнивание разрешено только вперед)

Получаем следующее значение битовой маски в двоичном виде: 01001, что соответствует десятичному числу 9

 

Таблица: Описание возможных значений параметра LogDate_Action
Битовая маска Десятичное значение Описание действия
00001 1 Разрешает загрузить систему при неравенстве дат только с подтверждением менеджера, но приравнять дату нельзя
00010 2 Запрещает загрузить систему при неравенстве дат при любых условиях и запрещает приравнять дату также при любых условиях
00011 3 Не имеет смысла, т.к. содержит взаимоисключающие условия
00100 4 Разрешает загрузить систему при неравенстве дат и приравнять дату (только вперед) любому сотруднику 
00101 5 Разрешает загрузить систему при неравенстве дат только с подтверждением менеджера или приравнять дату (только вперед) может любой сотрудник
00110 6 Запрещает загрузить систему при неравенстве дат, но приравнять дату (только вперед) может любой сотрудник 
00111 7 Не имеет смысла, т.к. содержит взаимоисключающие условия
01000 8 Разрешает загрузить систему при неравенстве дат и позволяет приравнять дату (только вперед) с подтверждением менеджера  
01001 9 Разрешает загрузить систему при неравенстве дат только с подтверждением менеджера и приравнять дату (только вперед) только с подтверждением менеджера
01010 10 Запрещает загрузить систему при неравенстве дат при любых условиях, но приравнять дату (только вперед) можно только с подтверждением менеджера
01011 11 Не имеет смысла, т.к. содержит взаимоисключающие условия 
01100 12 Разрешает загрузку системы при неравенстве дат без подтверждения менеджера и позволяет приравнять дату (только вперед) любому сотруднику 
01101 13 Разрешает загрузку системы при неравенстве дат при подтверждении менеджера и позволяет приравнять даты (только вперед) любому сотруднику
01110 14 Запрещает загрузку системы при неравенстве дат при любых условиях и позволяет приравнять дату (только вперед) любому сотруднику
01111 15 Не имеет смысла, т.к. содержит взаимоисключающие условия
10000 16 Не имеет особого смысла, т.к. не заданы разрешения для возможности приравнивания дат. Просто предупреждает о несоответствии дат
10001 17 Не имеет особого смысла, т.к. не указаны полномочия сотрудников на приравнивание даты. Можно лишь загрузить систему с разными датами с подтверждением менеджера.  
10010 18 Запрещает загрузить систему при неравенстве дат при любых условиях и запрещает приравнять дату также при любых условиях. Аналогична значению 2 
10011 19 Не имеет смысла, т.к. содержит взаимоисключающие условия 
10100 20 Разрешает загрузить систему с разными датами и приравнять дату (в любую сторону) любому сотруднику 
10101 21 Разрешает загрузить систему с разными датами только с подтверждением менеджера или приравнять дату (в любую сторону) может любой сотрудник. Не рекомендуется использовать для предотвращения злоупотреблений!
10110 22 Запрещает загрузить систему с разными датами, но приравнять дату (в любую сторону) может любой сотрудник. Не рекомендуется использовать для предотвращения злоупотреблений!
10111 23 Не имеет смысла, т.к. содержит взаимоисключающие условия 
11000 24 Разрешает загрузить систему с разными датами и/или приравнять дату (в любую сторону) с подтверждением менеджера
11001 25 Запрещает загрузить систему с разными датами без подтверждения менеджера и приравнять дату (в любую сторону) можно только с подтверждением менеджера
11010 26 Запрещает загрузить систему с разными датами, но приравнять дату (в любую сторону) может только менеджер
11011 27 Не имеет смысла, т.к. содержит взаимоисключающие условия 
11100 28 Разрешает загрузить систему при неравенстве дат при любых условиях и позволяет приравнять дату (в любую сторону) любому сотруднику. Не рекомендуется использовать для предотвращения злоупотреблений!
11101 29 Запрещает загрузить систему с разными датами без подтверждения менеджера, но позволяет приравнять дату (в любую сторону) любому сотруднику. Не рекомендуется использовать для предотвращения злоупотреблений!
11110 30 Запрещает загрузку системы при неравенстве дат при любых условиях, но позволяет приравнять дату (в любую сторону) любому сотруднику. Не рекомендуется использовать для предотвращения злоупотреблений!
11111 31 Запрещает загрузить систему при неравенстве дат при любых условиях, но позволяет приравнять дату (в любую сторону) любому сотруднику. Не рекомендуется использовать для предотвращения злоупотреблений!

 

 

Уведомления для блюд определенной группы

Основная информация

В кассовой версии 6.109 и редакторе карт 6.98 реализована возможность работы с уведомлениями для блюд из определенных групп.

Уведомление – сообщение на кассовой станции при добавлении блюда в заказ. Сообщения состоят из заголовка и текста уведомления и удаляются с экрана нажатием на кнопку «Ок».

Уведомление может отображаться в заказе один или несколько раз и может работать по определенному расписанию.

Пример уведомления на экране кассовой станции:

 

Настройка уведомлений

Важно! Поддержка уведомлений реализована с версии редактора 6.98,  для хранения данных добавлена новая таблица Notify.DB

Для настройки уведомлений в редакторе необходимо войти в режим редактирования группы блюд - с версии 6.98 появилось две новые закладки "Уведолмение" и "Расписание уведолений" 

Для настройки правил работы и текста уведомления необходимо открыть закладку «Уведомление»:

Для уведомления можно настроить следующие параметры:

  • Показывать – показывать данное уведомление на экране кассы. Если флаг не установлен, уведомление будет неактивно
  • Применять к подгруппам – если у данной группы есть подгруппы, данное уведомление будет распространяться и на подруппы, но при условии, что этим подгруппам не назначены свои уведомления. Если у подгруппы определено свое уведомление, то на экране кассы сначала отобразится собственное уведомление, а затем уведомление, установленное у родительской группы. Если у подгруппы не определено собственное уведомление, то для нее будет действовать уведомление ее родителя (если таковое есть или прородителя) и .т.д.
  • Показать только один раз – уведомление будет отображаться только один раз в текуще ЗАКАЗЕ (не в сессии), т.е. при добавлении в заказ новых блюд из той же группы сообщении не будет отображаться снова
  • Задержка – задержка в секундах для сброса в заказе сообщения с уведомлением. При появление Уведомления, на экране будет отображаться кнопка  таймера с обратным отсчетом. Через указанное количество секунд, появится кнопка «ОК», при нажатии на которую, уведомление будет удалено и можно будет продолжить редактирование заказа.
  • Заголовок -  текст, который будет отображаться в шапке уведомления
  • Текст – текст уведомления, ограничение по длине - 255 символов.

При необходимости можно настроить работу уведомлений по расписанию - для этого используется закладка «Расписание уведомлений»:

Важно! Расписание для уведомлений работает по логической (кассовой) дате! В пределах одной логической даты (кассовой смены) время действия может установлено через полночь. Например: с 17:00 по 02:00.

Особенности настройки

При формировании текста уведомления следует учитывать следующие нюансы:

  • Если текст уведомления вводить одной строкой, т.е. без перевода строки («Enter» или знак «\»), на экране текст уведомления будет отображен одной строкой и размер шрифта будет установлен автоматически.
  • В редакторе поле для ввода текста уведомления не ограничено по длине, но если ввести строку, превышающую 255 символов, на экране кассовой станции текст сообщение отображаться не будет
  • Если в тексте уведомления используется слишком много строк, заголовок уведомления может стать недоступным для чтения

 

Шифрование карт ПДС для ручного ввода

 

Основная информация

Начиная с версии 6.94D для ручного ввода номеров карт ПДС можно использовать шифрование номеров карт.

Идея состоит в следующем:

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

Важно! Для исключения совпадений  алгоритм  будет зависеть от кода ресторана или выдаваться ресторанам индивидуально.

Для применения алгоритма ширования используйтся параметр ManualCardAlgoritm=X
- где значения "Х" могут быть следующими:

  • 0 - по умолчанию работать по-старому
  • 1 - используется алгоритм, зависящий от кода ресторана. Иначе используется алгоритм, не зависящий от кода ресторана (удобно для сетей)
  • Номера алгоритмов (кроме 1) будут выдаваться индивидуально.

Для отбражения этого номерного интервала в другой служит параметр  ManualCArdAddNumber=X - декодированный номер будет увеличен на эту величину.

Карта ПДС - как карта на входе

 

Важно! Описанная ниже схема гарантированно работает только на Windows 2003 Server, а также на Windows 2000 - на всех версиях Windows XP результат не предсказуем (в большинстве случаев не работает).
Важно! Последняя версия, на которой проверена работа - 6.97к (версия NT-сервера).

Основная информация

В некоторых развлекательных заведениях, использующих ПО r-keeper, сконфигурированных для работы с "Картой на входе" и имеющих платежно-дисконтную систему (ПДС), может возникнуть необходимость совмещения входных карт с дисконтными картами для удобства гостей. Если возникла такая необходимость, то нужно выполнить приведенные ниже настройки.

Важно!  Вся система должна быть настроена через выделенный кассовый сервер!

Настройки на терминале

  1. С фтп-сервера dealers/r-keeper/Tools/PDS+ENTER/PDS_ENTER.rar скопировать и распаковать архив, содержащий необходимые библиотеки.
  2. Библиотеку PDS_PCRD.DLL скопировать в \RKCLIENT\EXTENS.
  3. Никаких настроек в RKEEPER6.INI делать не нужно.

Настройка кассового сервера

  1. Скопировать библиотеки PCARDSUM.DLL и CscLink.DLL в папку кассового сервера.
  2. Туда же скопировать необходимую библиотеку связи (Rlocal.dll, Rtcp.dll или RNetBios.dll) из дистрибутива \PERSCARD\DLL\
  3. Создать файл CScLINK.INI - прописать следующие параметры:

Примечание:  библиотека связи используется модулем CscLink.DLL для подключения к серверу карт CARDSERV. В  параметрах CSCLINK.INI достаточно прописать настройки только для ОДНОЙ библиотеки связи - в случае, если кассовый сервер и сервер карт установлены на одном компьютере, рекомендуется использовать локальное подключение (RLocal.dll). В остальных случаях предпочтительней использовать библиотеку связи RTcp.dll

Параметры CscLink.INI

Параметры Описание
 [Settings] блок настроек
 CSLinkDLL=RTcp настройка указывает, через какую библиотеку будет работать
 CSLinkGate=1 номер входа
 [RLocal] блок настроек библиотеки связи RLocal.dll
 Port1 = 0 номер порта (по-умолчанию - 0)
 Client1 = PDS_ENTER имя клиента
 [Rtcp] блок настроек библиотеки связи RTcp.dll
 Client1=DLLSCS имя клиента
 Server1=127.0.0.1 IP адрес компьютера (указать свой)
 Port1=3459 используемый для подключения порт

Примечание: Данная настройка работает только с оригинальными, принадлежащими данному заведению картами ПДС, т.е. если ипользуется библиотека FIX_LEN.DLL, то работать не будет.

Проверка работы

Технология работы будет выглядеть следующим образом:

  • При регистрации карты ПДС в окне кассира, должно появится окно с предложением зарегистрировать новую карту гостя, а при проведении этой же картой уже в окне заказа эта карта должна сработать как скидочная. Также эту карту можно использовать, как платежную, при окончательном расчете по мастер-чеку

Работа с таблицами формата "Paradox"

Язык SQL

Все современные клиент-серверные СУБД имеют одну общую черту - работа с ними строится на языке SQL - Structured Query Language (структурированный язык запросов). Кроме того, чтобы не лишать разработчиков БД на Delphi возможности работать при помощи SQL с обычными файловыми СУБД типа dBase и Paradox, BDE предоставляет возможность прозрачного использования SQL и для них, используя свои внутренние механизмы.

Стандарт языка SQL определяется ANSI (Американским национальным институтом стандартов). Вместе с тем, каждый производитель СУБД считает своим долгом дополнить язык собственными расширениями которые, как они считают, будут весьма полезны. Иногда они несколько нарушают стандарт языка, хотя хорошие идеи имеют тенденцию развиваться и вскоре становиться стандартами де-факто сами по себе в силу полезности своих качеств. Здесь мы будем рассматривать SQL на основе наиболее полно поддерживаемых всеми СУБД вариантами ANSI-89 и ANSI-92.

Язык SQL предназначен для манипулирования данными в реляционных базах данных, определения структуры баз данных и для управления правами доступа к данным в многопользовательской среде. По этой причине язык SQL состоит из 3 составных частей:

  • Языка манипулирования данными (Data Manipulation Language, DML);
  • Языка определения данных (Data Definition Language, DDL);
  • Языка управления данными (Data Control Language, DCL).

Все эти языки являются составной частью языка SQL. Фактически, каждый из них содержит набор команд SQL, предназначенных для своей области. В процессе работы с БД, пожалуй, чаще всего используется язык манипулирования данными, состоящий из 4 основных команд - SELECT, INSERT, UPADTE и DELETE, при помощи которых производится, соответственно, выборка, вставка, обновление и удаление данных.

Язык определения данных служит для создания и изменения структуры БД - таблиц, индексов и т.д. Он состоит из 3 групп команд - CREATE, ALTER и DROP (создание, изменение и удаление, соответственно), каждая из которых может манипулировать с одним из 6 объектов - базой данных, таблицей, виртуальной таблицей, индексом, триггером или хранимой процедурой. Таким образом, например, для команды CREATE мы получаем следующие 6 вариантов:

  • CREATE DATABASE - создать базу данных;
  • CREATE TABLE - создать таблицу;
  • CREATE VIEW - создать виртуальную таблицу;
  • CREATE INDEX - создать индекс;
  • CREATE TRIGGER - создать триггер;
  • CREATE PROCEDURE - создать хранимую процедуру.

Впрочем, триггеры и, в особенности, хранимые процедуры относятся исключительно к компетенции промышленных СУБД, которые мы в этой книге рассматривать не будем. То же самое относится и к языку управления данными (иногда его еще называют языком управления доступом) - он состоит из 2 основных команд - GRANT (дать права) и REVOKE (забрать права).

ПРИМЕЧАНИЕ
На самом деле, для современных клиент-серверных СУБД существует ряд дополнительных команд SQL, позволяющих, например, определять собственные функции для обработки данных (CREATE FUNCTION), создавать резервные копии таблиц, преобразовывать типы таблиц и т.д. Далеко не все они входят в состав стандарта языка SQL, поэтому информацию по ним следует брать из поставляемой вместе с конкретной СУБД документации.

Мы не будем рассматривать точный синтаксис всех команд SQL, поскольку это потребовало бы объема, соизмеримого с целой книгой. Вместо этого мы рассмотрим основные команды на примерах, что намного более важно для понимания SQL, чем точный синтаксис, который, при необходимости, всегда можно посмотреть в документации на используемую СУБД. А начнем с рассмотрения команд языка манипулирования данными.

Команда SELECT

Наиболее важной командой языка манипулирования данными является команда SELECT (выбрать). За кажущейся простотой ее синтаксиса скрывается огромное число возможностей. В простейшем случае с ее помощью можно просто отобразить все содержимое таблицы. В других случаях при помощи одной команды SELECT можно одновременно производить такие операции, как фильтрация, сортировка по одной лил нескольким таблицам сразу. В самой обобщенной форме синтаксис этой команды можно представить следующим образом:

SELECT выражения_для_выборки FROM таблицы [параметры выборки]

В качестве выражения для выборки обычно перечисляют поля таблиц. Если требуется вывести все поля, то используют символ "*":

SELECT BILL_ID, BILL_SUMM FROM BILL SELECT * FROM BILL

В первом случае будут выведены поля BILL_ID и BILL_SUMM из таблицы BILL, а во втором - все поля из этой же таблицы. В этом нетрудно убедиться, воспользовавшись утилитой SQL Explorer для написания запроса. Для этого запустите SQL Explorer, откройте нужную БД, например, DATA1 (или предварительно создайте новый алиас для более полной версии БД, созданной для примера DBApp), и в правой части окна щелкните по закладке Enter SQL, после чего введите нужный код и нажмите на кнопку Execute Query. Результат выполнения запроса незамедлительно будет выведен в таблицу внизу (рис. 21.1).

Приложение SQL Explorer для Delphi 
Рис. 21.1. Приложение SQL Explorer

СОВЕТ
Если у вас установлена версия Delphi, не имеющая этого инструмента, то для экспериментов с командой SELECT вы можете использовать приложение SQLELE, которое можно найти в каталоге Tools\SQLE_LE.

При выборе можно сразу же произвести упорядочивание записей, причем SQL позволяет делать эту операцию по любому полю таблицы, а не только по индексированному. Например, чтобы вывести все счета в порядке возрастания суммы, достаточно написать следующее выражение:

SELECT * FROM bill ORDER BY BILL_SUMM

Если бы требовалось выполнить сортировку не по возрастанию, а по убыванию, то в конце выражения следовало бы добавить ключевое слово DESC:

SELECT * FROM bill ORDER BY BILL_SUMM DESC

Выборка записей из таблицы производится при помощи условия, определяемого после ключевого слова WHERE. Например, если надо выбрать только те счета, которые были после 15 декабря, следует написать следующий SQL-запрос (формат написания даты в данном случае зависит от системных установок):

SELECT * FROM bill WHERE BILL_DATE>'15.12.2005'

Если при этом так же требуется еще и выполнить сортировку, то в конец выражения добавляют определение ORDER BY:

SELECT * FROM bill WHERE BILL_DATE>'15.12.2005' ORDER BY BILL_SUMM

В случае, когда условий больше одного, то их объединяют при помощи логических AND или OR:

SELECT * FROM bill WHERE BILL_DATE>'15.12.2005' AND BILL_SUMM>100 SELECT * FROM bill WHERE BILL_DATE>'15.12.2005' OR BILL_SUMM>300

Все эти примеры иллюстрируют общую форму команды SELECT в языке SQL (для одной таблицы): SELECT (выбрать) указанные поля FROM (из) указанной таблицы WHERE (где) заданные условия истинны.

Немного более сложным вариантом является выборка данных из 2 и более таблиц сразу. Например, для наглядности не помешало бы вывести в виде таблице список счетов, содержащий не внутренние номера клиентов, а их имена. В этом случае придется задействовать 2 таблицы - bill и customer, причем связующим полем будет номер клиента, т.е. поле BILL_CUST в таблице счетов и поле CUST_ID в таблице клиентов. В результате, мы получаем следующее выражение:

SELECT CUST_NAME, BILL_SUMM FROM bill, customer WHERE CUST_ID = BILL_CUST

Опять-таки, к данному условию, связывающему поля таблиц, можно добавить дополнительные, скажем, ограничивающие даты или суммы, равно как и определить упорядочивание вывода. Например, можно добавить условие, что сумма счета должна быть свыше 250, а так же задать упорядочивание по имени клиента (рис. 21.2).

Результат выполнения SQL-запроса по 2 таблицам 
Рис. 21.2. Результат выполнения SQL-запроса по 2 таблицам

Следует учитывать, что подобное связывание таблиц - путем указания условия в конструкции WHERE, является устаревшим и применяется лишь тогда, когда требуется добиться совместимости с SQL89. Более новый стандарт, SQL92, рекомендует использовать для связывания таблиц ключевое слово JOIN. Таким образом, предыдущий пример можно переписать следующим образом:

SELECT CUST_NAME, BILL_SUMM FROM customer JOIN bill ON CUST_ID = BILL_CUST

Важно отметить, что условия объединения помещают после ключевого слова ON, в то время, как остальные условия можно указать после WHERE. Таким образом, если бы нам надо бы добавить ограничения на сумму, то можно было бы написать 2 равнозначных варианта:

SELECT CUST_NAME, BILL_SUMM FROM customer JOIN bill ON CUST_ID = BILL_CUST AND BILL_SUMM>250; SELECT CUST_NAME, BILL_SUMM FROM customer JOIN bill ON CUST_ID = BILL_CUST WHERE BILL_SUMM>250;

Для удобства можно задавать локальные "имена" как для полей, так и для таблиц. Это бывает полезным в тех случаях, когда в большом и сложном запросе используется множество условий с длинными именами полей и таблиц:

SELECT EXTRA_USER_DATA_INFO AS a, EXTRA_USER_DATA_NAME as b FROM USER_TABLE WHERE a > 10 AND a < 100 AND b != 'Super' ORDER BY b

Следует отметить, что при выводе полей таблиц с помощью SQL можно производить некоторые вычисления. В этих случаях использование локальных имен бывает просто необходимым. Допустим, в счетах у нас хранятся суммы без НДС. В таком случае мы можем ввести сразу 2 столбца с суммами - с той, что хранится таблице и в виде вычисленного значения.

SELECT BILL_DATE, BILL_SUMM, BILL_SUMM * 1.18 as WITH_TAX FROM BILL ORDER BY WITH_TAX

В таком случае названием столбца с вычисленным значением будет "WITH_TAX" (см. рис. 21.3).

SQL запрос с вычислениями 
Рис. 21.3. SQL-запрос с вычислениями

При подобном переименовании столбцов следует быть внимательным, поскольку использование идентификаторов, совпадающих с ключевыми словами SQL, приведет к ошибке. Кроме того, следует избегать использования символов кириллицы, поскольку они не поддерживаются многими СУБД в данном контексте.

Если написание арифметического выражения приведет к изменению выводимых данных в записях столбца, то использование агрегирующих (агрегатных) функций поможет выполнить действия над всеми записями, удовлетворяющими указанным в запросе условиям. Пожалуй, чаще всего используется функция COUNT, позволяющая узнать количество записей. Например, чтобы узнать, сколько записей хранится в таблице счетов, достаточно написать следующий запрос:

SELECT COUNT(*) FROM bill

Результатом выполнения этого запроса будет число записей в таблице счетов. Если бы мы хотели узнать число записей, сделанных, скажем, до 1января, то могли бы написать такое выражение:

SELECT COUNT(*) FROM bill WHERE BILL_DATE < '01.01.2006'

Помимо COUNT, в стандартном SQL предусмотрено еще 4 агрегирующих функции - для вычисления суммы (SUM), максимального (SUM) и минимального (MIN) значений столбцов, а так же среднего арифметического (AVG). Результатом выполнения запроса по всем этим функциям для таблицы счетов будет таблица, состоящая из 4 столбцов, в каждом из которых будет находиться результат вычислений (рис. 21.4).

Результат выполнения запроса с агрегирующими функциями SQL 
Рис. 21.4. Результат выполнения запроса с агрегирующими функциями

Что касается заданий ограничений на обрабатываемые данные, ровно, как и на выводимые при помощи "обычного" запроса строки, то помимо реляционных операторов сравнения - больше (>), меньше (<), равно (=), не равно (!= или <>), больше или равно (>=), меньше или равно (<=), - можно использовать следующие операторы:

  • BETWEEN - задает диапазон значений, для которого выражение принимает истину;
  • IN - проверяет, входит ли заданное значение, предшествующее ключевому слову "IN" (например, значение столбца) в указанный в скобках список;
  • LIKE - проверяет, соответствует ли данное символьное значение строке с указанной маской (только для символьных данных);

В качестве примеров можно привести следующие варианты SQL-запросов:

SELECT BILL_SUMM FROM bill WHERE BILL_SUMM BETWEEN 100 and 200; /* Вывести счета с суммами от 100 до 200 */ SELECT BILL_SUMM, BILL_CUST FROM bill WHERE BILL_SUMM IN (100,150,200) /* Вывести счета с суммами, равными 100, 150 и 200 */ SELECT CUST_NAME FROM customer WHERE CUST_NAME LIKE 'OOO "Gamma%' /* Вывести клиентов, имя которых начнается с "ООО "Gamma" */ SELECT CUST_NAME FROM customer WHERE CUST_NAME LIKE 'OOO "_____"' /* Вывести клиентов, имя которых начнается с "ООО "" и имеет 5 символов в кавычках */ SELECT CUST_NAME FROM customer WHERE CUST_NAME LIKE '_%' /* Вывести клиентов, имя которых состоит хотя бы из 1 символа */

Что касается порядка вывода результатов, то помимо сортировки, еще одним способом повлиять на вывод результатов запроса является использование GROUP BY. Эта конструкция определяет порядок группировки полей при выводе. При этом следует учитывать, что должны быть указаны все поля, перечисленные в запросе:

SELECT BILL_SUMM, BILL_DATE FROM bill GROUP BY BILL_DATE, BILL_SUMM

В данном случае данные будут сгруппированы по датам. Впрочем, это не самый удачный пример, поскольку такого же результата можно было бы добиться простой сортировкой по полю BILL_DATE. Поэтому рассмотрим более сложный запрос, который будет выводить общие суммы всех счетов для каждого из клиентов. Для этого нам понадобится агрегирующая функция SUM:

SELECT BILL_CUST, SUM(BILL_SUMM) FROM BILL GROUP BY BILL_CUST

Наконец, усложним запрос, сделав результаты его работы более наглядными. Для этого нам потребуется связать таблицу счетов с таблицей клиентов, а заодно произвести сортировку по итоговому результату. Таким образом, мы получим следующий запрос:

SELECT CUST_NAME, SUM(BILL_SUMM) as TOTAL FROM BILL JOIN CUSTOMER ON CUST_ID=BILL_CUST GROUP BY BILL_CUST, CUST_NAME ORDER BY TOTAL DESC

Результатом его выполнения будет таблица, содержащая в первом столбце имена клиентов, а во втором - суммы всех их счетов, по которой и была произведена сортировка (рис. 21.5).

Запрос с группировкой, агрегацией и упорядочиванием по вычисляемому полю 
Рис. 21.5. Запрос с группировкой, агрегацией и упорядочиванием по вычисляемому полю

Все, что было на данный момент рассказано про команду SELECT, на самом деле, является лишь верхушкой айсберга ее возможностей. В то же время, даже такое беглое знакомство дает понять, что без знания SQL написать достаточно объемное приложение для БД крайне затруднительно. В то же время, каждая СУБД, как уже было отмечено, имеет свои тонкости в реализации языка, и команда SELECT, по причине своих огромных возможностей, является одним из наиболее частых претендентов на "модернизацию". По этой причине для дальнейшего изучения как команды SELECT, так и прочих возможностей SQL, следует использовать документацию к используемой СУБД.

Некоторые другие команды SQL

Помимо уже рассмотренных запросов на выборку данных при помощи команды SELECT, рассмотрим некоторые другие команды языка манипулирования данными. В частности, это команды INSERT (вставить), UPDATE (обновить) и DELETE (удалить).

Начнем со вставки - команды INSERT, которая добавляет запись с указанными значениями полей в конец таблицы. В упрощенной форме основной синтаксис этой команды можно представить следующим образом:

INSERT INTO таблица [(поля)] VALUES (значения)

В простейшем случае, когда надо заполнить все (или почти все) поля новой записи, достаточно написать подобное выражение:

INSERT INTO regions VALUES (77,'Москва')

В том же случае, если требуется указать значения только для определенных полей, то их предварительно перечисляют после имени таблицы:

INSERT INTO bill (BILL_CUST, BILL_SUMM, BILL_DATE) VALUES (1, 100, '01.01.2006')

В принципе, то, что выполняется при помощи команды SQL INSERT, похоже на то, что делает метод InsertRecord. Однако SQL предоставляет дополнительные возможности, в частности, вставку целой группы записей:

INSERT INTO bill (BILL_CUST, BILL_SUMM, BILL_DATE) VALUES (1, 100, '01.01.2006'), (1,200,'01.02.2006'), (1,150,'01.03.2006')

Еще более широкие возможности открываются при помощи комбинирования команды INSERT с командой SELECT, причем вставку можно производить как в ту же самую таблицу, так и в любую другую. Например, если нам надо в некую таблицу bill2 внести все записи из таблицы bill, имеющие суммы свыше 300, мы можем написать следующий запрос

INSERT INTO bill2 SELECT * FROM bill WHERE BILL_SUMM>300

Здесь предполагается, что структура таблиц bill и bill2 полностью идентична. Если же это было бы не так, то можно внести только часть полей (при условии, что типы полей будут совпадать). Например, если в таблице bill2 было бы поле для суммы, то для вставки всех подходящих сумм можно написать следующий запрос:

INSERT INTO bill2 (B2_SUMM) SELECT BILL_SUMM FROM bill WHERE BILL_SUMM>300

ПРИМЕЧАНИЕ
При помощи INSERT-SELECT можно очень просто копировать данные из одной таблицы в другую. В то же время, если надо просто вставить данные из подготовленного текстового файла, то ряд СУБД предлагает более удобные и быстрые команды, например, LOAD DATA INFILE в MySQL.

Другая команда SQL, применяемая для модификации данных - это UPDATE. Она позволяет изменять значения в столбцах данных таблицы. В общих чертах ее синтаксис можно представить следующим образом:

UPDATE таблица SET имя_поля = значение [WHERE условие]

В простейшем случае, когда надо изменить все записи в колонке таблицы, можно написать следующее выражение:

UPDATE bill SET BILL_DATE = '01.01.2006'

Можно так же указывать не абсолютные, а вычисляемые значения:

UPDATE bill SET BILL_SUMM = BILL_SUMM * 2

Но чаще всего все-таки указывают условия, по которым следует находить те записи, которые следует изменить. Например, чтобы пересчитать все счета, выставленные до 31 января 2005 года, можно написать следующее выражение:

UPDATE bill SET BILL_SUMM = BILL_SUMM + 10 WHERE BILL_DATE<'31.12.2005'

Наконец, когда требуется изменить лишь какую-то определенную запись, что в качестве условия достаточно указать уникальное поле. Например, для таблицы счетов это поле BILL_ID, по которому можно однозначно идентифицировать какую-либо запись в таблице:

UPDATE bill SET BILL_SUMM = 1000 WHERE BILL_ID = 10

ВНИМАНИЕ
Следует учитывать, что если предусмотренные в VCL методы для работы с БД, как правило, влияют лишь на одну запись (т.е. на ту, что выделена курсором), то в SQL изменению подвержены все записи указанной таблицы.

Наконец, остается рассмотреть последнее часто применяемое действие - удаление записей из таблицы. В SQL для этих целей используют команду DELETE, определенную следующим образом:

DELETE FROM таблица [WHERE условие]

Подобно команде UPDATE, если не указано условие, то удалению будут подвержены все данные в таблице. Например, чтобы удалить все записи в таблице счетов, достаточно написать:

DELETE FROM bill

В более вероятном случае требуется удалить лишь единичные записи. Например, удалению могут быть подвержены счета, выписанные до 2006 года, или же какой-либо определенный (ошибочный) счет:

DELETE FROM bill WHERE BILL_DATE<'01.01.2006' DELETE FROM bill WHERE BILL_ID = 15

Таким образом, на текущий момент мы рассмотрели все основные команды SQL, относящиеся к языку манипулирования данными - SELECT, INSERT, UPDATE и DELETE. Во многих СУБД помимо этих команд имеется ряд дополнительных, например, TRUNCATE (аналог DELETE для всей таблицы) или REPLACE (вариация на тему вставки). Поэтому остается еще раз посоветовать ознакомиться с документацией на используемую СУБД.

То же самое касается и языка определения данных, представленного вариациями команд CREATE, DROP и ALTER: у каждой СУБД имеется собственный набор типов данных и свои тонкости работы с таблицами, индексами и т.д. В принципе, работая с "родными" для Delphi типами СУБД, вполне можно довольствоваться теми возможностями, что предоставляет утилита Database Desktop. Многие другие СУБД так же располагают собственными средствами, упрощающими процесс создания таблиц, в качестве примера можно привести широко распространенную утилиту phpMyAdmin, обеспечивающую управление СУБД MySQL через веб-интерфейс.

Компонент запроса Query

До текущего момента мы рассматривали язык SQL как таковой, оставляя вопросы его взаимодействия с Delphi. Переходя к практическим вопросам использования этого языка в приложениях, рассмотрим компонент Query. Компонент Query представляет собой компонент набора данных, записи которого формируются в результате выполнения SQL-запроса. При этом текст запроса также содержится в этом компоненте в виде свойства SQL типа TStrings.

В целом, с точки зрения использования в приложении, компонент Query похож на другой компонент BDE - Table. Подобно Table, он так же может выступать в качестве источника данных. Однако благодаря тому, что практически все параметры, относящиеся к выборке данных, определяются в тексте запроса, то среди свойств этого компонента, связывающих его с БД, имеется лишь DatabaseName.

Еще одним важным отличием компонента Query от Table является отсутствие у Query свойства ReadOnly. Дело в том, что компонент Query по своей сути обычно предоставляет данные, доступные только для чтения, т.е. связь получается односторонняя. Этот факт следует учитывать, т.к. в ряде случаев при установке взаимодействий между компонентами бывает необходимым ссылаться на источники данных, поддерживающих непосредственную правку. В то же время, если выполняется ряд определенных условий, в частности, запрос обращается только к одной таблице, сама таблица поддерживает запись, а свойство RecuestLive компонента Query установлено в истину, то к такому запросу можно будет обращаться точно так же, как к таблице.

В то же время, подобные ограничение вовсе не говорит о том, что при помощи Query сложно изменять данные - просто для этих целей понадобится создавать соответствующий SQL-запрос (например, с командой UPDATE), а не пытаться использовать свойства объектов Filed. Кроме того, к Query неприменимы такие методы, как FindFirst, FindLast и т.д.

В качестве примера простейшего приложения, использующего этот компонент, рассмотрим уже упоминавшийся SQL Explorer LE. В каталоге Tools\SQLE_LE, помимо самого приложения, находится его исходный код. Не вдаваясь в подробности реализации, отметим лишь, что в приложении задействовано 3 компонента, связанных с доступом к данным - это Database, Query и DataSource. Еще один невизуальный компонент - диалог открытия файла используется для выбора каталога с БД. Весь написанный код этого приложения приведен в листинге 21.1.

Листинг 21.1. Исходный код SQLE LE

procedure TMainFrm.OpenBtnClick(Sender: TObject); begin if not OpenDlg.Execute then exit; MainDB.Connected:=false; MainDB.Params.Clear; MainDB.Params.Add('path='+ExtractFilePath(OpenDlg.FileName)); MainDB.Connected:=true; RunBtn.Enabled:=true; end; procedure TMainFrm.RunBtnClick(Sender: TObject); begin Query1.Close; Query1.SQL.Text:=Memo1.Text; if pos('select',lowercase(Memo1.Text))=0 then Query1.ExecSQL else Query1.Open; end;

Здесь кнопка открытия БД устанавливает путь к базе данных (подразумевается, что используется СУБД Paradox), после чего делает соединение активным, а кнопку выполнения запроса - доступной. Код для кнопки выполнения запроса нуждается в некотором пояснении: дело в том, что у компонента Query имеется 2 способа выполнения запроса - при помощи методов Open и ExecSQL. Принципиальная разница между ними состоит в том, что метод Open используется для запросов, производящих выборку данных (т.е. SELECT), в остальных же случаях предпочтительнее использовать метод ExecSQL.

Особенности работы с запросами

При рассмотрении компонента Query мы уже отметили ряд различий в подходах к использованию этого компонента по сравнению с Table. Однако этим различия в приложениях, основанных на SQL, не ограничиваются. Основным преимуществом запросов на SQL является то, что они позволяют минимизировать объем данных, которыми обмениваются СУБД и приложение. Например, когда из таблицы требуется отобрать какую-то часть записей, то в случае использования фильтрации или иных "обычных" методов, приложение запрашивает у СУБД всю таблицу. В том же случае, когда используется запрос, приложение получает лишь то, что ему требуется. Это существенным образом сказывается на быстродействии, особенно если обрабатываются большие объемы данных и при передаче информации по сети.

Для иллюстрации возможностей SQL и компонента Query модифицируем приложение "База 1.0" таким образом, чтобы оно использовало данные технологии. В частности, SQL может нам понадобиться для таких вещей, как вывод счетов для клиента, подсчет суммы счетов, внесение новых счетов и клиентов или редактирование имеющихся.

При разработке нового варианта приложения заменять без оглядки все компоненты Table на Query не представляется рациональным. Например, CustTbl, представляющий таблицу клиентов, используется исключительно для вывода полного списка клиентов и для манипуляций над ним же. В то же время, компонент BillTbl было бы рационально заменить на компонент-запрос, поскольку по счетам будет производиться выборка. Кроме того, если рассматривать приближенный к практике случай, то таблица счетов со временем может стать весьма и весьма объемной, что в случае работы по сети может сказаться на производительности. Поэтому заменим этот компонент запросом Query и назовем его BillQry. При этом свойство DatabaseName у него так же будет MainDB. Кроме того, поскольку этот запрос у нас используется в качестве источника данных для таблицы DBGrid, в которую мы позволяем вносить правку, то свойство RecuestLive следует установить в истину. С учетом того, что в данном запросе используется только одна таблица (bill), это позволит нам обращаться с ним так же легко, как с обычной таблицей. После этого останется изменить в BillDS значение свойства DataSet - вместо ссылки на отсутствующий теперь компонент BillTbl укажем для него BillQry.

Наконец, нам понадобится еще один компонент Query - для выполнения вспомогательных задач - например, для добавления новых записей в таблицы. Назовем его StdQry и установим свойство DatabaseName в MainDB. Поскольку этот запрос не будет непосредственно выводить информацию, то добавляеть ему в пару компонент DataSource не требуется.

Теперь приступим к изменению в программном коде. Начнем с функции вывода баланса - обработчика события Click для кнопки BalanceBtn. Как раз в этом случае мы задействуем оба запроса - один для того, чтобы отобразить все нужные счета (BillQry), а другой - для того, чтобы вычислить сумму (StdQry). Вариант этой функции с использованием таблиц был приведен в листинге 20.4, теперь же мы рассмотрим новый вариант, с использованием SQL-запросов (листинг 21.2).

Листинг 21.2. Вывод счетов и вычисление суммы с использованием SQL

procedure TMainFrm.BalanceBtnClick(Sender: TObject); begin Data.BillQry.Close; Data.BillQry.SQL.Text:='SELECT * FROM bill WHERE BILL_CUST=' +Data.CustTbl.FieldByName('CUST_ID').AsString; Data.BillQry.Open; Data.StdQry.Close; Data.StdQry.SQL.Text:='SELECT SUM(BILL_SUMM) AS TOTAL FROM bill WHERE ' +'BILL_CUST='+Data.CustTbl.FieldByName('CUST_ID').AsString;; Data.StdQry.Open; BillsFrm.Caption:=Data.CustTbl.FieldByName('CUST_NAME').AsString+': ' +Data.StdQry.FieldByName('TOTAL').AsString; BillsFrm.ShowModal; end;

Очевидно, что вычислительные задачи в новом варианте, при помощи SQL мы полностью переложили на саму СУБД. Кроме того, объем информации, полученный приложением, заметно уменьшился, поскольку выборка нужных значений производится на стороне СУБД, и приложению будут переданы только те данные, которые реально необходимы.

Теперь перепишем код для кнопок "Новый счет" и "Новый клиент". В данном случае, поскольку производить выборки не требуется, нам будет достаточно только одного запроса - StdQry, как это показано в листинге 21.3.

Листинг 21.3. Создание новых записей в таблицах bill и customer при помощи SQL

procedure TMainFrm.NewBillBtnClick(Sender: TObject); begin with BillFrm do begin Caption:='Счет для '+Data.CustTbl.FieldByName('CUST_NAME').AsString; ShowModal; if ModalResult<>mrOk then exit; Data.StdQry.Close; Data.StdQry.SQL.Text:='INSERT INTO bill(BILL_CUST, BILL_SUMM, BILL_DATE)' +' VALUES ('+Data.CustTbl.FieldByName('CUST_ID').AsString+', '+ SummEd.Text+', '''+DateToStr(DatePick.Date)+''')'; Data.StdQry.ExecSQL; end; end; procedure TMainFrm.NewCustBtnClick(Sender: TObject); begin with CustFrm do begin ShowModal; if ModalResult<>mrOk then exit; Data.StdQry.Close; Data.StdQry.SQL.Text:='INSERT INTO customer (CUST_NAME, CUST_ADDRESS) ' +'VALUES ('''+NameEd.Text+''', '''+AddrEd.Text+''')'; Data.StdQry.ExecSQL; Data.CustTbl.Refresh; end; end;

Здесь следует отметить следующий момент: после выполнения запроса на добавление клиента для компонента, представляющего таблицу клиентов (CustTbl), вызывается метод Refresh. Если этого не сделать, то, хотя данные и будут добавлены в таблицу физически, обновления таблицы на экране не произойдет. В то же время для добавления счетов подобной операции делать не требуется, поскольку для того, чтобы просмотреть список счетов, пользователю в любом случае придется нажимать на кнопку "Баланс", процедура обработки которой будет всякий раз составлять и вызывать новый запрос.

Что касается изменения учетной записи клиента, то в данном случае, в принципе, можно ничего не делать, поскольку мы оставили таблицу. С другой стороны, вполне можно использовать для этих целей язык SQL и компонент запроса StdQry. Для этого достаточно заменить последние 4 строчки кода в обработчике двойного щелчка мышью у компонента CustGrd:

//старый вариант Data.CustTbl.Edit; Data.CustTbl.FieldByName('CUST_NAME').AsString:=NameEd.Text; Data.CustTbl.FieldByName('CUST_ADDRESS').AsString:=AddrEd.Text; Data.CustTbl.Post; //новый вариант Data.StdQry.Close; Data.StdQry.SQL.Text:='UPDATE customer SET CUST_NAME='''+NameEd.Text +''', CUST_ADDRESS='''+AddrEd.Text+''''; Data.StdQry.ExecSQL;

В то же время, подобный код в форме BillsFrm, несмотря на то, что в данном случае источник данных изменился с таблицы на запрос, можно не менять - как раз в этом случае и пригодится установленное в истину свойство запроса RequestAlive.

С полным кодом переработанного приложения можно ознакомиться в каталоге Demo\Part4\DBAppSQL.

Комбинации клавиш на клавиатурной станции

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

Кроме стандартных функций, которые обозначены на клавиатурной раскладке, можно использовать комбинации, описанные в таблице ниже. Для вызова комбинации "ALT + Клавиша" необходимо нажать на клавитуре клавишу ALT,  и удерживая ее, нажать клавишу, указанную в комбинации.

 

Описание возможных комбинаций клавиш
Комбинация Описание
[ALT + Ящик] Включение тарификации в режиме кассира , без открытия стола.
[ALT + Кол-во] Ввод количества товара с помощью подключенных к кассе весы. Необходимо положить товар на весы, далее выбрать товар в меню и нажать данную комбинацию клавиш
[ALT + Ввод] Ручной ввод номера карты ПДС в режиме окна скидок (при использовании параметра CanManualDiscInput = ON)
[ALT + Cкидка] Ввод скидки по карте ISD. Используется только со специальным считывателем и драйвером для него.
[Меню] Вход в режим диалога TimeKeeper. Используется на станции в режиме приглашения к регистрации
[ALT + Оплата] Используется в системе "Карта на входе". При просмотре чека в списке чеков переходит в мастер-чек
[ALT + Пред. чек] Переход в режим "Быстрый чек". Используется барменамми на станциях с поддержкой режима "Быстрый чек".
[ALT + ESC] Отказ от авторизации кредитной карты в режиме просмотра заказа
[ALT + ВЫХОД] Сервисная комбинация - используется для снятия снимка экрана. Для использования записать в корень RKCLIENT библиотеку  GRABER.DLL. Снимки записываются в корень RKCLIENT в виде N.bmp, где N - сквозной номер. Эту же операцию можно проделать с помощью обычной компьютерной клавиатуры. Для этого используейте драйвер K_KB99B.DLL и комбинацию клавиш [ALT + =]

 

 

Настройка связи с устройствами

Поддержка 54-ФЗ для R-Keeper v6

 

 

Общая информация

Поддержка 54-ФЗ реализована с версии кассовой части 6.111 и менеджерской части 6.99.6

В обновленной версии R-Keeper v6 поддерживается работа с ОФД, формирование и отправка электронных копий чеков на e-mail или мобильный телефон покупателя.

Поддерживаемые модели и протоколы ФР: АТОЛ, СПАРК, ШТРИХ.

 

Дистрибутив

Дмистрибутив доступен на FTP:

 

Лицензирование

С кассовой версии 6.111 изменился принип лицензирования:

  • обновление до версии 6.111 и выше с более ранних версий платное
  • лицензия для кассовой станции привязана к фискальному регистратору, подключенному к станции

 

Информация по лицензиям

Основная позиция для официантской станции (в карточке объекта): 

  • R-Keeper модуль Официант с модулем Электронный чек RK6 ПО

В заявке на апгрейд официантской станции должно быть указано: 

  • R-Keeper модуль Электронный чек для Официанта ПО

В заявке на новую официантскую станцию должно быть указано:

  • R-Keeper модуль Официант  с модулем Электронный чек RK6 ПО
  • R-Keeper модуль Официант с модулем Электронный чек Win RK6 ПО   

Основная позиция  для кассовой станции (в карточке объекта):

  • R-Keeper модуль Касса с модулем Электронный чек RK6 ПО

В заявке на апгрейд кассовой станции должно быть указано:

  • R-Keeper модуль Электронный чек для Кассы ПО

В заявке на новую кассовую станцию должно быть указано:

  • R-Keeper модуль Касса с модулем Электронный чек RK6 ПО
  • R-Keeper модуль Касса с модулем Электронный чек Win RK6 ПО
  •    

Таким образом:

  • в счетах будет указано "
  • R-Keeper модуль Касса с модулем Электронный чек RK6 ПО" или "R-Keeper модуль Электронный чек для Кассы ПО" (если обновление)
  • на карточке объекта будет указано "R-Keeper модуль Касса с модулем Электронный чек RK6 ПО"
  • в заявке на новое ПО надо выбирать "R-Keeper модуль Касса с модулем Электронный чек RK6 ПО" или "R-Keeper модуль Касса с модулем Электронный чек Win RK6 ПО" в зависимости от платформы (в объект попадет лицензия "R-Keeper модуль Касса с модулем Электронный чек RK6 ПО")

По-прежнему можно заказать продукты с лицензией старого типа:

  • R-Keeper модуль Касса Win RK6 ПО
  • R-Keeper модуль Касса RK6 ПО
  • R-Keeper модуль Официант RK6 ПО
  • R-Keeper модуль Официант WIN RK6 ПО

Подробно механизм лицензирования описан в документе "Система лицензирования l.ucs.ru (License server v4)", раздел "11.2.1 Порядок обновления R-Keeper модуль Касса RK6 ПО на R-Keeper модуль Электронный чек для Кассы ПО"  (прямая ссылка http://support.ucs.ru/ru/node/7161#header-40)

 

Обновление и настройка менеджерской части

Обновление менеджерской части выполняется стандартным образом.

DEALRK.EXE

Важно:  Название ресторана должно содержать не менее 10 символов.

Для корректной работы кассовой части 6.111 и выше необходимо ввести название ресторана на закладке [System.SB]:

 

Важно:  Параметры сохраняются в файле SYSTEM.DB, который находится в каталоге рабочей менеджерской БД 

 

Редактор (E_REST32.EXE)

В параметрах кассовых станций ([Списки] ⇒ [Станции] ⇒ [Параметры]) необходимо установить параметр "Порядок обработки параметров системы" (IniType) в значение "приоритет файловых назначений":

 

 

Обновление и настройка кассовой части

Обновление кассовой части выполняется стандартным образом.

При настройке кассового сервера необходимо скопировать из каталога рабочей менеджерской БД (как правило, \DB)  сохраненный ранее файл SYSTEM.DB в рабочий каталог DATABASE кассового сервера.

 

Особенности обновленной кассовой версии

  • В окне регистрации теперь отображается код ресторана и название ресторана из SYSTEM.DB:

 

Важно: Название ресторана должно совпадать с зарегистрированным наименованием в системе лицензирования (l.ucs.ru)

 

  • В окне лицензирования добавилась информация с названием ресторана:

 

  • При формировании лицензии в системе l.ucs.ru будет отображен номер юнита (N) и номер фискального регистратора (поле "Комментарий").

Если номер фискального регистратора равен нулю (FR:0), то сформированная лицензия будет нефискальной для новых фискальных регистраторов - старые ФР с такой лицензией работать будут:

 

  • Для новой версии кассы можно получить нефискальную лицензию для новых ФР с поддержкой 54-ФЗ (для действующего объекта такая конфигурации лишена смыла)

Для получения нефискальной лицензии для новых ФР необходимо получить запрос на лицензию на кассе с отключенным ФР. 

При вводе такого запроса система лицензирования распознает отсутствие настроек в RK6 для ФР и генерирует лицензию для ФР с номером 0.

 

Работа с чеком

Оплата заказа производится стандартным образом, при этом на фискальном регистраторе распечатывается чек нового образца

Для отправки электронного варианта чека покупателю на e-mail или мобильный телефон на цифровой клавиатуре предусмотрена кнопка [E-mail]:

 

Важно: На клавиатурной кассе для вызова окна отправки электронного чека используется комбинация клавиш Alt+Ввод (после нажатия кнопки "Оплата")

            Для перемещения между полями используются клавиши со "стрелками".

 

После нажатия кнопки [E-mail] отображается окно для ввода электронного адрес или номер мобильного телефона:

 

Важно: Если электронный адрес или мобильный телефон не указаны, электронный вариант чека не будет отправлен покупателю.

После ввода необходимых данных нажмите кнопку   ([ВВОД]) - фокус переместиться к опции [НЕ ПЕЧАТАТЬ], повторное нажатие кнопки [ВВОД] активизирует опцию  [НЕ ПЕЧАТАТЬ] (появится розовая индикация).

Примечание: Если необходимо отправить только электронный чек без печати фискального чека, активируйте опцию [НЕ ПЕЧАТАТЬ]

Для перехода в окно оплаты нажмите еще раз кнопку  [ВВОД] и оформите оплату.

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

Адрес отправки электронного чека будет указан в чеке в поле «Адрес покупателя», чек будет отправлен в формате PDF.

Важно: Если в контактах покупателя будет указан и адрес электронной почты и номер мобильного телефона, электронный чек будет отправлен только на мобильный телефон.

 

Работа с ФР

АТОЛ

  • DOS-касса + DOS-сервер - ОК!
  • DOS-касса + WIN-сервер - ОK!
  • WIN-касса + DOS-сервер - очень редкая конфигурация, не тестировалась, не рекомендуется к применению
  • WIN-касса + WIN-сервер - ОK!

Драйвер для подключения ФР с поддержкой обновленного протокола АТОЛ (54-ФЗ) - ftp://ftp.ucs.ru/r-keeper/versions/FISC_PRT/54-FZ/ATOL

Для подключения ФР АТОЛ не требуется дополнительного программного-аппаратного обеспечения от производителя.

 

СПАРК

  • DOS-касса + DOS-сервер – ОK! 
  • DOS-касса + WIN-сервер - ОK! Но с текущей версией модуля СПАРК R60-S регулярно теряется связь с ФР. Проблема в модуле СПАРК R60-S.
  • WIN-касса + DOS-серверочень редкая конфигурация, не тестировалась, не рекомендуется к применению
  • WIN-касса + WIN-сервер – Ок! C текущей версией sparksrv.exe периодически теряется связь с ФР (проблема в сервере СПАРКА sparksrv.exe).

 

Драйвер для подключения ФР с поддержкой обновленного протокола СПАРК (54-ФЗ) - ftp://ftp.ucs.ru/r-keeper/versions/FISC_PRT/54-FZ/SPARK

Для подключения ФР СПАРК к DOS-кассе требуется программно-аппаратный модуль SPARK-R60-S

Примечание: На момент тестирования наблюдались регулярные проблемы в работе модуля SPARK-R60-S  (потеря связи с ФР )

Для подключения в WIndows-среде (WIN-сервер) требуется программный модуль sparksrv.exe.

Примечание: На момент тестирования наблюдались регулярные проблемы в работе модуля sparksrv.exe (потеря связи с ФР )

Важно: Для получения программно-аппартаных модулей необходимо обращаться к производителю.

 

ШТРИХ

  • DOS-касса + DOS-сервер – ОK!
  • DOS-касса + WIN-сервер - ОK!
  • WIN-касса + DOS-сервер - очень редкая конфигурация, не тестировалась, не рекомендуется к применению
  • WIN-касса + WIN-сервер - ОK!

Драйвер для подключения ФР с поддержкой обновленного протокола ШТРИХ - ftp://ftp.ucs.ru/r-keeper/versions/FISC_PRT/54-FZ/SHTRIH

Для подключения ФР ШТРИХ не требуется дополнительного программного-аппаратного обеспечения от производителя.

 

Особенности работы со старыми ФР

Версия кассы 6.111 и выше может работать со старыми моделями ФР:

  • если для кассы ранее была сгенерирована лицензия для нового ФР, можно подключить старый ФР, который будет работать в фискальном режиме
  • если для кассы отсутствует лицензия и подключен старый ФР, то при генерации лицензии номер ФР распознан не будет и будет сгенерирована лицензия для ФР с номером 0 - с такой лицензией старый ФР будет работать в фискальном режиме.

 

Для получения фискальной лицензии для старых ФР необходимо получить запрос на лицензию при подключенном к кассе старом ФР -  при вводе такого запроса в систему лицензирования, она распознает отсутствие нового фискальника и сгенерирует лицензию для фискального регистратора с номером 0. 

 

Подключение фискального регистратора к кассовой станции RK6

 

Основная информация

  • Любой фискальный регистратор (ФР) подключается к персональному компьютеру (POS-терминалу, станции) через последовательный интерфейс RS-232 (COM-порт), при  помощи интерфейсного кабеля, входящего в комплект.
  • На терминале должна быть установлена ОС из семейства DOS или Windows и кассовое програмное обеспечение r-keeper 6.
  • В кассовой части R-Keeper поддержка ФР реализована при помощи библиотек и настроек в RKEEPER6.INI. Для ФР без ЭКЛЗ используется библиотека FISCSUP.DLL (для каждой модели ФР используется своя библиотека), для ФР с ЭКЛЗ используется своя именнованная библиотека (ftp://.../r-keeper/versions/FISC_PRT/).
  • Для добавления на кассе дополнительных функций по работе с ФР используется библиотека MENUEXT.DLL (находится в KACCA\STATIONS\MENUEXT). Библиотека добавляет на кассе в режиме менеджера дополнительный пункт меню "Функции фискального регистратора", в котором доступны основные операции по работе с ФР - "Х-Отчет", "Z-отчет", "Служебное внесение/изъятие" и т.д. Примечание: библиотеку MENUEXT.DLL необходимо скопировать в корень рабочей директории rkclient.

 Важно! с версии кассы 6.91 меню фискального регистратора внесено в ядро системы, так что необходимость в MENUEXT.DLL отпала. Но, для очень давно созданных, а потому не совместимых библиотек поддержки ФР можно этот MENUEXT.DLL, только дополнительно, на кассе в RKEEPER6.INI необходимо будет прописать параметр:  OldFprnMenu=ON.

  • Краткое описание по настройке ФР находятся в дистрибутиве, в директории с драйвером (библиотекой) ФР.

Важно! При подключении фискальных регистраторов на кассе не должно быть настройки NeedRePrintCroll = ON. Так же, обязательно надо уточнить у заказчика, как настраивать виды оплат для регистратора (FRPay1, FRPay2 и т.д.).

Дополнительно, в rkeeper6.ini можно использовать параметры:

InternalZ = ON,OFF - печатать - не печатать Z отчет R-Keeper.
PrintFinalCheck = OFF - отменяет печать чека оплаты r-keeper-а, печатается чек оплаты только на регистраторе. 

Для того, чтобы при оплате печаталась только форма регистратора, необходимо через FEDITOR.EXE очистить форму FICHECK.FRM (убрать все строчки из нее).

Для подключения принтеров с ЭКЛЗ надо добавить настройку:

EKLZPrinter = название DLL для регистратора с ЭКЛЗ. 

Пример:

EKLZPrinter=shfrk.dll 

Для поддержки функций фискального регистратора через кассу (X-отчет, Z-отчет, внесение/изъятие денег и т.д.), существует бибилиотека - MENUEXT.DLL (в дистрибутиве KACCA\STATIONS\MENUEXT\MENUEXT.DLL). Эта бибилиотека является универсальной для всех типов фискальных регистраторов и должна находится в корне рабочего каталога RKCLIENT. Для доступа к функциям ФР на кассе (пункт меню "Функции фискального регистратора") необходимо в свойствах менеджера в приложении "Редактор" указать право "Дополнительное программное меню" (см. Рис.1 "Настройка прав менеджера")

Важно! Фискальные регистраторы с ЭКЛЗ поддерживаются кассовой версией R-Keeper v6  не ниже 6.60с.

Перечень основных ФР поддержанных в RK6
№ п.п. Модель ФР Расположение драйверов DOS-касса Win-касса Нефиск. печать ЭКЛЗ
1 ШТРИХ-ФР-Ф по запросу + - + -
2 ШТРИХ-ФР-К ftp://ftp.ucs.ru/r-keeper/versions/FISC_PRT/SHTRIH.FRK/ + + + +
3 ПРИМ–08ТК ftp://ftp.ucs.ru/r-keeper/versions/FISC_PRT/PRIM-08/ + + + +
4 СПАРК-617ТФ по запросу + - + +
5 СПАРК-617ТК ftp://ftp.ucs.ru/r-keeper/versions/FISC_PRT/SPARK.TK/ + + + +
6 МЕРКУРИЙ 114.1 Ф ПО 2.0 по запросу + - + -
7 МЕРКУРИЙ MS-K ftp://ftp.ucs.ru/r-keeper/versions/FISC_PRT/MERKURY.MSK + + + +
8 MSTAR-Ф 01 ПО 3.0 KACCA\STATIONS\DEVICES\FPRINTER.DLL\MSTAR-F\01\FPRINTER.DLL + - + -
9 MSTAR-Ф 02 ПО 3.0 KACCA\STATIONS\DEVICES\FPRINTER.DLL\MSTAR-F\02\FPRINTER.DLL + - + -
10 ЭЛВЕС ПО 2.1 (МИНИ) KACCA\STATIONS\DEVICES\FPRINTER.DLL\ELVES\FPRINTER.DLL + - н.д. -
11 ЭЛВЕС-МИКРО-Ф KACCA\STATIONS\DEVICES\FPRINTER.DLL\ELVES\FPRINTER.DLL + - + -
12 ЭЛВЕС-ФР-К ftp://ftp.ucs.ru/r-keeper/versions/FISC_PRT/SHTRIH.FRK/ + + н.д. +
13 ФЕЛИКС-Р Ф KACCA\STATIONS\DEVICES\FPRINTER.DLL\ELVES\PROT22\FPRINTER.DLL + - н.д. -
14 ФЕЛИКС 02К (ЭЛВЕС ПО 2.4) KACCA\STATIONS\DEVICES\FPRINTER.DLL\ELVES24\ELVES24.DLL + + н.д. +
15 Retail-01K (SHFRK.DLL) ftp://ftp.ucs.ru/r-keeper/versions/FISC_PRT/SHTRIH.FRK/ + + + +
16 Старт-200К ftp://ftp.ucs.ru/r-keeper/versions/FISC_PRT/PRIM-08/ + + + +

 

Примечание: таблица может быть не полной так как информация по поддержанным ФР постоянно пополняется. Так же, в ней отсутствует информация о фискальных регистраторах используемых нашими зарубежными коллегами, так как настройки могут быть очень специфичными и как правило, описываются отдельно.

Параметры rkeeper6.ini при подключении ФР

Ниже описаны параметры конфигурационного файла RKEEPER6.INI необходимые для работы ФР.

ШТРИХ-ФР-Ф

Пример параметров для ФР в rkeeper6.ini:

FiscRegCom=1       - Номер порта, в которой подключен ФР. Можно указывать адрес порта, например $2E8 (полезно, если порт нестандартный)
FiscRegIRQ=4        - Если COM-порт нестандартный, нужно указать его прерывание
FRCheckPsw=1       - Пароль кассира на оформление чека
FRRepPsw=30        - Пароль на печать отчетов
FRPrint=0          - Указывавет режим печати нефискальной печати: 0 - печать только на чековой ленте. 1- печать на обеих лентах (чековая+контрольная)
FRReprint=0        - Указывает режим перепечатки ленты: 0 - печать на обоих лентах. 1- печать на контрольной ленте. 2 - печать на чековой ленте. 3 - не печатать
FRPay1=1           - Как оформить чек, оплаченный "Наличными": 0 - не делать чек. 1..4  - используется соотв. номер вида оплаты из ФР.
FRPay2=2           - Как оформить чек, оплаченный "Кредитной картой". Значения аналогичны FRPay1.
FRPay3=3           - Как оформить чек, оплаченный на "Неплательщика". Значения аналогичны FRPay1.
FRPay4=4           - Как оформить чек, оплаченный на "Безналичные". Значения аналогичны FRPay1.
FRLog=OFF          - Создавать (ON) или нет (OFF) подробный лог работы. Размер лог-файла ограничен 10Мб, после чего он обнуляется.

Примечание: Если библиотека FPRINTER.DLL переименована, то к параметру спереди добавляется ее имя и знак подчеркивания. Например, ее переименовали в FP1.DLL, тогда параметр FiscRegCom должен быть указан, как FP1_FiscRegCom=1

Примечание: Если значение COM-порта больше 4, то берет настройку ComXPort, где X - номер порта.

ШТРИХ-ФР-К

EklzPrinter=shfrk.dll
Shfrk_Port=1       - Номер порта, в которой подключен ФР. Можно указывать адрес порта, например $2E8 (полезно, если порт нестандартный)
Shfrk_IRQ=4        - Номер прерывания (чаще используется, если порт не стандартный)
Shfrk_CheckPsw=1   - Пароль режима чека
Shfrk_RepPsw=30    - Пароль режима отчетов
Shfrk_Print=1      - Как печатать не фискальную информацию: 0 - только на чековой ленте, 1 - на обоих лентах
Shfrk_Pay1=1       - Как оформить чек, оплаченный Наличными: 1-4 - номер вида оплаты в ФР, 0 - не делать чек
Shfrk_Pay2=2       - Как оформить чек, оплаченный Кредитной картой: 1-4 - номер вида оплаты в ФР, 0 - не делать чек
Shfrk_Pay3=3       - Как оформить чек, закрытый на Неплательщика: 1-4 - номер вида оплаты в ФР, 0 - не делать чек
Shfrk_Pay4=4       - Как оформить чек, закрытый на Безналичные: 1-4 - номер вида оплаты в ФР, 0 - не делать чек
Shfrk_LineSize=40  - Кол-во символов, которые помещаются в строке печати (для возможности печати на аппаратах с узкой и широкой лентой)
Shfrk_OneLine=OFF  - Оформить все блюда одной строкой (ON). Может использоваться для оплаты бизнес-ланчей, где перечень блюд в чеке не является актуальным или обязательным 

Важно! Использование  параметра Shfrk_OneLine=ON не совместимо  с распределением по отделам (Shfrk_Otd2 ... Shfrk_Otd16).

Shfrk_OneName=OFF    - Название блюда для печати в чеке при использовании параметра
Shfrk_RosInter=OFF   - На предприятиях сети Росинтер устанавливать в ON
Shfrk_ZeroCheck=ON   - Печатать (ON) или нет (OFF) чеки с нулевой итоговой суммой
Shfrk_Otd2=2,5,7     - Идентификаторы (sifr) категорий блюд для отдела 2. Значения указываются через запятую
Shfrk_Otd16=4,8      - Идентификаторы (sifr) категорий блюд для отдела 16. Значения указываются через запятую
Shfrk_Log=OFF        - Создавать (ON) или нет (OFF) подробный лог работы ФР
Shfrk_CmbPfx =text   - где "text" - будет напечатан перед названием комбо-компонентов (в DOS-кодировке).
Shfrk_Vat=On         - указывать НДС блюд
Shfrk_LogoSize=0     - Сколько линий печатать из графического логотипа. 0 - не печатать
Shfrk_Klbz=OFF       - печатать контрольную ленту перед Z-отчетом. OFF - нет
Shfrk_Cents=ON       - все суммы  в копейках. OFF - в рублях

ПРИМ-08ТК

EklzPrinter=PRIM08.DLL
Prim08_Port=1        - Номер порта, к которому подключен ФР
Prim08_IRQ=4         - Указывается, если используется не стандартный порт
Prim08_Psw=AERF      - Пароль управления ФР
Prim08_Pay1=1        - Как оформить чек, оплаченный Наличными: 1-4 - номер вида оплаты в ФР, 0 - не делать чек
Prim08_Pay2=2        - Как оформить чек, оплаченный Кредитной картой: 1-4 - номер вида оплаты в ФР, 0 - не делать чек
Prim08_Pay3=3        - Как оформить чек, закрытый на Неплательщика: 1-4 - номер вида оплаты в ФР, 0 - не делать чек
Prim08_Pay4=4        - Как оформить чек, закрытый на Безналичные: 1-4 - номер вида оплаты в ФР, 0 - не делать чек
Prim08_Log=ON        - Писать ли подробный лог ФР: ON - писать, OFF - не писать
Prim08_OneLine=OFF   - Все блюда оформить одной строкой: ON - да, OFF - нет
Prim08_OneName=      - Название для блюда при активном параметре OneLine = ON
Prim08_AltName=OFF   - Использовать второе название блюда: ON - да, OFF - нет
Prim08_DiscInc=OFF   - Если ON, то печатать цену блюд с учетом скидки\
Prim08_Price0=OFF    - Если ON, то печатать блюда с нулевой ценой

СПАРК-617ТФ

FiscRegCom=1         - Номер порта, к которому подключен ФР
FiscRegIRQ=4         - Указывается, если используется не стандартный порт
FRPsw=000000         - Пароль управления ФР
FRCashier=11111      - Пароль кассира
FRPay1=8          - Как оформить чек, оплаченный Наличными: 1-8 - номер вида оплаты в ФР, 0 - не делать чек
FRPay2=2          - Как оформить чек, оплаченный Кредитной картой: 1-8 - номер вида оплаты в ФР, 0 - не делать чек
FRPay3=6          - Как оформить чек, закрытый на Неплательщика: 1-8 - номер вида оплаты в ФР, 0 - не делать чек
FRPay4=5          - Как оформить чек, закрытый на Безналичные: 1-8 - номер вида оплаты в ФР, 0 - не делать чек

Примечание: Поддержка нефискальной печати для ФР СПАРК-617ТК появилась с версии драйвера 1.10.

Примечание: FRFULL=ON - Позволяет перепечатку электронного журнала. CrollToFprinter = ON - не надо.

СПАРК-617ТК

EklzPrinter=SPARKTK.DLL 
SPARKTK_Port=1          - Номер порта, к которому подключен ФР
SPARKTK _IRQ=4          - Указывается, если используется не стандартный порт
SPARKTK_Psw=111111      - Пароль управления ФР
SPARKTK_Cashier=11111   - Пароль кассира
SPARKTK_Pay1=8          - Как оформить чек, оплаченный Наличными: 1-8 - номер вида оплаты в ФР, 0 - не делать чек
SPARKTK_Pay2=2          - Как оформить чек, оплаченный Кредитной картой: 1-8 - номер вида оплаты в ФР, 0 - не делать чек
SPARKTK_Pay3=6          - Как оформить чек, закрытый на Неплательщика: 1-8 - номер вида оплаты в ФР, 0 - не делать чек
SPARKTK_Pay4=5          - Как оформить чек, закрытый на Безналичные: 1-8 - номер вида оплаты в ФР, 0 - не делать чек
SPARKTK_Log =           - Писать ли подробный лог ФР: ON - писать, OFF - не писать

Примечание: Для оформления оплаты по кредитным картам надо использовать 2ой номер вида оплаты в ФР.

МЕРКУРИЙ 114.1 Ф

FiscRegCom=1            - Номер порта, к которому подключен ФР
FiscRegIRQ=4            - Указывается, если используется не стандартный порт
FRPsw=0000              - Пароль управления ФР
FRPay1=1             - Как оформить чек, оплаченный Наличными: 1-4 - номер вида оплаты в ФР, 0 - не делать чек
FRPay2=2             - Как оформить чек, оплаченный Кредитной картой: 1-4 - номер вида оплаты в ФР, 0 - не делать чек
FRPay3=3             - Как оформить чек, закрытый на Неплательщика: 1-4 - номер вида оплаты в ФР, 0 - не делать чек 
FRPay4=4             - Как оформить чек, закрытый на Безналичные: 1-4 - номер вида оплаты в ФР, 0 - не делать чек

МЕРКУРИЙ MS-K

EklzPrinter=MMSK.DLL
Mmsk_Port=1            - Номер порта, к которому подключен ФР
Mmsk_IRQ=4             - Указывается, если используется не стандартный порт
Mmsk_Psw=0000          - Пароль управления ФР
Mmsk_Pay1=1         - Оформление чека оплаченного на "Наличные"
Mmsk_Pay2=2         - Как оформить чек, оплаченный Кредитной картой: 1-4 - номер вида оплаты в ФР, 0 - не делать чек
Mmsk_Pay3=3         - Как оформить чек, закрытый на Неплательщика: 1-4 - номер вида оплаты в ФР, 0 - не делать чек
Mmsk_Pay4=4         - Как оформить чек, закрытый на Безналичные: 1 - 4 - номер вида оплаты в ФР, 0 - не делать чек
Mmsk_Crnc=3062,2    - Индивидуальная настройка одной вылюты вида: КОД, ТИП. Например, настройка 3062,2 - означает, что валюту с кодом 3062 оформлять как тип "Кредитная карта"

Важно! Драйвер для данного ФР не поддерживает режимы, отличные от 1, при оплате "Наличными". 

MSTAR-Ф 01 ПО 3.0

FiscRegCom=1          - Номер порта, к которому подключен ФР
FiscRegIRQ=4          - Указывается, если используется не стандартный порт
FRPsw=0000            - Пароль управления ФР
FRPay1=1            - Как оформить чек, оплаченный "Наличными": 1-4 - номер вида оплаты в ФР, 0 - не делать чек
FRPay2=2            - Как оформить чек, оплаченный "Кредитной картой": 1-4 - номер вида оплаты в ФР, 0 - не делать чек
FRPay3=3            - Как оформить чек, закрытый на "Неплательщика": 1-4 - номер вида оплаты в ФР, 0 - не делать чек
FRPay4=4            - Как оформить чек, закрытый на "Безналичные": 1-4 - номер вида оплаты в ФР, 0 - не делать чек

MSTAR-Ф 02 ПО 4.0

FiscRegCom=1          - Номер порта, к которому подключен ФР
FiscRegIRQ=4          - Указывается, если используется не стандартный порт
FRPsw=0000            - Пароль управления ФР
FRPay1=1            - Как оформить чек, оплаченный Наличными: 1-4 - номер вида оплаты в ФР, 0 - не делать чек
FRPay1=2            - Как оформить чек, оплаченный Кредитной картой: 1-4 - номер вида оплаты в ФР, 0 - не делать чек
FRPay1=3            - Как оформить чек, закрытый на Неплательщика: 1-4 - номер вида оплаты в ФР, 0 - не делать чек
FRPay1=4            - Как оформить чек, закрытый на Безналичные: 1-4 - номер вида оплаты в ФР, 0 - не делать чек

ЭЛВЕС-МИКРО-Ф 

Драйвер FPRINTER.DLL необходимо брать  для версии протокола обмена - 2.2. Из кассового дистрибутива старых версий (например 6.75) из каталога - \FPRINTER.DLL\ELVES\PROT22 

FiscRegCom=1          - Номер порта, к которому подключен ФР
FiscRegIRQ=4          - Указывается, если используется не стандартный порт
FiscRegBaud=4800      - Скорость обмена
FRCheckPsw=1          - Пароль режима чека
FRRepPsw=29           - Пароль режима отчетов
FRCode=0            - Код доступа до 4 -х цифр
FRMaxLine=40        - Максимальная длина строки (для ФЕЛИКС - РФ FRMaxLine = 20 )
FRPay1=1            - Как оформить чек, оплаченный Наличными: 1 - 4 - номер вида оплаты в ФР, 0 - не делать чек
FRPay2=2            - Как оформить чек, оплаченный Кредитной картой: 1 - 4 - номер вида оплаты в ФР, 0 - не делать чек
FRPay3=3            - Как оформить чек, закрытый на Неплательщика: 1 - 4 - номер вида оплаты в ФР, 0 - не делать чек
FRPay4=4            - Как оформить чек, закрытый на Безналичные: 1 - 4 - номер вида оплаты в ФР, 0 - не делать чек

ЭЛВЕС-МИНИ ФР-Ф

Драйвер FPRINTER.DLL необходимо брать  для версии протокола обмена - 2.1 из кассового дистрибутива старых версий (например 6.75) из корня каталога \FPRINTER.DLL\ELVES

FiscRegCom=1          - Номер порта, к которому подключен ФР
FiscRegIRQ=4          - Указывается, если используется не стандартный порт
FiscRegBaud=4800      - Скорость обмена
FRCheckPsw=1          - Пароль режима чека
FRRepPsw=29           - Пароль режима отчетов
FRPay1=ON           - Как оформить чек, оплаченный Наличными
FRPay2=ON           - Как оформить чек, оплаченный Кредитной картой.
FRPay3=ON           - Как оформить чек, оплаченный на Неплательщика.
FRPay4=ON           - Как оформить чек, оплаченный на Безналичные.

Важно! Закрытие дня может длиться достаточно долго, надо ждать и кассу не выключать.

ЭЛВЕС-ФР-К

Устанавливается так же как ШТРИХ-ФР-К. Используется та же - shfrk.dll.

ФЕЛИКС - РФ

Использовать настройки протокола 2.2 (см. выше - ЭЛВЕС-МИКРО-Ф)

Настройки в Менеджерской Rk6 (E-Rest32.exe)

Важно! На тех регистраторах, которые поддерживают нефискальную печать, можно печатать предчеки, отчеты  и сервис чеки. Вся печать работает ТОЛЬКО ЛОКАЛЬНО, т.е. станция печатает сама на себя. Настроить печать через сервер НЕЛЬЗЯ.

В настройках печати для всех регистраторов (которые поддерживают нефискальную печать) указываются следующие параметры:

  • обязательно - "Локально"
  • Имя порта FPRT нельзя выбрать из списка, его там нет, но можно прописать вручную.
  • Устройство - CITIZEN

Для тех ФР, которые не поддерживают нефискальную печать (см. таблицу) в настройках принтеров для кассы, ставим "чековый принтер", и "принтер отчетов" - отсутствует.

Для тех станций, которые поддерживают нефискальную печать, придется еще, и отредактировать печатные формы на предмет количества символов в строке. Например: для ШТРИХ - ов количество символов в строке = 36.

Важно! Фискальный регистратор, поставленный на учет, НЕЛЬЗЯ перевести в нефискальный режим. Для обеспечения возможности тренировочной работы на станции, необходимо закомментировать настройку касающиеся регистратора в RKEEPER6.INI (:EKLZPrinter = SHFrk.DLL) и в качестве чекового/отчетного принтера указать любой имеющийся принтер (если нет обычного принтера, то настроить программу без оформления чеков). Если это регистратор который работает через FPRINTER.DLL, то необходимо или переименовать этот файл, или убрать его из каталога кассовой программы.

 

 

 

Подключение нескольких фискальных регистраторов к кассе

 

Общая иформация

Важно! для начала рекомендуется ознакомиться с основной статьей по подключению фискальных регистраторов к кассе - http://support.ucs.ru/ru/node/284

В кассовой системе R-Keepr v6 есть возможность подключения нескольких фискальных регистраторов (ФР) к одной станции.

Максимальное количество подключаемых ФР- четыре, при чем регистраторы могут быть разных типов.

Примечание:  такой вариант подключения поддерживают только ФР с установленнным ЭКЛЗ

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

Настройка кассы

На станции, к которой подключаются регистраторы, надо сделать следующие настройки:

  • Библиотеки (драйвера), используемые для подключения регистраторов, должны быть переименованы в  FP1.DLL ... FP4.DLL ( например, SHFRK.DLL переименовывается в FP1.DLL, а PRIM08TK.DLL в FP2.DLL).
  • В RKEEPER6.INI прописываем EKLZPrinter=FRMC.DLL
  • В RKEEPER6.INI для каждого регистратора делаются свои собственные настройки, только в параметрах используется имя переименованной DLL – ки.
  • Далее, сделать настройки для привязки регистраторов к блюдам:
FRMC_C1 = 1-9999 Коды блюд, оформляемых через драйвер FP1.DLL 
Перечислять через запятую, диапазоны – через тире. Например: = 3, 5, 9-14, 17, 34-899, 3000-4999
FRMC_C2= Коды блюд, оформляемых через драйвер FP2.DLL
FRMC_C3= Коды блюд, оформляемых через драйвер FP3.DLL
FRMC_C4= Коды блюд, оформляемых через драйвер FP4.DLL
FRMC_Log=ON вести лог–файл или нет
  • В RKEEPER6.INI прописать общую настройку
PrintFinalCheck=OFF   - для печати только фискальных чеков

Пример настройки RKEEPER6.INI для работы с двумя ФР

PrintFinalCheck=OFF     - Параметр должен быть "OFF" - так как ФР печатает свой чек. Этот параметр отключает печать чеков с помощью R-Keeper
EklzPrinter=FRMC.DLL    - Подключение библиотеки позволяющей работать с несколькими ФР

FP1_Port=1              - Настройка ФР №1. В данном случае, на примере  - ПРИМ-08ТК.
FP1_Psw=AERF
FP1_Pay1=1 
FP1_Pay2=2 
FP1_Pay3=3 
FP1_Pay4=4 
FP1_Log=ON 

FP2_Port=2             - Настройка второго ФР. В данном случае -  Штрих ФР-К.
FP2_CheckPsw=1 
FP2_RepPsw=30
FP2_Print=0
FP2_Reprint=0
FP2_Pay1=1
FP2_Pay2=2
FP2_Pay3=3
FP2_Pay4=4
FP2_Log=ON

FRMC_C1= 1-4000      - Настройка кодов товаров, которые будут оформляться на первом ФР
FRMC_C2= 4001-999    - Аналогичная настройка для товаров, оформляемых через второй ФР
FRMC_0=1             -  Номер аппарата для блюд без кода (тарификация): 1..4
FRMC_Log=ON          - Вести лог-файл (ON) или нет

 

  • При операции внесение/изяътие денег  касса запросит, на каком из ФР выполнить.
  • Нефискальная печать идеть только на первый ФР.
  • Нельзя использовать скидку на оплату.

Настройки в Менеджерской Rk6 (E_Rest32.exe)

Как уже говорилось, не фискальная печать может выводиться только на первый аппарат. Следовательно, настройки делаются также, как и при работе с одним регистратором.

 

Настройка и подключение принтеров с Ethernet-интерфейсом компании UCS

 

Основная информация

Для некоторых моделей принтеров  (на данный момент поддерживаются модели Sprint TM200, Star 600-х и 700-х серий (см. примечание), Epson TM-88IV) разработан ethernet-интерфейс, который заменяет плату стандартного интерфейса RS232.

Важно: Данная статья не относиться к настройке произвольных принтеров со стандартными Ethernet-интерфейсами, а предназначена только для Ethernet-интерфейсов, разрабатываемых компанией UCS.

 

Преимущества использования

  • Главная проблема RS232 - гальваническая неразвязанность рабочей станции и принтера с вытекающими  жесткими требованиями по заземлению и нередко сгоревшие интерфейсные платы, а иногда и дорогостоящие материнские платы рабочей станции
  • Удобство разводки - единая разводка локальной сети без привязки принтеров к конкретным рабочим станциям. Ethernet предоставляет пакетный способ передачи - соответсвенно на одном кабеле после свича можно подключить десятки принтеров. Легко добавить новый принтер, так как "ответвление" можно сделать в гораздо большем количестве мест
  • Решение проблемы с постоянной нехваткой последовательных портов - часто приходится устанавливать платы расширеня
  • Для управления Ethernet принтером в нестандандартных условиях можно применять все многообразие устройств, разработанных для Ethernet - например,  беспроводные точки доступа

 

Реализация поддержки

Важно! Начиная с кассовой версии 6.82a и менеджерской 6.85.B поддержка ethernet-принтеров встроена в кассовый сервер. 

Ограничений по кол-ву управляемых принтеров нет, также появилась возможность использовать ethernet-принтер в качестве чекового и отчетного.

Для кассовых версий ниже 6.82a программная поддержка реализована в виде библиотеки MPLEX.DLL для кассового клиента, которая позволяет управлять максимально 16-ю принтерами с одной рабочей станции. Данная библиотека реализована для совместимости со всеми версиями кассовой программы.

 

Изменение параметров интерфейса

При включении принтера с установленным ethernet-интерфейсом происходит печать (если установлена бумага) служебной информации в следующем виде:

IP: 172.31.32.139
MASK: 255.255.0.0
MAC: 00-47-4B-00-20-8B 

Эти информация определяет текущие параметры интерфейса. Как правило, при изготовлении интерфейсы программируются на разные IP-адрес (всего возможно 255 значения, после чего адреса повторяются), но возможна ситуация, когда все интерфейсы имеют одинаковый адрес.

Для изменения адреса интерфейса используется утилита gk3Tools (не ниже версии 3.0.7.014  ftp://ftp.ucs.ru/r-keeper/Tools/GK3TOOLS/gk3Tools.rar) - процедура изменения IP-адреса такая же, как и для других Ethernet- устройств производства компании UCS и описана в документе http://support.ucs.ru/ru/node/8393

Важно: Кассовая станция должна иметь IP-адрес из той же подсети, что и интерфейсные платы. 

Примечание: Первые партии интерфейсных плат не имели возможности печати сервисной информации при включении. В таком случае, для определения текущего адреса интерфейса необходимо воспользоваться утилитой gk3NetMonitor ftp://ftp.ucs.ru/r-keeper/Tools/GK3TOOLS/gk3Tools.rar

 

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

Менеджерская версии 6.85.B и выше

Для настройки ethernet-принтера в качестве отчетного и/или чекового необходимо:

  • в менеджерской перейти в меню "Списки" ⇒ "Станции", выбрать в списке требуемую станцию
  • открыть свойства станции и выбрать закладку "Принтеры"
  • установить тип принтера "Через сервер"
  • в поле "Станция" указать IP-адрес принтера
  • в поле "Порт" можно указать любое значение (в данном случае не имеет значения)
  • указать соотв. модель принтера

Рис. Настройка ethernet-принтера в качестве чекового/отчетного

 

Для настройки Ethernet-принтера в качестве сервис-принтера необходимо:

  • в менеджерской перейти в меню "Списки" ⇒ "Сервис-принтеры", добавить новый или выбрать из списка существующий принтер
  • в поле "Аппарат" выбрать соотв. модель принтера
  • в разделе "Печать" выбрать опцию "На ethernet-принтер" и в поле "IP-адрес" ввести IP-адрес принтера

Рис. Настройка ethernet-принтера в качестве сервис-принтера

 

Менеджерская версии ниже 6.85

В менеджерском приложении "Редактор" создайте необходимое кол-во сервис-принтеров. В конфигурации принтера укажите модель - поддерживаются модели Star 600-й и 700-й серии (драйвер Star Roll), Epson TM-88IV (драйвер Epson TM-88III)  и Sprint TM200 (драйвер TM200), печать "Через сервер", сетевое имя станции, которая будет управлять принтерами. Далее укажите порт от COM1 до COM4, отметьте флажок "Через мультиплексор" и выберите порт мультиплексора (от 1 до 4)

Важно: В данном случае значение поля порт (COM1 .. COM4) не относится к физическим портам, а определяет (совместно со значением порта мультиплексора) только параметры конкретного принтера. 

Таким образом, одна станция  может управлять 4х4 = 16 принтерами, как было отмечено выше.

 

Настройка межсерверной печати

Начиная с кассовой версии 6.83G, возможна межсерверная печать на ethernet сервис-принтера.

Для этого необходимо создать сервис-принтер с типом печати "Через другой сервер", в поле "Станция" вместо имени станции (юнита) в квадратных скобках указать идентификатор основного принтера (настроенного как "На ethernet-принтер") , поле "Порт" не имеет значения.

Примечание: Идентифкикатор принтера отображается в окне свойств принтера в верхнем правом углу в виде числа белого цвета и на некоторых моделях мониторов может читаться с трудом.

Также в версии 6.83G появилась возможность печати кассовых отчетов на ethernet-принтера "Через другой сервер". Для этого в настройках принтера отчетов нужно указать тип печати "Через сервер", а в поле "Станция" вместо имени станции (юнита) написать имя "принимающего" сервера, далее символ "\" (обратный слэш) и за ним в квадратных скобках номер из закладки принтера - например, RLSERV\[15], поле "Порт" не имеет значения.

 

Настройка кассовой части

На кассовой станции должен быть установлен сетевой протокол TCP/IP - описание возможных вариантов см. в документе http://support.ucs.ru/ru/node/241

Также необходимо проверить, чтобы в директории RKCLIENT присутствовала библиотека THREAD.DLL. 

 

Замечания для Microsoft Network Client version 3.0

Важно: При использовании на кассовой станции сетевого клиента Microsoft Network Client для взаимодействия с ethernet-устройствами должна быть запущена поддержка сокетов (sockets.exe)

 

Для поддержки сокетов на кассовой станции необходимо:

  • в файле AUTOEXEC.BAT вставить команду SOCKETS.EXE: 
...................
C:\NET\net start
C:\NET\sockets.exe
...................
  • в файле NET\TCPUTILS.INI прописать параметр hostname (раздел [tcpglobal]):
.............
[tcpglobal]
drivername=GLOBAL$
hostname=UNIT
.............

 

  • проверить значение параметра numsockets в разделе [sockets] конфигурационного файла TCPUTILS.INI - значение должно быть не меньше кол-ва принтеров, которыми будет управлять станция:
[sockets]
.............
numsockets=4
.............

 

  • в конфигурационном файле PROTOCOL.INI сетевого клиента проверить значение параметра NBSessions - его значение должно быть не менее 20 (максимально - 22):
[TCPIP]
..............
NBSessions=20
..............

 

Кассовая часть версии 6.82а и выше

Версия кассы 6.82а и выше не требует дополнительных настроек, т.к. поддержка реализована на уровне кассового сервера.
 

Кассовая часть версии 6.82 и ниже

Для поддержки ethernet-устройств для кассовых версий 6.82 и ниже необходимо:

  • загрузить с FTP ftp://ftp.ucs.ru/r-keeper/Tools/EPRINTER обновленную библиотеку MPLEX.DLL
  • записать библиотеку в корень рабочей директории RKCLIENT кассового клиента
  • прописать в RKEEPER6.INI необходимое кол-во параметров в виде:
EthPrinterXX = <IP адрес интерфейсной платы>

где XX - совокупность значения порта принтера COMX (первое значение X) и порта мультиплексора (второе значение X) - см. пример ниже

 

После загрузки станции можно проверить, загружен модуль MPLEX.DLL или нет - в режиме регистрации необходимо нажать два раза конпку "Справка", появится окно "Состав системы" с перечислением загруженных модулей. 

В списке должна присутствовать стока вида: 

MPLEX.DLL     Ethernet printers (MS SOCKETS or TRUMPET or PCTCP or NW) (NW)

Если строка присутствует, значит модуль загружен успешно. Значение в последних скобках  обозначает обнаруженный стек TCP/IP (в примере выше - (NW), т.е. обнаружен Novell TCP/IP Transport)

Возможные значение стеков TCP/IP:

  • MS SOCKETS - стандартный стек Microsoft Network Client for MS-DOS (бесплатный)
  • TRUMPET -  пакерт Trumpet TCPDRV (бесплатный)
  • PCTCP - стек компании FTP Software (коммерческий)
  • NW Novell TCP/IP Transport (бесплатный)
 

Примечание: Для вызова окна "Состав системы" можно использовать обычную компьютерную клавиатуру - для этого установите на станции клавиатурный драйвер K_KB99B.DLL и после загрузки R-Keeper два раза нажмите клавишу "Home"

 

Пример конфигурации для версии кассы 6.82 и ниже

Допустим, есть четыре принтера с интерфейсными платами, которым присвоены следующие IP-адреса:

  • 172.31.32.41
  • 172.31.32.42
  • 172.31.32.43
  • 172.31.32.44

 

В приложении "Редактор" создаем четыре сервис-принтера со следующими в параметрами:

Вариант №1:

  • Порт: COM1, Через мультиплексор 1 - для первого принтера (172.31.32.41)
  • Порт: COM1, Через мультиплексор 2 - для второго принтера (172.31.32.42)
  • Порт: COM1, Через мультиплексор 3 - для третьего принтера (172.31.32.43) 
  • Порт: COM1, Через мультиплексор 4 - для четвертого принтера (172.31.32.44) 

 Вариант №2:

  • Порт: COM1, Через мультиплексор 1 - для первого принтера (172.31.32.41)
  • Порт: COM2, Через мультиплексор 1 - для второго принтера (172.31.32.42)
  • Порт: COM3, Через мультиплексор 1 - для третьего принтера (172.31.32.43)
  • Порт: COM4, Через мультиплексор 1 - для четвертого принтера (172.31.32.44)

 

Примечание:  Можно создавать любые комбинации значений порта принтера (не более COM4) и порта мультипплексора. Начиная с кассовой версии 6.77g, можно создать несколько сервис-принтеров с одинаковыми параметрами (значениями порта и порта мультиплексора) - таким образом можно один принтер использовать для  разных потоков сервис печати.

 

Исходя из наших вариантов параметров сервис-принтеров в RKEEPER6.INI необходимо прописать:

Для варианта №1:

EthPrinter11 = 172.31.32.41
EthPrinter12 = 172.31.32.42
EthPrinter13 = 172.31.32.43
EthPrinter14 = 172.31.32.44

Для варианта №2:

EthPrinter11 = 172.31.32.41
EthPrinter21 = 172.31.32.42
EthPrinter31 = 172.31.32.43
EthPrinter41 = 172.31.32.44

Начиная с кассовой версии  6.77g (до версии 6.82а) возможен такой вариант:

  • Порт: COM1, Через мультиплексор 1 - принтер "Холодный цех"
  • Порт: COM1, Через мультиплексор 1 - принтер "Горячий цех"
  • Порт: COM1, Через мультиплексор 1 - принтер "Бар"
  • Порт: COM1, Через мультиплексор 1 - принтер "Контроль шеф-повар"

Такая конфигурация позволяет использовать один физический принтер для нескольких потоков сервис-печати.

В RKEEPER6.INI достаточно прописать всего одну строку (для принтера с IP-адресом 172.31.32.41):

EthPrinter11 = 172.31.32.41

 

Примечание: При инициализации параметров EthPrinterХХ происходит проверка ситуации, при которой разные конфигурации принтеров используют одинаковый IP - адрес интерфейсной платы. Если такая ситуация встречается, она корректно обрабатывается (принимается только первый параметр, остальные игнорируються, т.е. печать на указанные принтера не происходит) и записывается в лог-файл MPLEX.LOG. Если необходимо организовать печать на один принтер нескольких потоков - см. выше пример для версии 6.77g

 

Например, если указать в RKEEPER6.INI следующие значения:

EthPrinter11 = 172.31.32.41
EthPrinter21 = 172.31.32.41
EthPrinter31 = 172.31.32.41
EthPrinter41 = 172.31.32.41

то после запуска R-Keeper в файле MPLEX.LOG будут записи вида:

Error: addr 172.31.32.41 used more than one printer

При этом печать будет происходить только на первый принтер с параметрами EthPrinter11 (т.е. порт COM1, через мультитеплексор 1), на остальные принтера печать отправляться не будет!

 

Решение проблем

Если при включения принтера распечатывается документ со следующим содержимым:

*** Ethernet interface ***
NIC error!

это значит, что проблемы с сетевым адаптером на плате - скорее всего, такой интерфейс потребует замены или ремонта.

В некоторых случаях может помочь полный сброс интерфейсной платы в "заводские" установки:

  • выключить принтер
  • извлечь интерфейсную плату из принтера
  • найти на плате перемычку JP1 и замкнуть ее джампером
  • установить плату обратно в принтер
  • включить принтер - настройки будут сброшены в "заводские"
  • настроить параметры интерфесной платы с помощью утилиты gk3Tools
  • выключить принтер
  • извлечь интерфейсную плату и снять джампер с перемычки JP1
  • установить интерфейсную обратно - принтер готов к работе

 

Примечание для принтера Star TSP654D 

Данный принтер является обновлением модели TSP643D - интерфейсная плата для моделей Star полностью подходит для установки, но требует установки джампера:

- найдите на интерфейсной плате блок перемычек

- замкните джампером ножки и 6 (можно использовать обычный компьютерный джампер). Т.к. ножки 3 и 6 расположены по диагонали, их необходимо немного пригнуть их друг к другу:

Примечание: Интерфейсная плата будет работать с принтером Star TSP654D и без установки джампера, но устройство не будет определяться в программе gk3NetMonitor

 

Настройка связи с банковскими терминалами авторизации кредитных карт (пинпады)

 

Вводная информация

В связи с тем, что привычный ранее протокол "ABG" прекращает свое существование, а точнее:

  • Новые договора с 01.07.2011 под AS ABG открывать нельзя.
  • Старые договора, открытые до 01.07.2011, можно продолжать эксплуатировать до 01.07.2012.

Компанией UCS поддержана технология авторизации кредитных карт через банковские терминалы - пинпады , предоставляемые процессинговыми центрами.

На текущий момент поддержаны следующие протоколы авторизации кредитных карт, процессинговые компании и аппараты (пинпады):

№ п.п. Протокол авторизации кр.карт Предоставленный пинпад Компания разработчик / процессинговый центр Поддержка под DOS Поддержка под WIN32
1 EFTPOS VeriFone VX 510 ООО "Компания объединённых кредитных карт" да да
2 Аркус Ingenico iPP 320 ООО "АРКОМ" да да
3 Inpas Smart Sale VeriFone VX 810 ООО "Инпас Компани" да да
4 TrPosX Hypercom Optimum P2100, T4220 ООО "Ланит" да нет
5 UPOS VeriFone Vx 820 ОАО "Сбербанк" да нет
6 Softcase VeriFone Optimum P2100 ООО "Райфазен банк" да да
7 Arcus Net Server Ingenico IPP 320 (ethernet) ООО "АРКОМ" да да

 

Следует понимать, что "Процессинговый центр"- не всегда равно "Банк", хотя многие банки предпочитают иметь собственный "Процессинговый центр" , и этот момент следует учитывать при общении с заказчиками. Таким образом чаще всего нельзя однозначно ответить на вопрос: "А с каким банком у вас есть интерфейс?" , но всегда есть информация о взаимодействии с процессинговым центром.

Модель пинпада не имеет приципиального значения. Драйвера интеграции с устройствами разрабатывались, исходя из прошивки пинпада и используемого им протокола авторизации, которым снабжает устройство процессинговый центр. Соответственно если банк говорит "у нас устройства используются пинпады VeriFone VX 810" это еще не значит, что они поддержаны нашей компанией со стороны кассового программного обеспечения!

Ввиду того, что непосредственно распознавание карты и механизм авторизации реализован на  самом устройстве (пинпад) - технология прокатки карты через считыватель кассового аппарата (как в случае с AS ABG) - больше работать не будет.

Интерфейс подключения пинпада зависит от поддержки со стороны кассового драйвера, используемой ОС и от банковского ПО. Так что, нередко приходится подходить индивидуально к каждому подобному внедрению.

Обмен данными между Rk6 и пинпадами

Реализация протокола обмена между Rk6 и пинпадами имеет два варианта логики работы для всех аппаратов, всех поставщиков услуг (процессинговых центров) и состоит в следующем:
Касса (rkclient) при оплате на кредитную карту передает управление драйверу для взаимодествия с пинпадом или банковским ПО. Драйвер представлен в виде библиотеки SMPAUTH.DLL, которая для каждого протокола авторизации и предоставленного банком модели пинпада будет своя.

  • Находятся библиотеки на нашем ФТП: ftp://.../r-keeper/versions/SMPAUTH/. расположены в каталогах по названиям используемых протоколов авторизации.

Варианты реализации взаимодействия кассового оборудования и ПО с банковским оборудованием и ПО.

Вариант №1 (с 6.97.8 версии кассы)

  • Библиотека smpauth.dll содержит набор команд для работы с пинпадом напрямую, без дополнительных сервисов и утилит. В этом случае управление пинпадом осуществляет Касса Rk6 через библиотеку smpauth.dll.

Примечание: Этот вариант работы используют интерфесы (smpauth.dll) с ПЦ  "Компания объединённых кредитных карт" (протокол EFTPOS) и ПЦ "Инпас Компани" (протокол Inpas Smart Sale).

Вариант №2 (с 6.103 версии кассы)

  • Поставщик пинпада также предоставляет и дополнительное программное обеспечение (ДПО) для работы (взаимодействия) с ним.

  • Касса Rk6 при оплате на кредитную карту через библиотеку smpauth.dll передает управление в ДПО обслуживающее пинпад. 

  • После обработки запроса, ПО пинпада возвращает кассе Rk6 (опять же через библиотеку smpauth.dll) результаты операции и информацию для вывода на печать.

  • При операции "Закрытие дня" в Rk6 также вызывается ПО терминала для операции сверки итогов. Условно говоря, Rk6 передает команду (команды)  ПО пинпада на проведение финальных операций закрытия финансовой смены. В результате Rk6 получает от ПО пинпада информацию для вывода на печать.

Примечание: Этот вариант работы используют интерфейсы (smpauth.dll) с ПЦ "АРКОМ" (протокол Аркус), ПЦ "ЛАНИТ" (протокол TrPosX), а так же ПЦ "Сбербанк" (UPOS) и "Райфазен банк" (SOFTCASE).

Общие настройки в Менеджерской Rk6 (E_Rest32.exe)

1. Следует убрать все настройки, относящиеся к авторизации кредитных карт, а именно:

  •     "Списки" - "Общие настройки" - "Авторизация кредитных карт" - убрать!
  •     "Списки" - "Общие настройки" -  Вводить код кредитных карт - убрать!

2. В справочнике валют, секция "Кредитные карты", следует завести валюту с произвольным названием,
     но обязательно с кодом PPAD (регистр имеет значение).

  • В свойствах самой валюты - "Автораспознавание" - убрать!
  • В свойствах самой валюты - "Авторизация" - убрать!

Важно! С версии кассы 6.102.0 появился параметр заменяющий значение PPAD. Параметр называется Smpauth_Code = 1,2,3,4 (где 1,2,3,4 - перечисление через запятую кодов валют кредитных карт, которые будут использовать авторизацию через пинпад). Таким образом, появилась возможность получать более детализированные отчеты с разбивкой по кредитным картам.

Настройка кассовой части (DOS-rkclient)

  • Записать в корень (не в EXTENS!) текущего RKCLIENT smpauth.dll, соответствующую модели подключаемого устройства.
  • Произвести настройку rkeeper6.ini в соответствии с описанием smpauth.dll для подключаемого устройства.

Важно! Отдельно необходимо отметить особенность работы интерфейса Smpauth.dll с кассовым сервером под DOS (сервер на кассе).
Конфигурация DOS-сервер на кассе и ПИНПАД, подключенный к этой кассе - работает! НО! Так как DOS является однозадачной операционной системой, то при активном процессе авторизации управление передается smpauth.dll и остальные процессы ничего не делают. Из этого следует, что если к этой кассе\серверу подключены еще и станции официантов или другие кассы-они в течении всего времени работы процесса авторизации БУДУТ "ВИСЕТЬ"! По окончании процесса авторизации клиенты (станции официанта, ведомые кассы) продолжат работу. Выход из этой ситуации только один- ставить выделенный сервер.

  • При работе на кассе, при оплате заказа на кредитную карту кассиру необходимо зайти в список валют и выбрать созданную в редакторе валюту предназначенную для оплаты через пинпад.
  • После этого на кассе будет выведен экран программного обеспечения пинпада со списком дальнейших действий. 

Пинпады, протестированные с Rk6

Verifone VX 510

Предоставлен ООО "Компания объединённых кредитных карт".
Аппарат подключается в COM порт кассового аппарата. Также сам апарат должен быть подключен к сети ethernet с выходом в internet.

Настройки Rkeeper6.ini:

Smpauth_Port=1
Smpauth_IRQ=4  указать, если нестандартное
Smpauth_TerminalID=0000
Smpauth_Log=2

Значение параметра SMPAUTH_TerminalID= предоставляется сотрудниками "ООО Компания объединённых кредитных карт"

Verifone VX 810

Предоставлен ООО "Инпас Компани"
Аппарат подключается в COM порт кассового аппарата. Также сам апарат должен быть подключен к сети ETHERNET с выходом в INTERNET.

Настройки в Rkeeper6.ini:

Smpauth_Port = 1
SMPAUTH_TerminalID = 19999755

Значение параметра SMPAUTH_TerminalID= предоставляется сотрудниками "ООО Инпас Компани".

Ingenico iPP320

Предоставлен "ООО АРКОМ".

Настройки в Rkeeper6.ini:

smpauth_Dir = путь к директории, где установлено ПО "ООО Арком".

Больше никаких настроек в инифайле не требует. 

Важно! Данный аппарат имеет одну особенность - у него отсутствует собственный Ethernet-порт. Технология работы предполагает использование сетевого клиента кассовой станции для выхода в интернет и соединения с хостом. Поддерживается работа только с сетевым клиентом компании Microsoft (Microsoft Network Client for MS-DOS) и сетевой клиент должен быть настроен для возможности выхода в internet!

HYPERCOM OPTIMUM 4220

Предоставлен компанией "ООО Ланит"

Настройки в Rkeeper6.ini:

smpauth_Dir = путь к директории, где установлено ПО "ООО Ланит".
smpauth_Num = 01 ­номер кассы

VeriFone VX 820

Предоставлен компанией ОАО "Сбербанк"

 

 - подробная настройка расписана в отдельных статьях - http://support.ucs.ru/ru/node/8371 и http://support.ucs.ru/ru/node/7527

Hypercom (Verifone) Optimum P2100

Предоставлен компанией ООО "Банк Райфазен".

 

 

 

Настройка связи кассы Rk6 с пинпадами банка "ВТБ 24" с использованием протокола Arcus NET Server

Основная информация

Данная конфигурация и технология использования в частности, задействована банком ВТБ 24.

Примечание: для дополнительной информации, рекоммендуется ознакомиться - http://support.ucs.ru/ru/node/5456

Схема взаимодествия программных модулей

 Касса RK6 DOS(ucs) ---> Промежуточный сервер ARBRIDGE Win32(ucs) ----> 
 ---> ArcusNetServer Win32 (АРКОМ) -----> Пинпад (Ethernet)------>Сервер авторизации кр.карт.

Ответ по обратной цепочке.

Настройки на кассе - DOS-RKCLIENT 6.107 и выше

  • В \RKCLIENT добавить соответсвующий драйвер SMPAUTH.DLL (можно взять с нашего фтп - ftp://.../r-keeper/versions/SMPAUTH/ARCUS2/DOS/) для взаимодействия кассы с ARBRIDGE.
  • В \RKCLIENT\RKEEPER6.INI прописать параметры:
Smpauth_Server=ARBRIDGE_123  - NETBIOS-имя сервера Arbridge, который должен работать через rnbopen.dll
Smpauth_KKM=1                - Номер кассы от 1 до 99, который будет передан серверу Arcus
Smpauth_Log=2                - Уровень детализации лога: 0-не логировать, 1-верхний уровень, 2-все.
PinPadSlips=2                - количество печатаемых слипов.

Настройки на кассе - Rk6Win 6.109.1 и выше

  • В \Rk6Win добавить соответсвующий драйвер smpauth.dll и RtcpGate.dll (можно взять с нашего фтп - ftp://.../r-keeper/versions/SMPAUTH/ARCUS2/WIN/) для взаимодействия кассы с ARBRIDGE.
  • В \Rk6Win\RKEEPER6.INI прописать параметры:
Smpauth_Server=192.168.0.1:3666  - IP и порт сервера Arbridge, который должен работать через Rtcp.dll. 
Smpauth_KKM=1                    - Номер кассы от 1 до 99, который будет передан серверу Arcus
Smpauth_Log=2                    - Уровень детализации лога: 0-не логгировать, 1-верхний уровень, 2-все.
PinPadSlips=2                    - Количество печатаемых слипов.

Настройки в менеджерской Rk6 (E_Rest32.exe)

  • Как обычно, должна быть заведена валюта в кредитных картах с кодом "PPAD", либо на кассе (RKEEPER6.INI) прописывается доп.параметр:
Smpauth_Code=8080      - где, указать коды валют через запятую которые должны оплачиваться через ПИНПАД (для дополнительной детализации в отчетах).

Настройка сервера Arbridge.exe

Сервер ARBRDGE - это "мост", связывающий кассы Rkeeper 6 c сервером авторизации ArcusNETServer. Кассы будут подключаться к ARBRIDGE.
ARBRIDGE будет общаться с сервером авторизации файлами через общий каталог. А сервер авторизации будет общаться с пинпадами (см.схему взаимодействия выше).
 
  • Распаковать (взять можно с фтп - ftp://.../r-keeper/versions/SMPAUTH/ARCUS2/ARBRIDGE/) в отдельный каталог дистрибутив сервера ARBRIDGE (желательно на том же ПК где находится и ArcusNetServer).

Тип запуска, с ключами:

/install       - установить как службу
/uninstall     - удалить из служб
/desktop       - запуск как обычного приложения
  • Настроить конфигурационный файл Arbridge.INI:
[Options]
Log = 3           - уровень LOG-файлов
                    0 - старт стоп
                    1 - редкие события
                    2 - все запросы
                    3 - содержимое файлов обмена

ExchDir = D:\RK6\ARBRIDGE\EXCHANGE     - Каталог для обмена файлами с Arcus NET Server (в настройках ArcusNetServer должен быть указан тот же ресурс)!!!
Timeout = 45     - столько секунд ждать ответ от Arcus NET Server 
Encoding = 866    - кодировка получаемых от Arcus NET Server текстов
                    866   - кириллица DOS
                    1251  - кириллица Windows
                    65001 - utf-8

[LinkDLL]
1 = Rnbopen      - для связи с кассами по NetBIOS (DOS-кассы)
2 = Rtcp         - для связи с кассами по TCP     (WIN-кассы)

[Rnbopen]
Server = ARBRIDGE  - уникальное NetBIOS имя, к которому будут обращаться кассы

[Rtcp]
Port = 3666        - номер порта - от 1024, не конфликтующий с существующими,
                  например в диапазоне 3000-5000.

Важно! Общий каталог обмена файлами НЕ ДОЛЖЕН находиться внутри рабочего каталога сервиса ArcusNetServer!!! Иначе возможны проблемы связанные с общим доступом к файлам этого каталога. Лучше всего создать каталог на рабочем (не системном) разделе в общедоступном месте, например, внутри каталога \ARBRIDGE.

Примечание: ARBRIDGE с кассой общается через NETBIOS, по-этому в настройках сетевого протокола TCP должен быть включен параметр "NETBIOS over TCP/IP". Так же, можно использовать для связи проткол - "NetBEUI protocol". 

Если возникают проблемы связи при работе ARBRIDGE как сервиса - прописать зависимости от NetBIOS и TCP. Это можно сделать например, при помощи утилиты sc.exe идущей в составе ОС Windows. "Пуск" \ "Выполнить",  пример строки запроса:

sc config D__RK6__ARBRIDGE_ARBRIDGE depend= TCPIP/NETBIOS

- где "D__RK6_ARBRIDGE_ARBRIDGE" - название установленной службы. Результат:

ArcusNetserver

  • Устанавливается и настривается на связь с пинпадами, которые подключены через ethernet в обычную ЛВС и имеют выход в интернет.
  • А также, настраиватеся на общий (с ARBRIDGE) сетевой каталог, конф.файл services.xml:
...
<fileService name="File transactions" folder="D:\RK6\ARBRIDGE\EXCHANGE\" lockDetectionTimout="2000" lockDetectionDelay ="500">
<fileTransactions parser="shoko-file" encoding="CP866"
...
 Примечание: Установку и все настройки ArcusNetServer выполняют специалисты техподдержки самого банка-партнера предоставившего для работы ПО и пинпады.

Важно! для запуска данного сервера необходимо что бы на ПК была установлена поддержка Java не ниже v7.

ПИНПАД (Ingenico IPP 320 с питанием и ethernet-интерфейсом)

  •  Настраивается и проверяется на связь с ПО ArcusNetServer специалистами самого банка.

Проверка работы

  Запустить ARBRIDGE, запустить ArcusNetServer, запустить кассу, убедиться что пинпад подключился к ArcusNetServer (на нем должно гореть сообщение типа - "Готов к работе", если отображается сообщение типа "Подключение к кассе", - значит связи нет).

 При оплате на кассе выбрать валюту оплаты через пинпад,  касса должна выполнить подключение к серверу ARBRIDGE (можно увидеть во вкладке "Clients"), тот в свою очередь сформирует и выложит в каталог обмена файлы для ArcusNetServer (ANS). ANS заберет, обратится к пинпаду, а пинпад к серверу авторизации (должен иметь выход в интернет). Провести транзакцию на пинпаде. Получить ответ на кассе и распечатать необходимое количество слипов.

 

Настройка связи кассы Rk6 с пинпадами ОАО "Сбербанк"

Основная информация

- К POS-терминалу DOS RK6 - на свободный USB или COM-порт подключен пинпад Verifone Vx820 с прошивкой для Сбербанка. Обмен данными между терминалом и кассой происходит с использованием нескольких сервисных программных модулей предоставляемых специалистами службы техподдержки ОАО "Сбербанк".

Примечание: Для дополнительной информации - http://support.ucs.ru/ru/node/5456 и http://support.ucs.ru/ru/node/7527

Важно: Для WIN-кассы (RK6WIN) поддержка протокола авторизации UPOS (Сбербанк) не реализована и в планах разработки не стоит в связи с закрытием проекта R-Keeper v6

Схема взаимодействия модулей

 -> Оплата на кассе кредитной картой (передача запроса) -> 
 -> Драйвер smpauth.dll -> ПО Сбербанка \UPOS\sb_pilot.exe ---> 
 -> Выполнение действий на пинпаде ---> sb_pilot.exe ---> (TCP или NETBIOS)---> 
 -> ПО Сбербанка pServer (PSCON.EXE) на ПК под ОС Win --(Internet)--> в процессинговый центр сбербанка. 

 Передача ответа от центра происходит по той же цепочке, но в обратном направлении. Настройка всей связки проводится совместно  инженерами UCS и Сбербанк.

Настройки в Менеджерской RK6 (E_Rest32.exe)

  • В менеджерской RK6 (E_Rest32.exe) в справочнике "Валюты"\"кредитные карты" создать валюту "Оплата через пинпад" в качестве кода указать значение "PPAD" (если не используется параметр в rkeeper6.ini: smpauth_code=1,2,3,4 - где, 1,2,3,4 - коды валют кредитных карт указанные для валют в менеджерской, которые должны оплачиваться через банковский терминал).

 

  •  На POS-терминале (DOS) в \RKCLIENT скопировать соответствующую smpauth.dll (например, с фтп - /r-keeper/versions/SMPAUTH/UPOS/DOS) и в rkeeper6.ini прописать путь к локальному каталогу содержащему ПО сбербанка (sb_pilot.exe). Например: smpauth_Dir=С:\UPOS.
  •  Подключить на свободный COM-порт кассы предоставленный клиентом банковский терминал (пинпад - VeriFone VX 820).
  • Так же пинпад может быть подключен и на USB-порт DOS-кассы (но для этого, в BIOS POS-терминала должна быть включена полноценная поддержка USB и должен быть настроен сам пинпад соответсвующим образом сотрудниками банка и возможно для него может потребоваться дополнительное питание (должно идти в комплекте с пинпадом), если на пинпаде будет использоваться оба ридера карт) . Основное примущество такого решения - освобождение порта RS-232 для других возможных переферийных устройств (сканер, весы, дисплей покупателя и т.п.).
  •  Организовать (проверить) сетевое подключение кассы к менеджерскому ПК или к тому ПК на котором, будет работать дополнительный сервис (pService - PSERVER.EXE) для связи с процессинговым центром. Необходимо, что бы была возможность подключения сетевого диска для передачи софта и настройки софта специалистами сбербанка.

Пример параметров в RKEEPER6.INI:

Smpauth_Dir=C:\UPOS    - Указать путь к каталогу, где находится SB_PILOT.EXE.
Smpauth_Code=8080      - Указать коды валют через запятую которые должны оплачиваться через ПИНПАД (для дополнительной детализации в отчетах).
PinPadSlips=2          - Указать необходимое количество копий печатаемых банковских слипов.
PinPadBreakString=01 или 010D0A  - Если не отрабатывает обрезка слипов в автоматическом режиме, можно прописать дополнительный параметр обрезки.
;PinPadCopies=2        - Устаревший параметр управления печатью слипов  с кассы.

Настройки со стороны Сбербанк

  •  На кассу копируется и настраивается актуальное ПО С:\UPOS\sb_pilot.exe и сопутствующие файлы.
  •  Настривается pinpad.ini, например:
ComPort=2                - Порт к которому подключен пинпад.
;EnableUSB=1             - В случае, если пинпад подключен к терминалу через USB
Speed=115200             - Скорость из настроек пинпада.
NetworkType=netbios      - Тип сетевого соединения с pServer (или процессинговым центром напрямую).
;Printerend=01 или 010D0A - Команда обрезки слипов. (Может быть настроено и в кассовой программе - параметр PinPadBreakString)

Примечание: ПО sb_pilot.exe может подключаться к процессинговому центру либо напрямую (но тогда на кассе должен быть настроен выход в интернет с кассы), либо через дополнительный сервис pServer (рекомендуется). 

  •  Настраивается pServer - инсталлируется как служба, конфигурируется на связь с процессинговым центром и с SB_PILOT.EXE, прописывается в автозагрузку и т.п. 
  • Для самого пинпада можно создать и прогрузить (в пинпад) файл с настройками *.tlv. Создается такой файл при помощи специальной утилиты - TlvEdit.exe. Готовый файл с конфигурацией пинпада копируется на кассу в каталог C:\UPOS (туда же где sb_pilot.exe).

Примечание: проверялось и тестировалось на версии кассового ПО 6.106 и архивом ПО Сбербанка, прикреплен здесь же.

ВложениеРазмер
pinpad_sberbank_dos_rk6.rar6.89 МБ

Расширенные настройки программного обеспечения ОАО "Сбербанк"

 

Вводная информация

Важно!!! Перед прочтением данной статьи, рекомендуется ознакомиться с основной статьей по использованию и настройке связки банковских терминалов с кассами RK6. Основная статья находится здесь - http://support.ucs.ru/ru/node/5456 и http://support.ucs.ru/ru/node/8371

- Данные в статье предоставлены техническими специалистами ОАО "Сбербанк".

- Для успешной связки кассового ПО RK6 с банковскими терминалами ОАО "Сбербанк" необходимо иметь представление о том, как реализован обмен данными  между кассой RK6, банковским терминалом и процессинговым центром Сбербанка при проведении транзакции по банковской карте.  Используется следующее оборудование и программные модули:

Перечень используемого оборудования и программных модулей

  • DOS-RKCLIENT (версия 6.102 и выше) - кассовая программа (UCS). На POS-терминале (под управлением OS DOS, например DrDOS v7.03).
  • Терминал авторизации банковских карт - VeriFone VX 820 с прошивкой от Сбербанк. Подключается на свободный COM-порт (RS-232) кассового POS-терминала. Предоставляется банком.
  • SMPAUTH.DLL - драйвер (производства UCS) для взаимодействия кассовой программы с модулем авторизации SB_PILOT.EXE. Копируется в рабочий каталог кассовой программы  (C:\RKCLIENT) и настраивается в C:\RKCLIENT\RKEEPER6.INI.
  • Модуль авторизации для взимодействия с пинпадом - SB_PILOT.EXE. Устанавливается на POS-терминал паралельно с кассовой программой. Через данный модуль может быть настроена связь с процессинговым центром банка, если на POS-терминале настроен прямой выход в интернет. Иначе, для связи с процессинговым центром будет использоваться дополнительный сервис - PSERVER.EXE.  Предоставляется и настраивается техническими специалистами банка.
  • Дополнительный модуль для взаимодействия с процессинговым центром - PSERVER.EXE. Используется по необходимости, например, если на кассовом POS-терминале  нет прямого выхода в интернет. Устанавливается на дополнительном ПК (OS Windows) находящимся в общей ЛВС с кассой и имеющим выход в интернет. Предоставляется и настраивается техническими специалистами банка.

Общая схема взаимодействия модулей между собой

Ниже , представлена примерная последовательность взаимодействия программных и аппратных модулей  используемых при работе с баковскими терминалами Сбербанк совместно с кассами RK6. 

 -> Оплата заказа на кассе кредитной картой (передача запроса) -> 
 -> Драйвер smpauth.dll ---> модуль авторизации SB_PILOT.EXE --->
 -> Выполнение действий с картой на пинпаде ---> модуль авторизации SB_PILOT.EXE ---(TCP или NETBIOS)---> 
 -> pServer (PSCON.EXE, PSERVER.EXE)--(Internet)--> Процессинговый центр.

 - Ответ от центра происходит соответсвенно по цепочке в обратном порядке.

Модуль авторизации - SB_PILOT.EXE

Интегрируемый программный модуль sb_pilot.exe используется совместно с программным обеспечением контрольно-кассовых машин для проведения платежей по банковским картам. Продукт предназначен для работы под управлением MS-DOS и обычно устанавливается в отдельный каталог системного диска ККМ. Например, - C:\UPOS.

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

Требования к оборудованию

  • IBM-совместимый компьютер на базе процессора не ниже 80286 (POS-терминал).
  • Объем оперативной памяти не менее 1 МБ.
  • Объем свободного дискового пространства не менее 5 МБ.
  • Наличие свободного порта RS-232 для подключения ПИН-клавиатуры VeriFone SC5000 или аналогичной (предоставляется Сбербанком бесплатно).
  • Сетевая карта Ethernet.

Требования к программному обеспечению

  • Версия MS-DOS не ниже 3.01.
  • Объем свободной оперативной памяти не менее 230 K.
  • Наличие русификатора клавиатуры/дисплея.
  • Наличие сетевой оболочки FTP Software PCTCP, либо Novell TCPIP.

Выполняемые функции

Платежный терминал поддерживает две группы функций:

  • Первая группа - предназначена для проведения платежей по картам.
  • Вторая группа - Это служебные функции.

Для проведеня платежей по картам поддерживаются следующие функции:

  • Оплата покупки (услуги).
  • Возврат покупки.

Служебные функции включают в себя:

  • Сверку итогов (ежедневная процедура закрытия смены с распечаткой отчета и очисткой списка операций).
  • Вход в технологическое меню (для настройки параметров и др. служебных операций).

Состав программного обеспечения

Установленное программное обеспечение имеет следующий состав файлов:

Sb_pilot.exe  - Запускаемый файл программы.
Updosmn.out   - Основной исполняемый модуль.
Updoscf.exe   - Вспомогательный редактор настроек.
Updosuz.out   - Служебный модуль-распаковщик (используется при удаленном обновлении ПО).
R003.r        - Файл ресурсов для редактора настроек.
Example.tlv   - Файл с настройками (готовится на Windows-машине с помощью программы TlvEdit).

Вызов программы

Синтаксис вызова программы следующий:

Sb_pilot.exe <тип операции> <сумма операции> [<тип карточки> [<данные 2-й дорожки> [<дополнительные параметры>]]]

- где параметр <тип операции>  может принимать значения:

Операция

 тип  

Назначение

  1

  Оплата

  3

  Возврат покупки

  7

  Сверка итогов

  9

  Печать контрольной ленты (без сверки итогов)

  11

  Вход в технологическое меню

  12

  Повтор последнего документа

  14

  Загрузка TLV-файла

  19

  Загрузка TLV-файла с предварительным удалением старых настроек

  20

  Чтение номера карты и хеш-значения от него

  21

  Удаленная загрузка обновлений

Параметр <сумма операции> - указывается в копейках;

Параметр <тип карточки> - может принимать значения:

  0  

  Определять автоматически (рекомендуется)

  1

  Visa, Visa Electron

  2

  MasterCard

  3

  Maestro

  4

  Amex

  5

  Diners Club

  9

  СБЕРКАРТ

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

Параметр <данные 2-й дорожки> - считанный с магнитной карточки Track2, без заголовочных и хвостовых символов. Номер карты  отделяется знаком ‘=‘.

Как правило, этот параметр не указывается при вызове программы. В этом случае программа сама выдаст оператору запрос на ввод карточки. При этом карта может быть считана через устройство VeriFone SC5000 (VX 820), либо через встроенный клавиатурный ридер ККМ.

Параметр <дополнительные параметры> - поддерживаются следующие ключи:

    /d=номер_отдела (1,2,… 15)

Передача результатов работы программы 

По окончании работы программы формируются два текстовых файла — файл обмена и файл чека. Первый имеет имя e и предназначен для передачи вызывающей программе параметров совершенной операции. Первая строка в этом файле содержит код результата операции, и через запятую – поясняющее текстовой сообщение. Код "0" означает успешное проведение платежа, любое другое значение – отказ или невозможность проведения платежа.

Если код результата равен "0", то для платежной операции последующие строки файла e содержат параметры совершенной операции. Например:

Образец содержания файла

Примечание

0,Успешно

4276********2106

10/09

013AU3

0007

VISA

1

00870001

20120403173415

 

481CF86160609155A2310BD83D7512BA34F48328

Код результата и текст сообщения

Номер карты (маскированный)

Срок действия карты

Код авторизации

Внутренний номер операции

Название типа карты

Признак карты Сбербанка (1)

Номер терминала

Дата-время операции (ГГГГММДДччммсс)

Ссылочный номер операции (может быть пустым)

Хеш от номера карты

Второй файл с именем "p" (имя может быть изменено) является образом чека  для вывода на принтер. Вызывающая программа должна самостоятельно передать этот файл на принтер. Файл чека формируется только в том случае, если код результата равен 0. Имя файла чека устанавливается в конфигурационном файле программы и обычно имеет значение "p". В исключительных случаях можно назначить файлу чека имя "prn" — тогда он будет печататься сразу, до завершения работы программы.

Конфигурация и настройка SB_PILOT.EXE

Настроечные параметры программы необходимо подготовить в виде TLV-файла с помощью программы TlvEdit, работающей под OS Windows. Настройка параметров описана отдельно.

Сформированный TLV-файл необходимо поместить в каталог с программой sb_pilot. После этого необходимо запустить программу с параметром 11:

Sb_pilot.exe 11

И в открывшемся меню выбрать пункт «Служебные операции \ Настройки \ Техобслуживание \ Пароль 878787 \ Загрузка параметров». При наличии в каталоге нескольких TLV-файлов программа предложит выбрать нужный.

В случае, если после этого возникает необходимость изменить значение какого-либо параметра, для этого можно воспользоваться программой updoscf.exe. Эта программа редактирует не сам TLV-файл, а импортированные из него параметры (файлы *.d).

Варианты настройки сети на кассовом POS-терминале (OS DOS)

В большинстве случаев в ЛВС ТСТ используются следующие сетевые протоколы для организации обмена ПО ККМ, работающего под управлением MS DOS, с сервером БД ТСТ

  • MicroSoft network client for DOS (TCP/IP, NetBEUI, IPX)
  • Novell IPX/SPX network client for DOS
  • Novell IP network client for DOS
  • PC/TCP client for DOS (IP на базе пакетного драйвера

Программа через которую происходит взаимодействие с терминалом SB_PILOT.EXE может работать со всеми перечисленными протоколами напрямую, или с использованием протокола более высокого уровня (netbios, named pipes).  В документе в качестве примера будут описываться настройки авторизационного модуля для DOS из состава «Универсального ПО POS-терминалов Сбербанка России».

Описание настройки авторизационного модуля на работу поверх MicroSoft network client for DOS.

Сетевые протоколы от компании MicroSoft особенны тем, что напрямую с ними приложения не работают – для передачи данных между прикладными процессами приходиться использовать протоколы более высокого уровня (netbios, named pipes). Обмен может проводиться через общие папки, созданные при помощи средств сетевого клиента, или напрямую, между прикладными программами с использованием описанных в документации функций для работы с NetBIOS (основная система сетевого ввода-вывода), Named pipes (именованные каналы).

Для более четкого понимания настроек MicroSoft network client for DOS рассмотрим несколько файлов из состава сетевого клиента: protocol.ini и system.ini (обычно расположены на POS-терминале в каталоге C:\NET или С:\NETIP)

Конфигурационный файл - PROTOCOL.INI

[network.setup]
version=0x3110                     - Версия сетевого клиента.
netcard=a$e100b,1,A$E100B,1        - Имя сетевого адаптера.
    
               (Описание подключенных протоколов)
transport=tcpip,TCPIP              - TCP/IP присутствует.
...
transport=ms$netbeui,MS$NETBEUI    - NetBEUI присутсвует.

               (Номера интерфейсов (номер сетевого адаптера) для протоколов)
lana0=a$e100b,1,tcpip              - 0-й для TCP/IP.
lana2=a$e100b,1,ms$netbeui         - 2-ой для NetBEUI.
lana3=a$e100b,1,ms$ndishlp

[TCPIP]
NBSessions=12                      - Максимальное количество открытых NETBIOS-сессий.
IPAddress0=10 101 18 86            - IP-адрес POS-терминала.
SubNetMask0=255 255 255 0          - Маска подсети.
DefaultGateway0=10 101 18 1        - Шлюз. Если Шлюз в интернет не используется, то установить равным IP-адресу ПК, на котором запущен PServer.exe!!!
DisableDHCP=1                      - Получение IP-адреса с DHCP-сервера в сети (1-выключено, 0-включено).
DriverName=TCPIP$                  - 
BINDINGS=A$E100B                   -
LANABASE=0                         - Номер интерфейса для протокола TCP/IP (номер сетевого адаптера).

...
               (Описание параметров используемой сетевой карты)
[A$E100B]
ForceDuplex=Auto                 -
Speed=Auto-Speed                 - Автоопределение скорости обмена в сети.
...

[MS$NETBEUI] 
DriverName=netbeui$              -
SESSIONS=12                      -
NCBS=12                          -
BINDINGS=A$E100B                 -
LANABASE=2                       - Номер интерфейса для протокола NETBEUI.

Конфигурационный файл - SYSTEM.INI

[network]
...
lmlogon=0                       - входить в домен: 1 - да, 0 - нет
...

При запуске сетевого клиента  в основной конфигурации т.е. в system.ini:

network]):
preferredredir=basic
autostart=basic

Будет невозможен вход в домен (что практически никогда и не используется для работы POS-терминала со своим сервером) и работа по "named pipes", но при этом экономится около 80 Кбайт основной памяти, что немаловажно т.к. использование ресурсов в ОС DOS сильно ограничено.

Ниже приведена таблица, описывающая коммуникационные возможности авторизационного модуля c учетом настроек сетевого клиента.

Название протокола

NetBIOS

Pipes

TCP/IP

preferredredir=basic или full

autostart=basic или full

preferredredir=full

autostart=full

NetBEUI

preferredredir=basic или full

autostart=basic или full

preferredredir=full

autostart=full

IPX

Не работает

preferredredir=full

autostart=full

С учетом представленных файлов настройки сетевого клиента (system.ini, protocol.ini) выполняются коммуникационные настройки авторизационного модуля (SB_PILOT.EXE) на работу по NetBIOS:

Работа авторизационного модуля (SB_PILOT.EXE) через NETBIOS

В случае, если параметр «Номер LANA для NetBIOS» не указан, то по умолчанию он приравнивается "0". Если при указанных выше параметрах сетевого клиента изменить номер LANA с 0 на 2, то работа по NetBIOS будет происходить поверх NetBEUI (на компьютере с ПО PSERVER должен быть установлен протокол NetBEUI с включенной поддержкой NetBIOS). Номер LANA, равный 0, указывает на работу поверх TCP/IP (на компьютере с PSERVER должен быть установлен и настроен протокол TCP/IP с включенной поддержкой NetBIOS).

Сервисное коммуникационное приложение - PSERVER.EXE

Коммуникационная прогарамма PSERVER для приема запросов от авторизационного модуля по протоколу NetBIOS должна быть настроена, например, следующим образом:

Настройки указывают PSERVER-у на то, чтобы он при старте зарегистрировал в сети NetBIOS-имена PSRV12 и PSRV13, через которые пойдет связь авторизационного модуля при обслуживании международных карт и карт Сберкарт соответственно.

Необходимо отметить, если при всех прочих правильных настройках невозможно установить соединение по NetBIOS c PServer, то в таком случае:

  • В секции [TCPIP] файла PROTOCOL.INI сетевого клиента на POS-терминале установите параметр DefaultGateway0 равным IP-адресу того ПК на котором запущен и работает сервис PSERVER.EXE, перезагрузите POS-терминал и проверьте связь между приложениями SB_PILOT.EXE и PSERVER.EXE. Если выполненых действий оказалось недостаточно, перейдите к п.2.
  • Укажите в настройках сетевых карт на POS-терминале и ПК с PSERVER скорость обмена в сети. Например:

POS-терминал → c:\net\protocol.ini → [Имя адаптера] → Speed = 10

ПК с Pserver → "Свойства подключения по ЛВС" → свойства сетевого адаптера (к примеру):

Примечание: Также, в случае, если PSERVER запущен на компьютере, работающем под управлением MS Windows NT 4.0 Server/WorkStation, то наблюдается следующая коллизия: авторизационный модуль (SB_PILOT.EXE) успешно связывается по протоколу NetBIOS с PSERVER 18 раз, после чего связь установить невозможно без перезапуска ОС POS-терминала. Причина неизвестна.

Работа авторизационного модуля (SB_PILOT.EXE) через Named Pipes

Для работы в сети MicroSoft по протоколу named pipes сетевой клиент должен запускаться в расширенной конфигурации, т.е. в system.ini:

[network]):
preferredredir=full
autostart=full

Приведем коммуникационные настройки авторизационного модуля на работу по named pipes:

В настройках терминала необходимо указать «Имя сервера для связи через Named Pipes» - сетевое имя компьютера, на котором работает PSERVER. Далее, PSERVER нужно настроить на прием запросов по Named Pipes. К примеру:

 

PSERVER, работающий на ПК с сетевым имененем (ServerNetName), при такой настройке зарегистрирует в сети именованные каналы \\ServerNetName\PIPE\PSRV12 и \\ServerNetName\PIPE\PSRV13, по которым и будут работать терминалы при обслуживании международных карт и карт Сберкарт.

Работа авторизационного модуля (SB_PILOT.EXE) поверх Novell IPX/SPX network client for DOS

Приведем файл настройки Novell IPX/SPX network client for DOS (обычно расположен в каталоге POS-терминала C:\NET)

Конфигурационный файл - NET.CFG

FILE HANDLES = 100
CASHE BUFFERS = 16
SHOW DOTS ON

LINK SUPPORT
MAX BOARDS 4
MAX STACKS 8

LINK DRIVER E100BODI        - Драйвер сетевой карты.
FRAME ETHERNET_802.2        - Первый в списке сетевой кадр по-умолчанию.
FRAME ETHERNET_802.3        - Дополнительный тип сетевого кадра.
FRAME ETHERNET_II           - Дополнительный тип сетевого кадра.
FRAME ETHERNET_SNAP         - Дополнительный тип сетевого кадра.

Авторизационный модуль должен быть настроен следующим образом:

Порт хоста 33001 в настройках авторизационного модуля соответствует шестнадцатиричному 0x80E9, 33002 – 0x80EA (номера сокетов, которые будут указаны в настройках PSERVER для приема запросов по SPX).

Параметр «MAC-адрес сервера для связи по IPX» - mac-адрес сетевой карты компьютера с PSERVER, на которой ожидаем запросы от POS-терминала (для уточнения mac-адреса из командной строки дайте команду ipconfig.exe - all).

Примечание: для приема запросов по SPX на компьютере с Pserver потребуется установить NWLink IPX/SPX-совместимый протокол, при установке которого обычно автоматически включается и поддержка NetBIOS поверх транспорта IPX/SPX.

Для связи по IPX/SPX может иметь значение тип сетевого кадра по умолчанию, используемый сетевым клиентом на POS-терминале. В настройках NWLink IPX/SPX-совместимого протокола на компьютере с PSERVER обычно стоит автоопределение типа сетевого кадра. Возможны ситуации, когда для успешной работы авторизационного модуля (SB_PILOT.EXE) придется подобрать тип сетевого кадра по-умолчанию в сетевом клиенте на POS-терминале. При этом нужно быть крайне аккуратным, т.к. изменение типа сетевого кадра по-умолчанию может привести к проблемам связи между POS и сервером БД ТСТ!!! В настройках NWLink IPX/SPX-совместимого протокола на ПК с PSERVER тип кадра должен определяться или автоматически, или быть эквивалентным типу сетевого кадра по-умолчанию, установленному в настройках сетевого клиента на POS-терминале.

Настройки PSERVER могут быть такими:

 

  • В случае, если связь по IPX/SPX с PSERVER установить не удается можно попытаться использовать протокол NetBIOS поверх Novell IPX/SPX (на машине с PSERVER должна быть включена поддержка NetBIOS поверх NWLink IPX/SPX-совместимого протокола). Для этого в файле autoexec.bat на POS-терминале после запуска IPX/SPX-клиента необходимо прописать запуск программы netbios.exe (обычно поставлялся компанией Novell вместе с IPX/SPX-клиентом, в коде данного файла есть строчка Novell NetBIOS Emulation Package). Авторизационный модуль и PSERVER настраиваются на работу по NetBIOS как было описано выше, параметр «Номер LANA для NetBIOS» в настройках авторизационного модуля можно не указывать, т.к. он в данном случае равен 0.
  • В случае, если в сети ТСТ на ККМ используется Novell IP network client for DOS или PC/TCP client for DOS (второй протокол обычно используют магазины, работающие на ККМ с ПО «Кристалл-УКМ» от питерской компании «Кристалл-Сервис»), разворачивать в сети магазина коммуникационную программу Pserver не обязательно. Это может потребоваться для решения сопутствующих проблем (безопасность работы из сети ТСТ через Интернет, использование единственной телефонной линии для связи с хостом, ограничение листа доступа на маршрутизаторе единственным адресом из сети магазина и т.п.)

 

Пример настройки авторизационного модуля для работы через с хостами обслуживания банковских карт через Интернет:

Если непосредственно с ККМ выход в Интеренет организовать нет возможности, то можно использовать PServer, настроенный на прием запросов по TCP/IP от авторизационного модуля (тогда в настройках модуля должен фигурировать IP-адрес компьютера с PServer):

А с Pserver уже можно посылать запросы через Интернет:

 

В состав «Универсального ПО POS-терминалов Сбербанка России» начиная с версии 10.92 входит два варанта авторизационного модуля для MS DOS - UP_DOS2.EXE и UP_DOS3.EXE. Первый предназначен для работы с ПИН-клавиатурами SC5000, Ingenico 3500. Второй может работать так же и с клавиатурами SC552. Так как UP_DOS3.EXE по размеру намного превосходит UP_DOS2.EXE, то весьма вероятно, что на ККМ может не хватить свободной основной памяти для его запуска из под ПО ККМ!!! В ПИН-клавиатуры должно быть загружено «Универсального ПО POS-терминалов Сбербанка России» актуальной версии.

Для работы с ПО ККМ исполняемый модуль должен быть переименован в SB_PILOT.EXE.

Важно!!! Для установки модуля на ККМ необходимо заранее подготовить файл с настройками (использовать tlvedit.exe) и полжить его в необходимый каталог на ККМ вместе с sb_pilot.exe. Первый запуск sb_pilot.exe без параметров позволит через соответствующее меню загрузить подготовленный файл с параметрами для данного POS-терминала. (F1 → Служебные операции → Настройки → Техническое обслуживание → Пароль → Загрузка параметров).

После успешной загрузки параметров терминал готов к работе в составе ПО ККМ, которое, кстати, так же необходимо предварительно настроить на работу с нашим модулем.

Доступ к COM-порту с ПИН-клавиатурой авторизационный модуль для DOS осуществляет не через номер com-порта, а через номер прерывания и базовый адрес. Эти реквизиты требуется предварительно уточнить.

Настройка связи с системой радиовызова на базе пейджеров Apollo AL-924

 

См. документ "Система радиовызова на базе пейджеров Apollo AL-924" http://support.ucs.ru/ru/node/3688

Подключение весов к кассе RK6

Вводная информация

К кассам RK6 могут быть подключены электронные весы. Используются:

  • Для оформления и продажи весовых блюд.
  • При проведении инвентаризации (барной продукции) с использованием кассы. Подробнее здесь - http://support.ucs.ru/ru/node/370.

Оборудование

Ниже представлен список весов поддержанных на данный момент (актуально, по состоянию на 11.09.2015):

Таблица №1 - Перечень поддержанных весов
    Драйвер (DOS) Драйвер (Win)    
№ п.п. Название модели (протокола) весов  Название Версия  Название Версия Интерфейс Примечание
1 Весы BA-3T.2, BA-6T.2, BA-15T.2 BA-XT2.DLL 1.01 baxt2.dll 1.01 RS-232  
2 Весы BIZERBA BIZERBA.DLL 1.03 нет - RS-232  
3 Протокол линейки весов CAS CAS.DLL    CAS.DLL 1.01 RS-232 CAS.DLL - разных модиф: SCL_CAS.DLL, SCL_LP15.DLL
4 Проткол весов CAS-LP2 CASLP2.DLL 1.03 нет нет RS-232  
5 Весы DIGI DS нет нет digids.dll 1.01 RS-232  
6 Весы ELIT 15S ELIT15S.DLL 1.01 нет - RS-232  
7 Весы Меркурий-314 MERK314.DLL 1.01 нет - RS-232  
8 Протокол линейки весов Штрих  SHTAC.DLL 1.02 нет - RS-232  
9 Протокол линейки весов Штрих 1.2 STRIH12.DLL 1.01 strih12.dll 1.01 RS-232  
10 Весы TIGER TIGER.DLL 1.03 нет нет RS-232  
  • В большинстве случаев, для подключения весов используется RS-232 интерфейс. 
  • В редких исключениях (если речь о Windows) - можно использовать подключение USB на виртуальный COM-порт.
  • Так же были реализации с использованием ethernet-интерфейса, по конкретным ТЗ заказчиков для поддержки конкретных моделей весов (возможно, дополнительная информация есть на www.tracker.ucs.ru:8080).

Системные требования

  1. POS-терминал (DOS или Win) - со свободным(и) COM-портом(ами) для подключения весов.
  2. Весы - протокол которых поддержан драйвером (DOS или Win) со стороны кассового ПО. 
  3. Кассовое ПО "RKCLIENT" (DOS или Win) - любой более-менее современной версии кассы (6.60 и выше).

Подключение и настройка на кассе

  1. При приобретении весов знать (уточнить) имеют ли драйвер со стороны кассового ПО (см. таблицу №1). Обратить внимание на платформы - Dos или Win. 
  2. Подключить к POS-терминалу. Распайка (или интерфейсный кабель) для подключения должны быть в комплекте с весами. Если нет - взять распайку на сайте производителя из технической документации, распаять кабель самостоятельно.

Примечание: для моделей весов CAS можно воспользоваться документом - http://support.ucs.ru/ru/node/317#header-11.

  1. Скачать с ФТП архив нужного драйвера - ftp://ftp.ucs.ru/r-keeper/versions/SCALE/ (здесь находятся актуальные версии драйверов). Архив содержит как правило, сам драйвер и краткое техническое описание по установке драйвера (*.txt). Например, для весов "CAS":
  • CAS.DLL - драйвер
  • CAS.TXT - техническое описание по использованию драйвера

Примечание: при необходимости, можно найти и использовать "старые" версии драйверов (только для DOS-касс). Они находятся в старых кассовых дистрибутивах, в папке \KACCA\Stations\Devices\VESY.

  1. Распаковать и скопировать внутрь кассовой программы:
  • В C:\RKCLIENT\ - если речь о DOS.
  • В \rk6win - если речь о версии кассы для Windows.
  1. Описать параметры подключения весов в кассовом конфигурационном файле RKEEPER6.INI. Параметры брать из технического описания к драйверу. Ниже представлена часть rkeeper6.ini на примере настройки весов CAS:
Scale=CAS.DLL    - обязательный параметр при подключении любых весов. Указать драйвер весов.
ScaleComPort=1   - COM-порт на котором подключены весы.
ScaleUnit=0   - в каких единицах передавать вес на кассу. Касса по-умолчанию полученный вес умножает на 100. 
                0 - в кг
                1 - в 0,1 кг
                2 - в 10 кг
                3 - в 100 кг
ScaleLog=0      - писать лог: 1 - да, 0 - нет.
  • Надо отметить, что существуют модификации библиотек которые могут передавать вес на кассу по другим коэффициэнтам. Например, библиотеки SCL_CAS.DLL, SCL_LP15.DLL (из старых дистрибутивов касс) могут передавать вес со следующими коэффициэнтами:
ScaleUnit =   0 - передавать вес как есть
              1 - данные полученные с весов умножать на 10
              2 - данные полученные с весов делить на 10
              3 - данные с весов делить на 100

6. После выполненных настроек на DOS-терминале, для проверки работы весов можно воспользоваться специальной утилитой - testscl.exe. Взять можно в дистрибутиве любой dos-кассы rk6, в каталоге \KACCA\Stations\Devices\VESY.

  • Позволяет проверить работу без запуска кассовой программы, но с учетом выполненных в rkeeper6.ini настроек. Если при проверке через нее весы работают корректно, то в кассовой программе они будут работать так же.
  • Для запуска скопировать утилиту в \RKCLIENT запускать из командной строки с указанием DLL весов:
C:\RKCLIENT\TESTSCL.EXE CAS.DLL

Примечание: для Windows, к сожалению, подобной утилиты не предусмотрено.

  1. Запустить кассу, добавить весовое блюдо в заказ, взвесить на весах и передать на кассу значение нажав в интерфейсе заказа кнопку "Вес". В поле количество подставится значение веса (с учетом настроенного коэффициэнта) переданного с весов.

Настройка в Менеджерской RK6

Для нужных блюд  выставить параметры:

  • "Весовой товар" - обязательно.
  • "Количество после взвешивания" - по необходимости. 

Примечание: описание по работе с весовым товаром см.в пользовательской документации - ftp://ftp.ucs.ru/books/r-keeper_v6_manager_user_manual.pdf.

 

Подключение сканера штрих-кодов с интерфейсом PS/2 или USB (BARCODE.DLL)

 

Вводная информация

На кассовой станции R-Keeper v6 сканер штрих-кодов можно использовать для добавления блюд/товаров в заказ по штрих-коду - в данном документе рассматривается настройка и подключение сканера с интерфейсом PS/2 или USB (в режиме эмуляции клавиатуры).

Для использования сканера с интерфейсом PS/2 или USB требуется доп. процедура программирование префикса - это необходимо для однозначного разделения данных, поступающих в клавиатурный порт.

 

Примечание: Настройка и подключения сканера с интерфейсом RS-232 не требует дополнительного программирования префикса сканера.

 

Программирование префикса сканера

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

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

 

Примечание: Префикс необходим для корректной работы драйвера BARCODE.DLL - только при условии совпадения данных, запрограммированных в префиксе и данных, записанных в BARCODE.DAT, считанная информация будет обработана как штрих-код блюда/товара.

 

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

Префикс представляет некоторую последовательность символов, которая передается в клавиатурный порт перед значением считанного штрих-кода.

Для корректной работы драйвера BARCODE.DLL префикс не должен быть "простым" - рекомендуется использовать комбинации символов, которые невозможно или сложно получить с помощью нажатия клавиш на кассовой или обычной клавиатуре. Например, можно использовать такие комбинации, как Ctrl+<символ>

 

Важно: Последовательность символов, представляющих префикс, записывается в BARCODE.DAT в виде шестнадцатиричных значений (HEX) скан-кодов символов, тогда как префикс сканера программмируется, как правило, в виде шестнадцатиричных значений ASCII-кодов символов.

 

Подробнее о скан-кодах https://ru.wikipedia.org/wiki/%D0%A1%D0%BA%D0%B0%D0%BD-%D0%BA%D0%BE%D0%B4

Подробнее о таблице символов ASCII https://ru.wikipedia.org/wiki/ASCII

 

Рассмотрим процесс программирования на примере комбинации Ctrl+B (данная комбинация выбрана не случайно - BARCODE.DAT с таким префиксом находится по-умолчанию в дистрибутиве \KACCA\STATIONS\DEVICES\BARCODE\KBD\BARCODE.DAT)

В терминах скан-кодов последовательность Ctrl+B представлена в виде двух "клавиш": клавиша "Ctrl" (правая или левая) и клавиша "B".

Согласно таблице скан-кодов (см.ссылку выше), клавише "Ctrl" соотв. код 1D, клавише "B" - код 30 (учитываются только коды коды нажатий) - таким образом, последовательность Ctrl+B предствляется в виде комбинации кодов 1D и 30, соотв. в файл BARCODE.DAT необходимо записать два байта с соотв. значениями:

 

 

В терминах таблицы ASCII последовательность Ctrl+B является управляющим кодом STX (^B) размером один байт и значением 2 (HEX):

 

Список управляющих кодов таблицы ASCII можно найти в интернете, например http://academic.evergreen.edu/projects/biophysics/technotes/program/ascii_ctrl.htm или https://ru.wikipedia.org/wiki/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D1%8E%D1%89%D0%B8%D0%B5_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D1%8B

Таким образом, для сканера необходимо запрограммировать префикс с кодом 2 (HEX) и размером один байт.

 

Примечание: Если программирование префикса сканера предполагает считвание скан-кодов вместо кодов ASCII-таблицы, процесс немного упрощается - достаточо

 

Пример программирования префикса (Datalogic QW2100)

Рассмотрим процесс программирования префикса на примере модели сканера Datalogic QuickScan Lite QW2100 с USB-интерфейсом.

Перед программированием сканера необходимо скачать документ Product Reference Guide, доступный по ссылке http://www.datalogic.com/tools/download.aspx?iddwnfile=12074&path=%2fupload%2fmarketlit%2fmanuals%2f820036414.pdf&name=820036414&idcontatt=60995

Для программирования префикса распечатаем cтраницу с сервисными коды из раздела Global Prefix/Suffix (стр. 68 из Product Reference Guide)

 

Также понадобиться страница с представлением

 

Примечание: Некоторые модели сканеров позволяют сканировать шрих-коды непосредственно с экрана монитора.

 

  • Для входа в режим программирования считываем сервисный штрих-код ENTER/EXIT PROGRAMMING MODE:

 

После входа в режим программирования сканер издает звуковой сигнал, после чего можео переходить к следующему этапу.

  • Сканируем сервисный штрих-код Set Global Prefix:

 

Настройка связи с другими системами компании

Настройка связи R-Keeper v6 с системой ПДС

Общая информация

ПО "Персональная депозитно-дисконтная система" (далее ПДС) предназначено для ведения собственной базы персональных платежно-дисконтных карт и организации работы с различными элементами системы лояльности (скидки, бонусы, накопления и т.д.)

Настройка ПДС

Установка и настройка системы ПДС подробно описана в документе http://support.ucs.ru/ru/node/6673

Настройка сервера карт (CARDSERV)

Для связи ПДС с кассовой системой R-Keeper v6 (далее RK6) достаточно выполнить стандартную установку и настройку сервера карт, которая описана в документе http://support.ucs.ru/ru/node/6673#header-4.

При настройке сервера карт следует обратить внимание на следующую информацию:

  • начиная с версии кассового сервера 6.102.2 реализовано подключение к серверу карт по протоколу TCP/IP - рекомендуется использовать этот вариант подключения и исключить использование модуля связи RNBOPEN.dll
  • на 64-битных ОС Windows наблюдается проблема с использованием сетевого взаимодейтсвия через NetBIOS - рекомендуюется исключать в конфигурации сервера карт использование модулей RNBOPEN.dll и RNETBIOS.DLL

Настройка редактора карт (PCARDS)

Стандартная установка и настройка редактора карт описана в документе http://support.ucs.ru/ru/node/6673#header-14.

После стандартной установки и настройки редактора карт для связи с RK7 необходимо:

  • при использованиии менеджерской RK6 версии 6.75 и выше скопировать в корень рабочей директории PCards библиотеку \PCARDS\PCGET\RK675\Pcget.dll
  • при использованиии менеджерской RK6 версии ниже 6.75 скопировать в корень рабочей директории PCards библиотеку \PCARDS\PCGET\RK\Pcget.dll
  • из рабочей директории менеджерской RK6 скопировать файлы rklogin.dll и rklogin.RUS в рабочую директорию PCards
  • в конфигурауионном файле редактора карт RKEEPER.INI прописать параметы Alias1 и Alias2:
[Common]
Alias1 = D:\RK6\DB\ - путь к рабочей базе ARK6.UDB
Alias2 = D:\RK6\DB\ - путь к рабочей базе справочников RK6
  • запустить редактор карт и проверить доступность скидок и бонусов в режиме редактирования карты

Настройка R-Keeper v6

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

Для настройки менеджерской RK6 необходимо:

  • запустить приложение \RK6\DEALRK.EXE и войти в конфигурацию, используя дилерский ID и пароль (может потребоваться актуальная версия файла ral.dat)
  • на закладке "Конфигурация" включить две опции:
    • "Использовать персональные гостевые карты"
    • "Использовать PCARDS.EXE"

Настройка кассовой системы

Для связи кассовой системы RK6 с сервером карт необходимо в конфигурационном файле кассового сервера RKEEPER.INI прописать параметр ApServer:

ApServer = <имя или IP-адрес сервера карт>

Важно! С кассовой версии 6.102.2 реализована поддержка подключения к нескольким серверам карт - для этого используются параметры ApServer1, ApServer2 и т.д.

Подробное описание параметров конфигурационного файла RKEEPER6.INI можно посмотреть по ссылке http://support.ucs.ru/ru/rkeeper6.ini

Установка и настройка ПО "Доставка" (Delivery RK6)

 

Статья по установке ПО Delivery RK6 находиться в справочнике ПО "Доставка" -  http://support.ucs.ru/ru/node/6351

 

 

Настройка связи R-Keeper v6 с системой видеоконтроля Surveillance

 

Настройка связи R-Keeper v6 с системой видеоконтроля подробно описана в документации по системе Surveillance в разделе "Настройка кассовой системы" http://support.ucs.ru/ru/node/6132#header-21

Установка и настройка R-Keeper BackOffice Reports

Приложение R-Keeper BackOffice Reports входит в семейство продуктов UCS HeadOffice и предназначено для просмотра консолидированной отчетности по всем ресторанам сети, а также предоставляет некоторые дополнительные возможности.
 

Установка СУБД Interbase

Для установки серверной части рекомендуется использовать ОС Windows 2000 Server или Windows 2003 Server. При использовании конфигурации с одним компьютером (одно рабочее место-клиент и сервер на одном компьютере) можно использовать Windows 2000 Professional или Windows XP.

R-Keeper BackOffice Reports работает под управлением СУБД Interbase версии 6.5, которую необходимо инсталлировать перед установкой основного приложения. Рекомендуется устанавливать как Interbase Server, так и Interbase Client – для установки системных утилит (IBConsole, Interbase Server Manager), с помощью которых осуществляется поддержка и обслуживание базы данных Interbase ( см. Рис.1 Компоненты Interbase Server)
После завершения установки Interbase Server необходимо убедиться в том, что запущена служба Interbase Guardian которая следит за состоянием сервера Interbase.

Установка серверной части

Для установки приложение запустите с дистрибутивного диска файл setup.exe, который по умолчанию находится в директории RKeeper BackOffice 3.0 with Novex. Инсталляционный пакет предложит указать директорию, куда будет установлено приложение (по умолчанию X:\Program Files\UCS\RKeeper BackOffice) и директорию, куда будет установлена база данных (по умолчанию X:\Program Files\UCS\RKeeper BackOffice\Database), где X -буква системного диска. Можно выбрать произвольный путь для приложения и базы данных, но рекомендуется использовать директории по умолчанию.

Далее необходимо выбрать устанавливаемые компоненты (см. Рис.1 Выбор компонентов сервера) :

RKeeper BackOffice Console – модуль для администрирования и настройки
RefFile View Utils – вспомогательная утилита, предназначенная для просмотра ref-файлов, сформированных в локальных ресторанах
Interbase UDF Library – набор специальных библиотек, необходимых для корректной работы приложения. Необходимы только для серверной части
Host Card Server – верхний сервер карт. Специальное приложение для организации распределенной дисконтно - платежной системы. Устанавливается только на сервере
Database – установка сервера и базы данных приложения. Этот компонент устанавливается только на сервере. Также этот компонент добавляет в автозагрузку приложение Borland Socket Server, которое необходимо только для сервера
Guardant – драйвер для электронных ключей Guardant. Устанавливается только на сервер, т.к. клиентское приложение не требует ключа
После окончания установки на рабочем столе появится две иконки: R-Keeper BackOffice Reports и R-Keeper BackOffice Console (последний только в том случае, если был выбран компонент RKeeper BackOffice Console)

Установка клиентской части

Если для установки RKeeper BackOffice Reports не предусмотрен выделенный сервер, или предполагается использование приложения ТОЛЬКО на одном компьютере, то этот раздел можно пропустить - все операции по установке в таком случае описаны в разделе 2.1 Установка серверной части

Необходимые действия для установки клиентского рабочего места:

  • Запустите файл setup.exe из директории RKeeper BackOffice 3.0 with Novex.

Примечание: Для установки клиентской части НЕ ТРЕБУЕТСЯ установка Interbase Client-а

  • В процессе установки выберите следующие компоненты:

     - RKeeper BackOffice Console
     - Ref File View Utils – утилита для просмора REF-файлов.

  • После завершения установки запустите приложение BkCon.exe или BkOffice.exe (находятся по умолчанию в директории, указанной при инсталляции) с ключом –h:<IP-адрес сервера>

    Например: BkCon.exe –h:192.168.0.1 , где 192.168.0.1 – IP-адрес компьютера, на котором установлены Interbase Server и RKeeper BackOffice Server (см. выше). 

    После запуска любого из этих приложений с этим ключом, в разделе [HKEY_CURRENT_USER\Software\UCS\RKeeper BackOffice] создается строковый параметр HostName, значение которого соответствует IP-адресу, указанного в ключе –h при запуске. Если в процессе этих действий параметр все же не создался в реестре - создайте его вручную.

    Примечание: Если при загрузке данных с локальных ресторанов (REF-файлов), вы получаете сообщение в лог-файле "No address specified", это обозначает, что параметр HostName отсутствует.

  • При запуске любого приложения (BkCon.exe или BkOffice.exe) используйте имя пользователя «Administrator» и пароль «ucs» - пользователь по умолчанию. Вы можете добавить других пользователей со своими правами (см. Раздел 4.1 Администрирование RKeeper BackOffice Reports)
  • Если загрузка данных из локальных ресторанов производится на клиентском компьютере, необходимо сделать следующее: 
    В  разделе HKEY_CURRENT_USER\Software\UCS\RKeeper BackOffice создать параметр «Connection Type» типа DWORD и присвоить ему значение «1»Установить BDE версии 5.01

Установка дополнительных утилит для RKeeper HeadOffice

При использовании в центральном офисе система R-Keeper BackOffice Reports для консолидированной отчетности, в локальных ресторанах необходимо периодически формировать файл с данными и отправлять его в центральный офис. Все эти операции можно проделать вручную, использую приложение «Транспорт данных» и, например, электронную почту для отправки в офис, а можно автоматизировать с помощью нескольких  утилит – BOMAKER.EXE и TRANSFER.EXE

Установка и использование BOMAKER.EXE

Приложение BOMAKER.EXE предназначено для автоматического формирования REF-файлов, которые затем отправляются в центральный офис. Установочные файлы находятся в директории \Bomaker.

Основные принципы работы приложения BOMAKER.EXE:

  • приложение формирует REF-файл в том случае, если появились новые данные с момента последнего запуска.
  • в один файл может быть записано не более 7 дней.
  • REF-файлы создаются по маске rNNNN-YYYYMMDD-YYYYMMDD-UUUUUUUU-CC.ref,
    где

    • NNNN – код ресторана,
    • YYYYMMDD - первая дата в этом файле,
    • YYYYMMDD- последняя дата в этом файле,
    • UUUUUUUU - уникальный набор символов,
    • CC - контрольные символы названия (XOR всех символов перед ними)

Необходимо учитывать, то при первом запуске BOMAKER.EXE будет создан REF-файл, содержащий данные с первого дня работы ресторана. Если необходимо создать файл с произвольной даты, необходимо запустить BOMAKER.EXE, указав в качестве параметра нужную логическую дату в формате Windows:

BOMAKER.EXE 01.01.2005

После каждого запуска BOMAKER.EXE формируется файл BOMAKER.DAT, который содержит параметры отсылки. При последующем запуске BOMAKER.EXE считывается информация с этого файла и формирование REF-файла начинается уже с даты, сохраненной в файле BOMAKER.DAT

В случае возникновения проблем при запуске или формировании REF-файлов создается log-файл (BOMAKER.LOG)-в него записывается информация об успешных созданиях REF-файлов

Все настройки приложение BOMAKER.EXE берет из файла RKEEPER.INI, который должен находиться в той же директории. Содержимое RKEEPER.INI:

[Common]
Alias1= -каталог словарей R-Keeper
Alias2= -каталог с базой ARK6.UDB

[Transport]
OfficeOut = <каталог, в который будут записываться REF-файлы> 

Рекомендуется создать bat-файл, где указать запуск приложения APPEND32.EXE и затем запуск приложения BOMAKER.EXE.

Пример bat-файла:

C:\RK6\Append32.exe
C:\RK6\BOMAKER\Bomaker.exe

Затем создать ярлык на этот bat-файл (желательно в свойствах ярлыка указать «Свернутое в значок» в поле «Окно» на закладке «Ярлык») и вынести его на рабочий стол вместо ярлыка «Закрытие дня». В таком случае процесс формирования REF-файла для пользователя будет прозрачным – каждый раз, когда будет выполняться процедура "Закрытие дня" на менеджерском компьютере, будет формироваться REF-файл, содержащий данные за прошедший кассовый день

Установка и использование TRANSFER.EXE

Приложение TRANSFER.EXE предназначено для автоматической передачи REF-файлов в центральный офис (на центральный сервер). Установочные файлы находятся в директории \Transfer.

Основные возможности приложения TRANSFER.EXE:

  • Автоматическое соединение с главным FTP-сервером для передачи данных. Соединение может происходить как в ручном режиме (принудительное), так и в автоматическом через заданные промежутки времени
  • При использовании модемной связи автоматическое подключение к Интернету, передача данных и отключению от линии

Все настройки TRANSFER.EXE берет из реестра (используется ветка HKLM\Software\UCS\Transfer). Для настройки приложения можно воспользоваться утилитой SETUP.EXE.

Основные параметры следующие:

  1. Закладка «Dialup» отвечает за настройки, используемые при подключении по модемной связи. Если параметры «Запись телефонной книги» и «Номер телефона» не заполнены, TRANSFER.EXE будет сразу пытаться подключиться к FTP-серверу, используя текущее подключение Windows.
    • «Запись телефонной книги» - имя соединения, созданное для подключения по модему (имя поставщика услуг). Это наименование можно посмотреть в свойствах «Сетевого окружения»
    • «Номер телефона» - номер телефона дозвона к провайдеру
    • «Имя пользователя» и «Пароль» - идентификация пользователя для подключения к провайдеру
  2. Закладка «FTP Connect» отвечает за настройки подключения к основному FTP-серверу
    • «Сервер» - IP-адрес FTP-сервера, к которому требуется подключение
    • «Имя пользователя» и «Пароль» - идентификация пользователя для доступа к FTP-серверу
  3. Закладка «Настройки» отвечает за дополнительные настройки приложения TRANSFER.EXE:
    • «Удалять файлы после отправки» - указывает, следует ли удалять отправленные файлы в том месте, где они хранились до передачи. Рекомендуется использовать эту опцию, иначе TRANSFER.EXE каждый раз будет передавать не только новые файлы, но и все файлы, находящиеся в директории для отправки.
    • «Удалять файлы на FTP сервере после приема» - указывает, следует ли удалять файлы на удаленном FTP-сервере после приема их в локальном ресторане. Данная опция используется в том случае, если передача осуществляется не только из локального ресторана в офис, но и из офиса в локальный ресторан (например, при использовании R-Keeper BackOffice Editor или StoreHouse BackOffice).
    • «Производить обмен каждые … минут» - указать периодичность (в минутах), с которой приложение TRANSFER.EXE будет осуществлять подключения к FTP-серверу и обмен данными. Это опция имеет смысл в том случае, если приложение TRANSFER.EXE запускается автоматически (например, в автозагрузке Windows)
  4. Следует также указать директории, которые будет использовать TRANSFER.EXE при обмене данными. Эти директории также определяются в реестре, в ветке HKLM\Software\UCS\Transfer\DirsCfg. В этом разделе необходимо создать несколько строковых переменных типа String:
    • LocalOut – определяет директорию, которую будет сканировать приложение TRANSFER.EXE для отправки ref-файлов в центральный офис
    • RemoteIn – определяет директории на центральном сервере, в которую приложение TRANSFER.EXE будет переносить сформированные файлы из локального ресторана.
    • LocalIn – определяет локальную директорию для файлов, получаемых при приеме (например из приложения Rkeeper BackOffice Editor)
    • RemoteOut – определяет директрию на удаленном FTP – сервере, с которой приложение TRANSFER.EXE будет забирать данные

Если коротко, обмен происходит по следующей схеме:

LocalOut -> RemoteIn
RemoteOut -> LocalIn

Значение переменной LocalOut должно соответствовать значению переменной OfficeOut, указанной в разделе [Transport] основного конфигурационного файла RKEEPER6.INI .

 Для ручного режима передачи данных необходимо запустить приложение TRANSFER.EXE с ключом –w:

TRANSFER.EXE -W

На дистрибутивном диске в директории TRANSFER есть файл example.reg, с помощью которого в реестр импортируются настройки. При необходимости их можно скорректировать

Настройка связи R-Keeper v6 с сиcтемой учета розлива пива

1 Настройка системы розлива без бармена

Подробнее о том, как настроить систему учету розлива пива без бармена читайте в статье http://support.ucs.ru/ru/node/288.

2 Настройка менеджерского модуля R-Keeper v6

В приложении "Редактор" сделайте следующее:

  1. создайте виртуальный юнит, например UNIT55.

  2. с помощью Устройства⇒Тарифы создайте один тариф равный стомости пива за 10 мл.

  3. с помощью Устройства⇒Устройства создайте группу устройств с сетевым именем, например BEER

  4. создайте устройства в количестве, равном количеству кранов разлива пива и назначьте им тариф, созданный в первом пункте.

Настройка связи R-Keeper v6 с системой VDU

Документация по установке системы VDU и настройке связи с R-Keeper v6 http://support.ucs.ru/ru/node/5259

Автоматический импорт данных из RK6 в SH4

Документ в справочнике SH4 http://support.ucs.ru/ru/node/8526

Система лицензирования l.ucs.ru (License server v4)

 

 

 

 

 

 

 

Внимание! В связи с вступлением в силу ФЗ-54 требуется обновление текущей версии R-Keeper модуль Касса RK6 ПО и R-Keeper модуль Касса RK6 ПО. Более подробно о порядке обновления см.п. 11.2.1

При изменении фискального регистратора, а также при изменении названия реторана лицензию RK6 необходимо обновлять. Подробнее - в технической документации по продукту http://support.ucs.ru/ru/node/8826.

Названия продуктов изменились. Следует учесть это при составлении заявок на ПО.

Было Стало
RK7 Delivery dispatcher R-Keeper модуль Delivery Менеджер ПО
RK7 Delivery operator R-Keeper модуль Delivery Оператор ПО
K7 Delivery expeditor R-Keeper модуль  Delivery Станция распределения заказов ПО
RKCloud - RK7 Stations R-Keeper Cloud-RK7 Stations
interface Farcards-HTTP R-Keeper Интерфейс Farcards-HTTP ПО
Mobile Waiter R-Keeper модуль  Официант Mobil Station ПО
RKeeper HeadOffice R-Keeper модуль HeadOffice ПО
KDS R-Keeper модуль KDS ПО
RK-Order R-Keeper модуль Tablet Menu ПО
VDU R-Keeper модуль VDU ПО
RKeeper 7 Write XML Order R-Keeper модуль XML сохранение заказов ПО
Virtual card R-Keeper модуль Виртуальная карта ПО
RKeeper 7 Restorun Interface R-Keeper модуль Интерфейс к системе RestorunПО
UCS Video Surveillance RKeeper 7 Interface R-Keeper модуль Интерфейс к системе доставки ПО
RKeeper 6 Stations R-Keeper модуль Электронный чек для Кассы ПО
RKeeper 7 Stations R-Keeper модуль Касса  RK 7 ПО
RKeeper 6 Stations R-Keeper модуль Касса K6Win   ПО
RK7 Kiosk without payment option R-Keeper модуль Киоск самообслуживания без функции оплаты ПО
RK7 Kiosk with payment option R-Keeper модуль Киоск самообслуживания ПО
Mobile Manager R-Keeper модуль Мобильный менеджер ПО
Mobile Waiter Orderman R-Keeper модуль Официант Mobil Station - Orderm
Rkeeper 6 Waiter R-Keeper модуль Официант WIN ПО
Rkeeper 6 Waiter R-Keeper модуль Официант ПО
RKeeper 7 Web Monitoring WEB Мониторинг ПО
RKeeper 7 Web Reports WEB Отчеты ПО
StoreHouse 4 StoreHouse  V4 Программное обеспечение
RKeeper 7 Report Server R-Keeper модуль Менеджер RK 7 ПО
 

1 Возможности системы лицензирования

Система предназначена для работы с базами лицензий для продуктов:

  • R-Keeper модуль Менеджер RK 7 ПО;
  • R-Keeper модуль Касса  RK 7 ПО;
  • Delivery модуль ЭкспедиторПО;
  • Delivery модуль ОператорПО;
  • R-Keeper Cloud-RK7 Stations;
  • R-Keeper Интерфейс Farcards-HTTP ПО;
  • R-Keeper модуль  Официант Mobil Station ПО;
  • R-Keeper модуль HeadOffice ПО;
  • R-Keeper модуль KDS ПО;
  • R-Keeper модуль Rk-Order ПО;
  • R-Keeper модуль VDU ПО;
  • R-Keeper модуль XML сохранение заказов ПО;
  • R-Keeper модуль Виртуальная карта ПО;
  • R-Keeper модуль Интерфейс к системе RestorunПО;
  • R-Keeper модуль Интерфейс к системе доставки ПО;
  • R-Keeper модуль Касса   ПО;
  • R-Keeper модуль Касса  RK 7 ПО;
  • R-Keeper модуль Касса K6Win   ПО;
  • R-Keeper модуль Официант ПО;
  • WEB Мониторинг ПО;
  • WEB Отчеты ПО;
  • StoreHouse  V4 Программное обеспечение.

Вход в приложение осуществляется через браузер по адресу http://l.ucs.ru под дилерским логином и паролем.

2 Получение доступа к системе лицензирования

2.1 Получение учетной записи дилера

После заключения договора и оплаты дилерского взноса необходимо отправить письмо Николаевой Татьяне по адресу nikolaeva@ucs.ru с просьбой выдать учетную запись для доступа к системам компании UCS (образец письма см. рис. 1). Учетная запись дает доступ к программам: R-Keeper; FTP; Support; Tracker. Заявка на получение учетной записи обрабатывается не больше трех рабочих дней.

 

 

Рис.1 - Заявка на получение учетной записи для доступа к системам компании UCS

 

2.2 Регистрация в системе лицензирования

На почту дилеру приходит письмо со ссылкой на Систему лицензирования, логином и паролем. Для регистрации переходим по полученной ссылке, вводим логин, пароль (см. рис. 2)

 

Рис. 2 - Вход  в систему лицензирования

 

Далее для регистрации нажимаем на имя пользователя, появившееся в правом верхнем углу. Появится форма с данными пользователя, включая пароль (см. рис. 3). Все данные пользователь самостоятельно может изменять. 

 

Рис. 3 - Настройки пользователя.

 

3 Порядок действий при лицензировании объектов нового клиента

1. Создаем новую корпорацию.
2. Создаем новый объект.
3. Делаем запрос на необходимое ПО
4. Получаем мастер-лицензии.
5. Генерируем лицензии .
6. Проводим лицензирование на менеджерской станции  RK7.

3.1 Создание новой корпорации

Для создания новой корпорации заходим в меню "Справочники"-"Корпорации"-"Создать корпорацию", вводим название, адрес, страну, город, электронный адрес и телефон корпорации, код корпорации (если не назначить код корпорации вручную, код создастся автоматически), нажимаем кнопку "Сохранить" (см. рис. 4). Если корпорация не была изначально создана вами - необходимо обратиться к ответственному сотруднику UCS для получения доступа к этой корпорации. Тогда она появится в поиске у вас и можно будет использовать ее для создания объектов.

 

Рис. 4 - Создание новой корпорации 

3.2 Создание нового объекта

Для создания нового объекта заходим в меню "Объекты", вводим название объекта, выбираем корпорацию, в которую будет входить объект, вводим адрес (улица, дом, квартира), страну, город, электронную почту и телефон объекта, ФИО ответственного IT специалиста и его e-mail. В том случае, если корректно введен адрес объекта, координаты объекта автоматически отобразтся на карте при нажатии кнопки "Найти на карте" (см. рис. 5).Также, если выбрать местонахождение объекта на карте, то его адрес заполнится автоматически. Выбираем группу объектов. Вводим код объекта (если не сделать этого вручную, код назначится автоматически). Нажимаем "Создать".

 

Рис. 5 - Создание нового объекта

После создания объекта в карточке объекта ("Справочники"-"Объекты"), во вкладке "Реквизиты" заводим реквизиты ресторана.

3.2.1 Создание реквизитов объекта, являющегося юридическим лицом

Для создания реквизитов объекта, являющегося юридическим лицом, нажимаем кнопку "Создать", в открывшемся окне выбираем тип контрагента "Юр. лицо". В поле "ИНН" вводим ИНН юр. лица, после чего поля "КПП", "ОГРН", "Полное название", "Короткое название", "Почтовый адрес" заполнятся автомаически. В поле "Адрес регистрации" вводим адрес регистрации объекта: город, улицу, номер дома, квартиру. Из выпадающего списка выбираем подходящий адрес. Остальные поля не обязательны к заполнинию и заполняются по желанию. Нажимаем кнопку "Сохранить"(см. рис. 5а). После сохранения реквизиты отобразятся в карточке объекта и мы сможем использовать их при составлении заявок на ПО (см. рис. 5в).

Внимание! Редактирование реквизитов невозможно после отправки заявки на ПО с указанием созданных реквизитов.

 

Рис. 5а - Создание реквизитов объекта

Рис. 5б - Ввод адреса объекта

Рис.5в - Заполненные реквизиты

В дальнейшем реквизиты используются при составлении заявки "На ПО".

3.2.2 Создание реквизитов объекта, являющегося иностранным юридическим лицом

Для создания реквизитов объекта, являющегося иностранным лицом, в карточке объекта, во вкладке "Реквизиты" нажимаем кнопку "Создать", в открывшемся окне в поле "Тип контрагента" выбираем "Иностранное юр. лицо". Заполняем поля "Полное название", "Короткое название" (они могут совпадать), "Почтовый адрес" и "VAT CODE" (при отсутствии vat-code у предприятия в этом поле указываем "n/a"). Остальные поля не обязательны к заполнению и заполняются по желанию. Нажимаем кнопку "Сохранить" (см. рис. 5г), после чего заполненные реквизиты отобразятся в карточке объекта.

Рис.5г - Заполнение реквизитов для иностранным юридических лиц

 

3.2.3 Создание реквизитов объекта, являющегося индивидуальным предпринимателем

Для создания реквизитов объекта, являющегося индивидуальным предпринимателем, в карточке объекта во вкладке "Реквизиты" нажимаем кнопку "Создать". В открывшкмся окне в зоне "Тип контрагента" выбираем "ИП", вводим в зоне "ИНН" ИНН объекта, после чего зоны "Полное название", "Короткое название" и "Почтовый адрес" заполнятся автоматически. Заполняем зоны "Адрес регистрации", "Телефон", "Расчетный счет", "Кор счет", "БИК". Остальные зоны не являются обязательными к заполнению и заполняются по желанию. Нажимаем кнопку "Сохранить" (см. рис. 5д). После чего реквизиты отобразятся в карточке объекта.

Рис. 5д - Заполнение реквизитов для индивидуальных предпринимателей

 

 

 

 

3.3 Составление заявки на покупку ПО

Для составления заявки на ПО заходим в меню "Заявки"-"На ПО". Выбираем необходимый объект. С помощью кнопки "Выбрать ПО" ( см.рис. 6) выбираем из списка (см. рис. 7) интересующие нас ПО и ключи, выбираем реквизиты дилера, реквизиты ресторана. Вносим, если требуется, комментарии, прикрепляем файлы, нажимаем кнопку "Отправить".

 

Рис. 6 - Заявка на ПО

 

Рис. 7 - Выбор ПО

Проверить состояние заявки можно в меню "Все заявки" (см. рис. 8). Для поиска заполняем не обходимые параметры фильтрации, нажимаем кнопку "Фильтровать". У заявки может быть четыре статуса:

- "Send"- отправлена на рассмотрение;

- "Not Send" - черновик, не отправлена;

-  "Confirm UCS" - подтверждена UCS;

-  "Reject" - отказана UCS

. Редактировать заявки можно только со статусом "Not Send".

 

Рис. 8 - Меню "Все заявки"

3.4 Оплата, получение мастер-лицензий

После отправки заявки менеджер ucs выставляет счет на заказанные продукты. Для просмотра выстваленного счета переходим по ссылке с номером счета в меню "Все заявки"-в столбце "Номер счета" (см. рис. 9).

Рис.9 - Просмотр счета

3.4.1 Счет

В счете для любого ПО, кроме продуктов типа Saas, будет отображаться стоимость ПО (в соответствии с заявкой) , дата счета, общая сумма к оплате, получатель, заявки, на которые был создан счет (см. рис. 10).


Рис. 10 - Счет

После оплаты выбранного ПО и подтверждения сотрудником UCS заявки получаем мастер-лицензии (см.рис. 11).

 

Рис. 11 - Полученные мастер-лицензии

3.4.2 Счет для продуктов группы Saas

В случае, если заявка содержала продукты группы Saas, в счете отобразится дата счета, общая сумма к оплате, заявки, на которые был создан счет. В том случае, если продукты группы Saas заказаны впервые, в счет попадет стоимость обслуживания за остаток текущего месяца и за полный следующий месяц (см. рис. 12).

 

Рис. 12 - Счет на ПО группы Saas

После оплаты выбранного ПО и подтверждения сотрудником UCS  заявки получаем мастер-лицензии (см.рис. 13).

 

Рис. 13 - Полученные мастер-лицензии

Важно: если необходимо расширить количество лицензий на ПО в рамках текущей мастер-лицензии, то необходимо создать новую заявку на ПО с новым (большим) количеством лицензий. После подтверждения заявки общее количество в мастер-лицензии суммируется.

3.5 Генерация лицензий

3.5.1 Генерация лицензий для RKeeper 7 Station

Для генерации лицензий заходим в меню "Объекты", находим необходимый, нажимаем кнопку "Просмотр". В карточке объекта нажимаем кнопку "Новая лицензия" (см. рис. 14). В открывшемся окне (см. рис. 15) вводим код запроса (о получении кода запроса см. п. 5), нажимаем "Далее".

 

Рис. 14 - Карточка объекта

 

Рис. 15 - Ввод кода запроса

Появится окно с выбором ПО (см. рис. 16). Выбираем ПО, количество необходимых лицензий, указываем дату ограничения действия лицензии (если лицензия должна быть неограниченной - указываем дату 01.01.2100), нажимаем "Вперед". В открывшемся окне отобразится код лицензии (см. рис. 17)

 

Рис. 16 - Выбор параметров для генерации лицензий

 

Рис. 17 - Код лицензии

В том случае, если окончание лицензии приходится на выходной/праздничный день, то система выдаст соответствующее предупреждение (см. рис. 18), при этом позволив дальнейшую генерацию лицензии. 

Рис. 18 - Предупреждение об окончании лицензии в выходной день

 

Лицензирование менеджерской станции RK7 описано в п. 5

Информацию по активным и неактивным лицензиям объекта можно просмотреть в карточке объекта, нажав  кнопки "Активные лицензии" (см. рис. 19) и "Неактивные лицензии" (см. рис. 20), соответственно.

 

Рис. 19 - Просмотр информации по активным лицензиям объекта

 

Рис. 20 - Просмотр информации по неактивным лицензиям объекта

Примечание: для более удобного просмотра информации о мастер-лицензиях, лицензиях  и ключах можно воспользоваться кнопкой "Просмотр выбранной записи" (пример см. рис. 21). Например, информация о лицензии отобразится в следующем виде (см. рис. 16):

 

Рис. 21 - Просмотр информации

3.5.2 Генерация SOS-кодов для RKeeper 7 Station

Для генерации SOS-кода заходим в карточку объекта (см. рис. 19), нажимаем кнопку "Новая лицензия". В появившемся окне в строке "Тип лицензии" выбираем  "Генерировать SOS", вводим код запроса (где взять код запроса см. п. 5) (см. рис. 22), нажимаем "Далее", в следующем окне выбираем программу, для которой генерируем SOS-код, дату, которой будет ограничено действие SOS-лицензии, количество необходимых SOS-кодов, заводим комментарии, нажимаем кнопку "Дальше" (см. рис. 23).

 

Рис. 22- Запрос на генерацию SOS-кода

 

Рис. 23 - Выбор параметров для создаваемого SOS-кода

В том случае, если окончание SOS-кода приходится на выходной/праздничный день, система выдаст сообщение об этом (рис. 24) и автоматически перенесет окончание лицензии на ближайший рабочий день.

Рис. 24 - Сообщение об окончании лицензии в выходной день

 

После нажатия кнопки "Дальше" появится окно с необходимым нам SOS-кодом (см. рис. 25).

 

Рис. 25 - SOS-код для RKeeper 7 Station

Информацию по активным SOS-кодам можно увидеть в карточке объекта, нажав кнопку "Активные SOS-коды" (см. рис. 26)

 

Рис. 26 - Просмотр активных SOS-кодов для выбранного объекта

3.5.3 Генерация лицензий для RKeeper 6 Stations

Для генерации лицензий заходим в меню "Объекты", находим необходимый, нажимаем кнопку "Просмотр". В карточке объекта нажимаем кнопку "Новая лицензия" (см. рис. 27). В открывшемся окне (см. рис. 28) вводим код запроса (код запроса появиться при первичной установке RK6), нажимаем "Далее".

 

Рис. 27 - Карточка объекта

 

Рис. 28 - Ввод кода запроса лицензии

Появится окно с выбором  даты ограничения действия лицензии (если лицензия должна быть неограниченной - указываем дату 01.01.2100) и информацией по создаваемой лицензии, нажимаем "Дальше" (см рис. 29). В открывшемся окне отобразится код лицензии (см. рис. 30). Если вы хотите выдать клиенту ограниченную лицензию - укажите дату ограничения для клиента (любая дата меньше максимальной).

 

Рис. 29 - Выбор параметров

 

Рис. 30 - Код активации лицензии RK6

3.5.4 Генерация SOS-кодов для RKeeper 6 Station

Для генерации SOS-кода заходим в карточку объекта (см. рис. 27), нажимаем кнопку "Новая лицензия". В появившемся окне в строке "Тип лицензии" выбираем  "Генерировать SOS", вводим код запроса  (см. рис. 31), нажимаем "Далее", в следующем окне выбираем  дату, которой будет ограничено действие SOS-лицензии, заводим комментарии, нажимаем кнопку "Дальше" (см. рис. 32).

Рис. 31- Запрос на генерацию SOS-кода

Рис. 32 - Выбор параметров для создаваемого SOS-кода

После нажатия кнопки "Дальше" появится окно с необходимым нам SOS-кодом (см. рис. 33).

Рис. 33 - SOS-код

3.5.5 Генерация лицензии для RK-Finance

Для генерации лицензий заходим в меню "Объекты", находим необходимый, нажимаем кнопку "Просмотр". В карточке объекта нажимаем кнопку "Новая лицензия". В открывшемся окне не вводим никаких запросов, просто нажимаем "Дальше". В открывшемся окне выбрать программу "RKFinance" и указать дату окончания лицензии. Нажать клавишу "Дальше". Система сгенерирует лицензию, которую необходимо скопировать в буфер. Окно с лицензией закрыть.

Далее в менеджерской станции РК7 в свойствах Сервера справочников в области XML интерфейс прописать порт привязки (см. рис 34).

 


Рис. 34 - Порт привязки

 

Далее в приложении SFConfig.exe системы RK-Finance в сервере лицензии прописать ip компьютера, на котором будет установлен сервер справочников и его порт привязки (см. рис. 35). 

Рис. 35 - Ip компьютера

 Далее запустить приложение SFinance.exe. Ввести пароль Администратора. Система запросит лицензию. Вставить лицензию, полученную на l.ucs.ru.

Рис. 36 - Ввод лицензии

3.5.6 Возможные ошибки при генерации лицензии

В том случае, если запрос сгенерирован не для объекта, для которого генерируется лицензия , при генерации лицензии отобразится ошибка (см. рис. 37)

Рис. 37 - Запрос не соответсвует объекту

В том случае, если на объекте ранее была сгенерирована лицензия на аналогичное ПО, при генерации лицензии с меньшей датой окончания отобразится ошибка (см. рис. 38).

Рис. 38 - Дата окончания мастер-лицензии меньше даты окончания ранее сгенерированной лицензии

В том случае, если желаемая дата окончания лицензии превышает дату окончания мастер-лицензии, отобразится ошибка (см. рис. 39)

Рис. 39 - Желаемая дата окончания лицензии превышает дату окончания мастер-лицензии

В том случае, если ключ, на который генерируется лицензия принадлежит другому объекту, отобразится ошибка (см. рис. 40)

Рис. 40 - Ключ принадлежит другому объекту

3.5.7 Генерация лицензии на ПО в случае отсутствия запроса

Для генерации лицензий заходим в меню "Объекты", находим необходимый, нажимаем кнопку "Просмотр". В карточке объекта нажимаем кнопку "Новая лицензия".

В открывшемся окне не вводим никаких запросов, просто нажимаем "Дальше". В открывшемся окне выбрать нужную программу и указать дату окончания лицензии. Нажать клавишу "Дальше"

Примечание: должна быть активная мастер-лицензия на ПО, требующего лицензии.

Система сгенерирует лицензию, которую необходимо скопировать в буфер. Окно с лицензией закрыть.

Рис. - Генерация лицензии в случае отсутствия запроса

4 Лицензирование мобильных приложений

Примечание

При лицензировании под RK6 необходима версия TMS2 5.119 и выше, MobWaiter 2.6.4 и выше, версия RK6 - любая. Необходимо прописывать код ресторана в tms2.ini.

При лицензировании под RK7 необходима версия TMS7 7.4.16 и выше, MobWaiter 2.6.4 и выше, версия RK7 - любая. Необходимо прописывать код ресторана в tms7.ini.

При лицензировании под RKOrder необходима версия IpadServer 2.0.33.1, версия RK - любая. Необходимопрописывать код ресторана в IpadServer.ini

4.1 Правила генерации лицензий для мобильных приложений

1. При генерации лицензии для MobWaiter защищается ключом только TMS-сервер и в нем прописывается количество подключений.
2. При генерации лицензии для R-Keeper модуль Rk-Order ПО под RK6: защищается ключом и TMS-сервер (для него всегда прописывается 1 подключение) и Ipad-сервер (в нем прописывается количество необходимых подключений). Для TMS-сервера можно сгенерировать постоянную лицензию, а для Ipad-сервера – можно делать с ограничениями. 
Лицензии для Ipad-сервера и TMS-сервера на одном ключе не «живут».
3. При генерации лицензии для R-Keeper модуль Rk-Order ПО под RK7: защищается ключом только Ipad-сервер и в нем прописывается количество необходимых подключений. TMS - не используется.
4. При генерации лицензии для Orderman защищается ключом только TMS-сервер и в нем прописывается количество подключений.

4.2 Порядок действий при лицензировании мобильных проиложений

1. Создаем новую корпорацию (см. п. 3.1).

2. Создаем новый объект ( см. п. 3.2).

3. Создаем заявку на необходимое ПО (см. п. 3.3)

4. Оплачиваем, получаем мастер-лицензии (см. п. 3.4)

5. Получаем запрос из  LUpdaterNew.exe (оно же LUpdater2015.exe) (см. http://support.ucs.ru/ru/node/5472

6. Генерируем лицензии (см. п. 3.5)

7. Указываем полученную лицензию в LUpdaterNew.exe (оно же LUpdater2015.exe) (см. http://support.ucs.ru/ru/node/5472)

5 Порядок действий лицензирования на менеджерской станции RK7

После создания корпорации и подтверждения заявки на объект сотрудником фирмы UCS, дилер получает Код корпорации и Код объектаКод корпорации  указывается в программе R-Keeper7, в справочнике "Параметры", параметр "Код предприятия" ("Настройки" - "Параметры" - "Установочные"). Код объекта  указывается в свойствах Ресторана, в справочнике "Станции и устройства", закладка "Главное", поле "Код".

5.1 Лицензирование кассового сервера

На менеджерской станции для нужного кассового сервера определяем ключ (номер физического ключа), на который будет прописана лицензия, в строке Ключ защиты – Физический номер (см. рис. 41).

 

Рис. 41 - Определение физического номера ключа

 

ID ключа защиты Guardant можно просмотреть утилитой «Драйверы Guardant». Ключ для лицензирования на менеджерской станции RK7 можно определить двумя способами:

  1.  Запускаем кассовый сервер с ключом, который планируется использовать для лицензии. Сервер не запустится, но ключ пропишется в менеджерской станции RK7 (см. рис. 42), в том случае, если есть связь между Кассовым сервером и Сервером справочников;

 

Рис. 42 - Номер ключа, прописавшийся в менеджерской станции после запуска Кассового сервера с ключом, который планируется использовать для лицензии

  1. Вставляем ключ, который планируется использовать на Кассовом сервере, в компьютер, на котором установлен Редактор справочников. Затем выбираем ключ из появившегося списка (данный способ подходит так же при отсутствии связи Кассового сервера с Сервером справочников или возникновении других проблем).

Выбираем пункт "Сгенерировать запрос лицензии" из всплывающего меню, которое вызывается кликом правой кнопкой мыши по необходимому Кассовому серверу (см. рис. 43). 

 

Рис. 43 - Генерация запроса лицензии

Программа попросит подтверждения операции (см. рис. 44). 

Рис. 44 - Подтверждение генерации запроса лицензии

В свойствах Кассового сервера в закладке "Лицензирование - Общее" появится поле "Данные запроса лицензии"(см. рис. 45).

Рис. 45 - Сгенерированные данные запроса лицензии

Полученные данные запроса лицензии заносим в строку  "Код запроса" при генерации кода активации  лицензии (см. п. 3.5). После получения кода активации вводим его в поле "Лицензионный ключ" в свойствах Кассового сервера на менеджерской станции RK7.

В менеджерском приложении RK7 существует предустановленный пользователь с кодом "777", паролем "777", который используется только для создания  запроса и ввода кода активации для кассового сервера.

5.2 Лицензирование сервера отчетов

Для Сервера отчетов так же, как и для Кассового сервера, необходимо определить ключ защиты, на который будет прописана лицензия. Данный справочник находится в меню "Настройки" - "OLAP Отчеты" - "Сервер отчетов". Выбрав нужный физический ключ, генерируем данные запроса лицензии из всплывающего меню, которое вызывается кликом правой кнопкой мыши по Серверу отчетов. Полученные данные запроса вводим в Систему лицензирования. Вносим полученный код в свойства Сервера отчетов во вкладку "Информация о лицензии"-"Лицензионный ключ" Менеджерской станции RK7 (см. рис. 46)

Рис. 46 - Ввод кода активации для сервера отчетов

Для того, чтобы пролицензировать сервер отчетов при использовании виртуального ключа, необходимо, чтобы уже  имелась мастер-лицензия на ресторан. В свойствах сервера отчетов, в зоне "Основное" в строке "Обслуживает ресторан" необходимо выбрать ресторан, к которому принадлежит мастер-лицензия. В том случае, если сервер отчетов обслуживает несколько ресторанов, необходимо установить галочку в строке "Разрешить обработку данных со всех ресторанов"

5.3 Лицензирование Интерфейсов

Лицензирование интерфейсов (Web Мониторинг, ITV Pos Intellect и пр.) происходит без ключа защиты и генерации первоначального запроса. Т.е. для получения кода активации необходим выполнить все действия, что и при генерации кода активации для другого ПО, исключая ввод кода запроса (в форме ввода кода запроса просто нажимаем кнопку "Далее").Полученный код активации вводим в поле "Web Мониторинг" (см. рис. 47) в свойствах ресторана, в закладке "Информация о лицензии".

 

Рис. 47 - Внесение данных о коде активации в менеджерскую станцию

 

5.4. Лицензирование кассового сервера при использовании виртуального ключа

Важно: Использование виртуального ключа возможно только для RK7 7.5.3.xxx и более новых версий ПО.

Важно: При замене физических ключей на виртуальные, физические ключи необходимо вернуть в офис компании ЮСИЭС (стандартная процедура замены ключей)

5.4.0. Под виртуальным ключом понимается такой метод лицензирования, когда код ключа защиты, используемый в привязках лицензий, генерируется программно сервером лицензирования ЮСИЭС, а не запрашивается у устройства Guardant.

5.4.0.1. При данном методе лицензирования проверка "наличия" ключа осуществляется путём подключения к серверу лицензирования не реже, чем каждые 72 часа, через глобальную сеть интернет.

5.4.0.2. При отсутствии связи с сервером лицензирования в течение более 72 часов работа ПО будет блокирована, как и в случае отсутствия обычного физического ключа при стандартном методе лицензирования.

5.4.0.3. Подключаться к серверу лицензирования должен каждый защищаемый таким методом сервер.

5.4.0.4. Проверить доступность сервера в текущий момент можно запросом http://l.ucs.ru:60606/?getstat

5.4.1. Настройка связи с сервером лицензирования для защищаемых серверов.

Добавляем строки в секции [REFSERVER] для rk7srv.ini (сервер справочников) и в секции [CONFIG] для rkeeper.ini (сервер кассовый):

UseNetChecking=1

LicServerIP=l.ucs.ru:60606

5.4.2. Перезагружаем сервера.

5.4.3. Сбрасываем данные лицензии у кассового сервера (через менеджерское приложение).

5.4.4. В свойствах сервера справочников в зоне "Основное" заполняем параметр "Обслуживает ресторан" (параметр участвует в генерации кода запроса лицензии) (см. рис.47а).

Рис. 47а - Параметр "Обслуживает ресторан"

 

5.4.5. Запрашиваем новый виртуальный номер ключа (см. рис. 48).

Рис. 48 - Запрос виртуального номера ключа

5.4.6. Далее генерируем новый запрос лицензии для кассового сервера согласно п. 5.1 и через портал лицензирования получаем лицензию согласно п. 5.1., прописываем новый код лицензии в свойствах объекта сервера.

6 Лицензирование WEBDashboard

Лицензирование WEBDashboard производится стандартным образом:

- создать завяку на покупку мастер-лицензий для продукта Dashboard (см. п.3.3);

- после подтверждения заявки и получения мастер-лицензии в карточке объекта сгенерировть лицензию (генерация производится без ввода кода запроса) (см. п. 3.5), (сгенерированный код лицензии никуда вносить не нужно!);

- первый вход в приложение необходимо производить по учетной записью дилера.

7 Лицензирование CRM 7

1. Создать заявку на мастер-лицензию CRM–10Cards, CRM-1000Cards, CRM-UnlimCards (в зависимости от необходимого количества карт) (см. п. 3). Получить соответствующую мастер-лицензию.

2. В карточке объекта сгенерировать лицензию (лицензия генерируется без кода запроса) (см. п. 3.5.7)

3. Запустить приложение RKeeper_CRM_Server.exe (см. рис. 48а). Во вкладке «Лицензии» ввести дилерские логин и пароль, нажать кнопку «Авторизоваться под дилером». После этого в выпадающем списке выбрать лицензируемый объект. В таблице отобразится информация о лицензиях и дате их окончания.

 

Рис. 48а- RKeeper_CRM_Server.exe

8 Лицензирование DeliveryAgent

1. Приобрести мастер-лицензию DeliveryAgent (количество мастер-лицензий=количеству устройств, которое будет использовать ресторан).

2. Установить приложение DeliveryAgent на телефон курьера.

3. После появления мастер-лицензии на объекте во вкладке "Устройства" необходимо добавить GUID устройства, на котором утсновлено приложение DeliveryAgent.

Для этого нажать кнопку  "Добавить новую запись", в открывшемся окне ввести GUID устройства, название, тип девайса - "DeliveryAgent" (см. рис.48б)

Рис. 48б - Добавление устройства в карточку объекта

 

GUID устройства указан в настройках приложения (см. рис. 48в)

Рис. 48в - GUID устройства

О лицензировании Delivery модуль ДиспетчерПО, Delivery модуль ОператорПО, Delivery модуль ЭкспедиторПО в статьях: http://support.ucs.ru/ru/node/6038#header-2http://support.ucs.ru/ru/node/5740#header-12.

9 Лицензирование R-Keeper модуль StoreHouse V5 ПО

1. На сайте l.ucs.ru отправить заявку на следующее ПО:

- R-Keeper модуль StoreHouse V5 ПО (стандарт - 1 предприятие, 10 складов);

- R-Keeper модуль StoreHouse V5 Доп. Предприятие ПО (расширение стандарта на 1 предприятие и 10 складов);

- R-Keeper модуль StoreHouse V5 Prof ПО (1 предприятие, неограниченное количество складов);

- R-Keeper модуль StoreHouse V5 Lite ПО (1 предприятие без комплектов и комплектаций+ 10 складов).

2. После подтверждения заявки на объекте отобразятся  соответствующие мастер-лицензии.

3. Запустить приложение Sh5Licen.exe ( папка SH5Lic). В открывшемся окне ввести логин "Admin", пароль - не заполнять (см. рис. 49)

Рис.49 - Вход в приложение Sh5Licen.exe 

4. В открывшемся окне выбрать меню "Лицензии"-"Создать новую..." (см. рис. 50).

Рис. 50 - Создание новой лицензии

5. Ввести дилерский логин, пароль (см. рис. 51)

Рис.51 - Ввод дилерского логина/пароля

6. Выбрать ресторан, для которого необходимо сгенерировать лицензию, нажать "ОК" (см. рис. 52).

Рис. 52 - Выбор ресторана

7. В открывшемся окне отобразить мастер-лицензии, принадлежащие объекту. Выбрать мастер-лицензию, для которой необходима лицензия. Нажать "ОК" (см. рис. 53).

Рис. 53 - Выбор мастер лицензии, для которой необходимо сгенерировать лицензию

 

8. В открывшемся окне выбрать срок окончания генерируемой лицензии, нажать "Создать" (см. рис. 54).

Рис. 54 - Созадние лицензии

9. В открывшемся окне отобразится информация о сгенерированной лицензии. Можно приступать к работе (см. рис. 55).

Рис. 55 - Лицензия сгенерирована

 

10 Порядок действий при переносе софта (любого, кроме RK6) на другой ПК

После переноса RK7 на новый ПК необходимо:

1. Сгенерировать код запроса лицензии в менеджерской станции (см. п. 5.1).

2. В карточке объекта нажать кнопку "Новая лицензия", в откр ывшемся окне в строке "Код запроса" ввести сгенерированный код запроса, нажать кнопку "Далее" (см. рис.56).

 

Рис. 56 - Ввод кода запроса на перегенерацию лицензии

3. В открывшемся окне ввести дату окончания лицензии и количество лицензий (см. рис.57).

 

Рис.57 - Ввод даты окончания и количества лицензий

4. В открывшемся окне отобразится лицензия, которую можно будет использовать для лицензирования менеджерской станции (лицензирование менеджерской станции происходит в обычном порядке (см. п. 5).

Рис. 58- Сгенерированная лицензия

11 Порядок действий при поломке ключа

1. Заходим в  меню "Замена ключа". Выбираем необходимый объект. В форме "Выбрать ПО" нажимаем кнопку "Выбрать ПО" ( см. рис. 59), при этом появится окно с перечнем ключей, доступных по выбранному объекту (см. рис. 60), выбираем необходимый ключ. При необходимости добавляем комментарии к заявке. Нажимаем кнопку "Отправить".

 

Рис. 59 - Замена испортившегося ключа.

 

Рис. 60 -  Выбор ключей для замены.

После подтверждения заявки на замену ключа все мастер-лицензии, принадлежащие неисправному ключу, освобождаются. Можем использовать их на новом, исправном ключе.

Внимание! Все лицензии, сгенерированные на новом ключе, будут временными до подтверждения заявки на возврат ключа и физического возврата ключа в офис "UCS"!

2.  После подтверждения зявки "Замена испорченного ключа" и возврата неисправных ключей в офис UCS, заходим в меню "Возврат ключа", выбираем необходимый объект ( см. рис. 51), аналогично заявке на замену ключа, выбираем неисправный ключ. Отправляем заявку. 

 

Рис. 61  -Заявка на возврат испорченных ключей.

3. Передаем ключ в офис "UCS".7

12 Описание предназначения заявок, существующих в системе лицензирования

12.1 Заявка На ПО

Заявка на ПО - это запрос на новое ПО при создании нового объекта или добавления ПО в уже существующий объект (более подробно см. п. 3.3).

12.2 Заявка на обновление

Заявка на обновление ПО используется при обмене любого имеющегося на объекте ПО на любое другое ПО.

Для составления заявки на обновление ПО заходим в меню «Заявки»-«Обновление», выбираем ПО, которое хотим заменить с указанием количества мастер-лицензий. Затем выбираем ПО, на которое ходим заменить, также с указанием количества мастер-лицензий. При необходимости прикрепляем файлы, добавляем комментарии, нажимаем кнопку «Отправить» (см. рис. 62).

 

Рис. 62 – Заявка на обновление ПО

После подтверждения заявки обновляемые мастер-лицензии в карточке объекта выделятся оливковым цветом, а мастер лицензии, на которые происходило обновление, появятся в списке (см. рис. 63). Оливковые мастер-лицензии не могут быть использованы для генерации лицензий (хранятся для истории).

 

Рис. 63 – Перечень обновленных мастер-лицензий

12.2.1 Порядок обновления  версии R-Keeper до версии 6.111 и выше

Для корректной работы продуктов R-Keeper модуль Касса RK6 ПО и  R-Keeper модуль Официант RK6 ПО их необходимо обновить до продуктов R-Keeper модуль Электронный чек ПО для Кассы и  R-Keeper модуль Электронный чек ПО для Официанта соответственно.

1. Заходим в меню "Заявки"- "Обновление".
2. В открывшемся окне выбираем реквизиты дилера и вводим объект, мастер-лицензии которого необходимо обновить.
3. Выбираем обновляемое ПО: R-Keeper модуль Касса RK6 ПО, R-Keeper модуль Официант RK6 ПО.
4. Выбираем ПО, которым  хотим обновиться: R-Keeper модуль Электронный чек для Кассы ПО, R-Keeper модуль Электронный чек для Официанта ПО.
5. Нажимаем "Отправить" (см. рис. 64).

 

Рис. 64 - Заявка на обновление

6. После подтверждения заявки менеджером UCS на объекте появтяся мастер-лицензии R-Keeper модуль Касса RK6 ПО с модулем Электронный чек ПО, R-Keeper модуль Официант RK6 ПО с модулем Электронный чек ПО, а мастер-лицензии R-Keeper модуль Касса RK6 ПО, R-Keeper модуль Официант RK6 ПО подкрасятся оливковым цветом.

 

Рис. 65 - Мастер-лицензии на объекте

Для предприятий, зарегистрированных в России, при покупке пового ПО необходимо выбирать R-Keeper модуль Касса RK6 ПО Электронный чек, R-Keeper модуль официант RK6 ПО Электронный чек. И R-Keeper модуль Касса WIN RK6 ПО, R-Keeper модуль официант WIN RK6 ПО для windows-версий.

 

Внимание! Лицензии старой версии RK6 (до RK6.111) не совместимы с новыми! 

.

12.3 Заявка на замену ключа

Заявка на замену ключа - заявка, составляемая в случае поломки ключа, для освобождения лицензий, имеющихся на неисправном ключе (более подробно см. п. 10).

12.4 Заявка на возврат ключа

Заявка на возврат ключа - это заявка, составляемая после заявки на замену ключа, для того, чтобы лицензии, освобожденные со старого ключа, перешли в категорию неограниченных (более подробно см. п. 10).

12.5 Заявка на продление

Заявка на продление составляется в том случае, если на объекте существуют временные лицензии, и их по какой-то причине нужно продлить.

Для составления заявки на продление лицензии заходим в меню "Заявки"-"Продление", выбираем объект (см. рис. 66), из списка выбираем ПО, на которое нужно продлить лицензию (см рис. 67). Нажимаем "Отправить".

Если ответственный сотрудник компании UCS решил, что эти лицензии можно продлить, то заявку подтвердят и лимит мастер лицензии на данном объекте увеличится на 1 месяц.

При полной оплате дата мастер лицензии будет ограничена 2100м годом без дополнительных заявок в момент регистрации платежа в UCS.

После продления мастер-лицензии для генерации кода продления лицензии воспользуйтесь кнопкой "Новая лицензия" в карточке объекта. Старая лицензия при этом будет помечена как неактивная.

 

Рис.  66 - Заявка на продление лицензии

 

Рис. 67 - Выбор ПО для продления лицензии

12.6 Заявка на удаление мастер-лицензий

Заявка на Удаление мастер-лицензий позволяет удалить свободные неоплаченные мастер-лицензии с объекта.

Для составления заявки на удаление мастер-лицензий заходим в меню "Заявки"-"Удаление мастер-лицензий", выбираем объект, для в котором необходимо удалить мастер лицензии (см. рис. 68). Из списка выбираем ПО, для которого необходимо удалить мастер-лицензии (см. рис.69). При необходимости прикрепляем файлы, добавляем комментарии, нажимаем кнопку «Отправить»

 

Рис. 68 - Заявка на удаление мастер-лицензий

 

Рис. 69 - Выбор мастер-лицензий для удаления

12.7 Заявка на замену дилера

Заявку на замену дилера составляет дилер, к которому перейдет сопровождение объекта. Для составления заявки заходим в меню "Замена дилера", вводим объект, для которого необходима замена дилера, прикладываем письмо от ресторана к ucs (см. рис. 70), письмо от дилера к ucs (см. рис. 71), нажимаем кнопку "Отправить" (см. рис. 72)

 

Рис. 70 - Замена дилера на объекта

 

Рис. 71 - Письмо от ресторана к UCS с просьбой о смене дилера

 

Рис. 72 - Письмо от дилера к UCS

После подтверждения запроса (заявки) сотрудником UCS, новый дилер открывает подтвержденный запрос (заявку), копирует код активации, вводит его при входе в менеджерскую станцию ( см. рис. 73).

Рис. 73 - Первый вход нового дилера на менеджерскую станцию

 

Примечание: Если при попытке применить код активации для смены дилера возникает ошибка "Несовпадение идентификатора дилера", необходимо создать запрос через трекер с описанием проблемы, указанием кода объекта и приложить рабочую базу rk7.udb. Данная ошибка возникает только на устаревших версиях 7.5.2.ххх и связана с несовпадением идентитфикатора дилера, который генерировал базу rk7.udb и идентификатором дилера, на которого зарегистрирован объект - с версии 7.5.3.ххх такая проверка отключена.

 

12.8 Заявка на передачу прав

Заявка на передачу прав- это заявка на перенос свободных и несвободных мастер-лицензий с объекта на объект.

Для составления заявки на передачу прав необходимо выбрать меню "Заявки"-""Передача прав". Выбрать объект-источник мастер-лицензий, принимающий объект, выбрать мастер лицензии, которые необходимо передать (см. рис. 75), прикрепить информационное письмо о передаче прав (см. рис. 76) при помощи кнопки "Выбрать файлы", нажать кнопку "Отправить"(см. рис.74).

 

 

Рис. 74 - Заявка на передачу прав

 

Рис. 75 - Выбор масетр-лицензий для передачи прав

 

Рис. 76 - Шаблон письма о передаче прав

Пример

На объекте имеется четыре мастер-лицензии, привязанные к одному ключу. На две мастер-лицензи сгенерированы лицензии. Необходимо перенести 3  мастер-лицензии на другой объект.

Решение:

Для переноса мастер лицензий с объекта на объект необходимо освободить мастер-лицензии от лицензий.

Чтобы объект продолжал работу во время передачи лицензий предварительно необходимо сгенерировать sos-код.

Порядок действий:

1. Заказываем новые ключи для объекта источника и объекта-приемника (т.к. ключ, на котором хранятся лицензии, возвращается в UCS).

1. Генерируем SOS-код на объекте-источнике мастер-лицензий.

2. Отправляем заявку на «Возврат ключа» для ключа, на котором находятся мастер-лицензии. При это все мастер-лицензии освобождаются от лицензий.

3. Отправляем заявку на передачу прав на местер-лицензии с объекта-источника на объект-приемник.

 

12.9 Запрос на корпорацию

В том случае, если дилеру необходимо получить доступ для работы с какой-либо корпорацией, оформляется "Запрос на корпорацию".
Для этого в меню "Запрос на корпорацию" вводим название корпорации, доступ к которой желаем получить, и комментарии, нажимаем клавишу "Отправить". (см. рис. 77) После подтверждения заявки сотрудником UCS дилер получает доступ к работе с корпорацией.

 

Рис. 77 - Запрос на корпорацию

12.10 Сменить название корпорации

Для смены названия корпорации необходимо в меню "Сменить название корпорации" выбрать корпорацию, которой нужно сменить название, ввести новое  название, нажать клавишу "Отправить" (см. рис. 78)

 

Рис. 78 -  Изменение названия корпорации

 

12.11 Перенос ключей

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

Для переноса ключа с объекта на объект выбираем тип источника ключей-объект, вводим название объекта-источника ключа, название принимающего объекта, выбираем ключ для переноса, прикладываем необходимые документы при помощи "Выбрать файлы" нажимаем клавишу "Отправить"  (см. рис.79). После подтверждения заявки свободный ключ переместится с одного объекта на другой.

 

Рис. 79 - Перенос свободных ключей с объекта на объект

Для того, чтобы присвоить свободный ключ, принадлежащий дилеру, какому-либо объекту, необходимо: выбрать тип источника ключа - дилер, объект-приемник ключа, ключ, приложить необходимые документы при помощи кнопки "Выбрать файлы", нажать кнопку "Отправить" (см. рис.80).После подтверждения заявки свободный ключ присвоится выбранному объекту.

 

Рис.80 - Присвоение свободного ключа объекту

11.12 Смена железа

При помощи заявки  «Смена железа» удаляются лицензии для RK6 и освобождаются мастер–лицензии на выбранном объекте.
Для удаления лицензии  RK6 в меню "Заявки"-“Смена железа» вводим название объекта, на котором необходимо удалить лицензию (см рис. 81) , выбираем лицензию, которую требуется удалить (см. рис. 82), добавляем комментарии, нажимаем «Отправить».

 

Рис. 81 - Смена железа

 

Рис. 82 - Выбор ПО для смены железа

12.13 Удаление лицензий с виртуального ключа 

Заявка на удаление лицензии с виртуального ключа предназначена для перегенерирования лицензий с виртуального ключа на физический, либо с одного виртуального ключа на другой.

Для составления заявки на удаление лицензий с виртуального ключа заходим в меню «Заявки»-«Удаление лицензий с виртуального ключа». Вводим объект, которому принадлежит виртуальный ключ, лицензию, которую необходимо удалить с виртуального ключа (см. рис. 83), прикладываем документы, добавляем комментарии, нажимаем кнопку «Отправить» (см. рис. 84)

 

Рис. 83 – Заявка на удаление лицензии с виртуального ключа

 

Рис. 84 – Выбор лицензии для удаления с виртуального ключа

 

13 Меню "Информация о ключе"

В меню "Информация о ключе" при вводе номера ключа можно установить код ключа, тип, дилера-хозяина ключа, ресторан и софт, к которому ключ относится (см. рис. 85).

Рис. 85 - Информация о ключе

14 Меню "Проверка запросов"

Получить информацию по коду активации лицензии  и коду запроса лицензии можно в меню "Проверка запросов" (см. рис. 86). Для этого вводим код запроса, если хотим узнать информацию по коду запроса, или код лицензии, если хотим узнать информацию по коду активации лицензии, нажимаем кнопку "Поиск". После этого появится интересующая нас информация.

Рис. 86 - Информация по коду запроса лицензии/коду активации лицензии
 

15 Меню "Окончание лицензий"

Оперативную информацию об окончании срока лицензий можно узнать в меню "Окончание лицензий" (см. рис. 87). Вводим период, который нас интересует, название корпорации, объекта (название корпорации и объекта можно не указывать,тогда система отобразит все объекты с лицензиями, кончающимися в указанный период), нажимаем "Фильтровать".

 

Рис. 87 - Информация об окончании лицензий
 

В открывшемся окне отобразятся:название объекта (с кодом), количество лицензий, ПО, на которое создана лицензия, дата окончания действия лицензии, код ключа, на котором находятся лицензии, код активации лицензии, дата создания кода активации, статус, тип лицензии. Для SOS-кодов будут указаны комментарии, введенные при создании, а для RKeeper 6 - номер лицензии. 

16 Меню "SOS-коды, доступные дилеру"

В меню "SOS-коды, доступные дилеру" содержится  информация о всех SOS-кодах дилера: активных, доступных и необработанных. (см. рис.88 )

Рис.88  - Меню  "SOS-коды, доступные дилеру"

17 Перегенерация лицензий для RKeeper 6 Station

Для того, чтобы оперативно перегенерировать заканчивающиеся лицензии для RKeeper 6 Station без ввода кода запроса -  в карточке объекта нажимаем кнопку "Перегенерировать лицензии" (см. рис. 89). В появившемся окне выбираем лицензии, требующие перегенерации, желаемую дату окончания новых лицензий, нажимаем "Выбрать" (см. рис. 90). Новый код лицензии отобразится в карточке объекта. Если эта функция по каким-то причинам не доступна - воспользуйтесь пунктом "Новая лицензия", введите код запроса со станции, выберите тип лицензии (обычная или SOS) и нажмите "Далее".

 

Рис. 89 - Карточка объекта - кнопка "Перегенерировать лицензии"

 

Рис. 90- Выбор продлеваемой лицензии и желаемой даты окончания действия лицензии

18 Пользователи

В системе есть два глобальных уровня доступа для дилеров: dealer master и dealer user. Master User имеет право создавать пользователей всех уровней: Dealer Master, Diler User, UCS Master User, UCS Manager. Уровень dealer master присваивается главному (уполномоченному) сотруднику дилера. Пользователи с этим уровнем доступа могут заводить учетные записи для сотрудников (dealer user) своей компании, определять их права, распределять между ними объекты.
 Для создания нового пользователя (dealer user) входим в меню "Пользователи" - "New user". В открывшемся окне все строки являются обязательными для заполнения (см. рис. 91). Строка "Ид пользователя" заполняется автоматически. В зоне "Права системы лицензирования" выбираем права, которые применимы для системы l.ucs.ru. В зоне "Права внешних систем" выбираем права для обеспечения совместимости с внешними системами: code.ucs.ru, lm(license manager), ftp и т.д. (в данном случае "Install" -права на инсталляцию; "Code" - права на генерацию лицензий; "FTP"- права на доступ к FTP-каналу; "SOSonly"- является правом-запретом, при его выборе доступны будут права только на генерацию SOS-кода, даже в том случае, если какие-то права будут выбраны дополнительно). 

 

Рис.  91 - Внесение информации о новом пользователе dealer user

После заполнения нажимаем кнопку "ОК",  данный работник появляется в списке пользователей.

19 Работа со счетами для оплаты продуктов типа «SAAS»

19.1 Создание счета и оплата мастер-лицензий продукта типа «SAAS» при первичной покупке

После подтверждения заявки на покупку мастер - лицензий продукта типа «SAAS» автоматически формируются мастер - лицензии длительностью до 5 числа следующего месяца.

Счет для оплаты мастер-лицензий можно просмотреть  в меню «Все заявки», в строке заявки на покупку мастер-лицензий (см. рис. 92, 93).

 

Рис. 92 - Просмотр счета

Важно! Счет формируется только при заполненных реквизитах объекта.

 

Рис. 93 - Счет

Для скачивания счета необходимо нажать кнопку «Скачать» (см. рис. 93). Счет будет сохранен в формате .pdf (см. рис.94)

 

Рис. 94 - Пример счета

После оплаты данного счета статус в строке "Оплата" изменится с «NO» на «Yes».

19.2 Создание счета и оплата при продлении мастер-лицензий для продукта типа «SAAS»

Продление мастер-лицензий на продукт типа «SAAS» может осуществляться из карточки объекта при попощи кнопки «Продление Saas» (см. рис. 95), либо из меню «Заявки» - «Продление Saas» (см.рис. 96).

 

Рис. 95 - Продление мастер-лицензий для продукта типа «SAAS» из карточки объекта

 

Рис. 96 - «Заявки»-«Продление SAAS»

Заявка на «Продление SAAS» выглядит следующим образом (см. рис. 97)

 

Рис. 97 - Заполнение заявки на «Продление SAAS»

При вызове заявки из карточки объекта зона «Объект» заполняется автоматически. При вызове из меню «Заявки»- «Продление SAAS» объект необходимо заполнить вручную. Дата, до которой необходимо продлить мастер лицензию выбирается из выпадающего меню (кратна одному месяцу).

После заполнения заявки необходимо нажать кнопку «Отправить».

Просмотр счета на продление происходит аналогично п. 19.1 (см. рис. 83). После оплаты счета статус «Оплата»  изменяется с «NO» на «YES» и мастер-лицензии продлеваются в соответствии с оплаченным периодом.

 

20 Терминология

SOS-код – лицензия с определенным ограничением.

Дилер – организация, занимающаяся внедрением, обслуживанием и дистрибуцией ПО.

Кассовый сервер - лицензируемое приложение.

Ключ – устройство аппаратной защиты ПО.

Корпорация - организация - владелец, включающая в себя один/несколько объектов (гостиниц, ресторанов, игровых залов и т.д).

Лицензия - фактически созданный (сгенерированный) код активации.

Мастер-лицензия - право на получение лицензии.

Объект - торговая или иная точка где развернуто ПО.

Сервер отчетов - лицензируемое приложение.

 

Настройка связи со сторонними системами

Интеграция с сиcтемой видеонаблюдения ITV POS-Интеллект - Кассовая часть 6.87 и выше

 

Общая информация

В документе описана настройка R-Keeper v6 для связи с системой видеонаблюдения ITV POS-Интеллект.

Система видеонаблюдения ITV POS-Интеллект представляет комплекс программ для организации видеоконтроля на предприятии. Взаимодействие R-Keeper v6 с системой происходит на уровне кассовых операций - кассовый сервер формирует данные, которые отправляются на видеосервер для дальнейшей обработки (титрования). Поддерживаются следующие кассовые операции: операции с картами ПДС в режиме скидки и оплаты, оплата чека, сервис-печать (с кассовой версии 6.87).

Состав приложения

Дистрибутив приложения можно взять на фтп в директории /dealers/r-keeper/VideoIntellect/

Модули, поставляемые компанией UCS

  • стандартная версия кассовой программы R-Keeper v6 версии 6.87 и выше
  • ITV_File_Scanner.exe - программа для отправки XML-файлов, сформированных кассовым сервером
  • ITV_File_Scanner_SVC.exe - аналогично ITV_File_Scanner.exe, но для запуска приложения в качестве службы
  • ITV_FS_Settings.exe - утилита для настройки ITV_FS_Settings.exe
  • ITV_FS_Scanner.xml - файл, в котором сохраняются настройки, указанные в утилите ITV_FS_Settings.exe (изначально может отсутствовать)
  • ITV_Data.key - программный ключ защиты приложения ITV_File_Scanner.exe. В ближайшее время защита приложения ITV File Scanner будет убрана, т.к. защита перенесена в кассовый сервер. На данный момент наличие файла ITV_Data.key обязательно для корректной работы программы (в дистрибутиве доступен ITV_Data.key, применимый для всех объектов, не зависимо от кода ресторана и других условий)

Модули, поставляемые компанией ITV

  • TcpWrp.dll - интерфейсная библиотека для интеграции кассового ПО с системой POS-Интеллект
  • Ncr_Forward.exe - промежуточный модуль для пересылки данных в систему POS-Интеллект. Использование этого модуля связано с некторыми особенностями реализации приложения ITV File Scanner  - возможно в будущих версиях использование Ncr_Forward.exe больше не потребуется.

Для вывода в системе POS-Интеллект титров необходимого вида используется файл настроек (шаблон) xml_titles.txt - его можно настроить самостоятельно (см. описание в файле  xml_protocol.pdf) либо воспользоваться готовым шаблоном из дистрибутива. 

Настройка кассы RK6 (Dos-rkclient)

Примечание: начиная с версии кассового ПО 6.87 и выше.

Для настройки кассовой части необходимо прописать несколько параметров для клиента и сервера в файле RKEEPER6.INI.

Кассовый сервер

В rkeeper6.ini: 

VideoPath = <полный путь к каталогу формирования XML-файлов>
VideoKey = <специальный разблокирущий ключ>

В случае, если используется кассовый сервер под NT, настройки для сервера прописываются в файле RKEEPER6.INI, который должен находится в той же директории, откуда запускается сервер.

Важно! Разблокуриющий ключ (код) "привязан" к коду ресторана и предоставляется компанией UCS после приобретения лицензии на интеграцию.

Примечание: Если указан некоректный разблокирущий код (ключ), кассовый сервер будет формировать файлы со случайным расширением. Кроме этого, значение полей в XML-файле будут "нечитаемы".

Кассовый клиент

В rkeeper6.ini: 

VideoInterface = <тип формируемых XML-файлов>

Параметр VideoInterface может принимать следующие значения:

  • 1 - формировать XML только для чеков оплаты
  • 2 - формировать XML только для сервис-чеков
  • 3 - формировать XML для чеков оплаты и сервис-чеков

Для формирования XML-файлов никаких дополнительних действий на станции произвоить не требуется - все происходит без участия пользователя. В процессе работы кассовый сервер будет формировать файлы в виде N.MM, где N - номер задания (внутренний параметр кассового сервера), MM - номер станции, который определяется двумя последними цифрами сетевого имени станции (например, для станции UNIT89 номер станции будет 89)

Сформированные XML-файлы необходимо передать на сервер ITV - для этого предназначено приложение ITV File Scanner (ITV_File_Scanner.exe)

Настройка приложения ITV File Scanner 

Приложение ITV File Scanner предназначено для отправки на видеосервер ITV сформированных кассовым сервером XML-файлов. Для настройки приложения используется утилита ITV File Scanner Settings (ITV_FS_Settings.exe) - см. Рис.1

Параметры, задаваемые в утилите настройки:

  • Папка для сканирования - указывает полный путь к директории, которую ITV File Scanner будет просматривать на наличие XML-файлов для дальнейшей обоработки. Значения этого параметра должно соответствовать значению параметра VideoPath, указанного в настройках кассового сервера
  • Время "старения" (сек) - определяет "время жизни" XML-файла. "Время жизни" будет рассчитываться исходя из времени создания файла + значение, указанное в данном параметре. Например, если время "старения" указано 30 сек., то через 31 секунду после создания файла, он уже будет считаться "устаревшим". 
Примечание: "устаревшие" файлы не обрабатываются приложением ITV File Scanner, а сразу удаляются.
  • Интервал сканирования (мсек) - определяет интервал, с которым приложение будет сканировать директорию на наличие в ней XML-файлов. Значение параметра указывается в миллисекундах - 1000 мс соответствует 1 секунде.
  • Задержка цикла отсылки (мсек) - определяет интервал задержки перед отправкой пакета на видеосервер. Рекомендуется изменять значение этого параметрв только в случае возникновения проблем в работе. Значение по умолчанию - 1000 миллисекунд (1 секунда).
  • Адрес сервера - возможно два варианта: либо указывается IP-адрес компьютера, на котором установлено приложение NCR_FORWARD.EXE (промежуточный модуль от компании ITV), либо указывается IP-адрес компьютера, на котором установлена система POS-Интеллект.
  • Порт - также возможно два варианта, в зависимости от того, что указано в параметре "Адрес сервера " - если указан IP-адрес  для приложения NCR_FORWARD.EXE, то необходимо указать порт для входящих соединение приложения NCR_FORWARD.EXE - см. ниже, иначе данный параметр не используется, а порт для входящих соединений указывается в настройках конктретного терминала - см .ниже.

В окне "POS терминалы" определяются все станции, с которых необходимо обрабатывать и передавать XML-файлы. Для добавления новой станции (терминала) необходимо нажать на кнпоку "Добавить" и заполнить следующие параметры:

  • Название - указать произвольное название для терминала. Данный параметр не выполняет никаких функций  и используется только для визуального отображения в утилите настройки.
  • Расширение файла - важный параметр, который определяет файлы с каким расширением относятся к данной станции -см. выше
Важно! Все файлы (с любым расширением и именем), которые не соотв. ни одной из станций, указанных в настройках ITV File Scanner, будут удалены в процессе обработки.
  • Порт - возможно два варианта: если используется промежуточный модуль NCR_FORWARD.EXE, то данный параметр не используется, иначе должен быть указан порт, определенный для данного POS-терминала в программе Интеллект.

Если необходимо добавить новую станцию (терминал), нажмите кнопку "Добавить" и укажите необходимые параметры. Для изменения параметров сущесвующей станции, выберите ее в списке и нажмите кнопку "Изменить"

Для сохранения ВСЕХ введенных параметров необходимо нажать кнопку "Сохранить".

Установка в качестве сервиса

Для запуска приложения в качестве сервиса необходимо запустить файл ITV_File_Scanner_SVC.exe с ключем /install :

ITV_File_Scanner_SVC.exe /install

Для удаления сервиса используется ключ /uninstall :

ITV_File_Scanner_SVC.exe /install

После установки будет добавлен новый сервис "UCS file scanner for ITV" с автоматичесуким типом запуска.

Настройка модуля NCR_FORWARD

Промежуточный модуль NCR_FORWARD.EXE предназначен для пересылки данных, получаемых по одному порту (TCP/IP), на уникальные порты системы POS-Интеллект для обеспечения работы ее с более чем одной кассовой станцией. В нашем случае использование NCR_FORWARD обусловлено некоторыми особенностями реализации приложения ITV File Scanner и в общем случае не является обязательным.

Все настройки программы хранятся в файле NCR_FORWARD.INI :

[SERVER]
local_port = <порт, к которому будут подключаться кассовые клиенты> - в нашем случае это входящий порт для приложения ITV File Scanner
max_in_connects = < максимальное количество одновременно принимаемых входящих соединений>

[FORWARD]
<номер кассовой станции>, <IP-адрес системы POS-Интеллект>, <порт POS-терминала, указанный в системе POS-Интеллект для данной кассовой станции>
В разделе [FORWARD] должны быть прописаны параметры для каждой кассовой станции (терминала), для которого необходимо передавать XML-файлы.

Важно! Если сетевое имя станции имеет номер, меньший 10, например UNIT01 или UNIT02, то номер станции необходимо указывать без ведущего нуля - в нашем примере это будет 1 и 2 соотв.

Примечание: номер станции приложение NCR_FORWARD "извлекает" из переданного XML-пакета - он передается в теге <TerminalId>...</TerminalId> и формируется кассовым сервером.

После запуска программы NCR_FORWARD.EXE появится значок в системном трее. Для отображения в окне программы отладочной информации необходимо создать в разделе реестра HKEY_LOCAL_MACHINE\SOFTWARE\ITV\Intellect\ параметр Debug (типа DWORD) и указать значение 3. Пример рабочего окна программы с отладочной информацией приведен на Рис.2

Пример настройки NCR_FORWARD.INI

Допустим, у нас есть кассовая станция UNIT89, для которой в системе POS-Интеллект создан POS-терминал с портом 2234. Система POS-Интеллект установлена на компьютере с адресом 192.168.0.1. Также мы определяем, что модуль NCR_FORWARD будет "слушать" входящие соединения на порту 4455. Тогда наш NCR_FORWARD.INI будет выглядить так:

[SERVER]
local_port = 4455
max_in_connects = 100

[FORWARD]
89, 192.168.0.1, 2234

В данном примере указано, что данные с кассы 89 будут переданы на POS-терминал с портом 2234. 

Работа с файлом настроек (шаблоном) xml_titles.txt

Файл настроек xml_titles.txt используется системой POS-Интеллект для формирования титров из полученных XML-пакетов. Как отмечалось выше, вы можете использовать готовый файл настроек, либо отредактировать его по вашему усмотрению. В документе xml_protocol.pdf достаточно подробно описан формат файла настроек и приведены примеры по работе с ним. Файл настроек xml_titles.txt должен находится в поддиректории \Modules\POS установленной системы POS-Интеллект.

Примечание: После изменения настроек в файле xml_titles.txt необходимо перезагрузить систему POS-Интеллект.

В кассовой версии 6.87 и выше была добавлена возможность отправки в систему видеонаблюдения информации по сервис-печати. Для разделения потоков сервис-печати используются различные номера функций при формировании XML-файла (более подробно о фукнциях см. в файле xml_protocol.pdf ) - при этом применяются следующие правила:

  • для основных блюд номер функции формируется по формуле: 100 + <шифр группы сервис-печати из таблицы STREAMS.DB>
  • для модификаторов номер фунции формируется по формуле: 200 + <шифр группы сервис-печати из таблицы STREAMS.DB>

Есть еще несколько правил, используемых при формировании XML-файла кассовым сервером:

  • функция начала чека всегда имеет номер [1]
  • функция для передачи основных блюд чека (финального) всегда имеет номер [2]
  • функция для передачи модификаторов чека (финального) всегда имеет номер [3]
  • функция для передачи информации о скидке по чеку всегда имеет номер [4]
  • функция для передачи информации по карте ПДС (если она была применена) всегда имеет номер [5]
  • функция для передачи "метки" об окончании печати финального чека всегда имеет номер [10]
  • функция начала сервис-печати всегда имеет номер 100
  • функция для передачи "метки" об окончании печати сервис-чека всегда имеет номер [10]

Рассмотрим на примере:

Допустим, у нас есть три группы сервис-печати (значение шифров см. в таблице STREAMS.DB в поле Sifr): "Холодный цех" с шифром 1, "Бар" с шифром 2 и "Горячий цех" с шифром 3. Тогда для сервис-печати основных блюд будут формироваться функции с номерами 101, 102 и 103 соответственно; для модификаторов будут формироваться функции с номерами 201, 202 и 203 соответственно. 

Ниже приведено содержание файла xml_titles.txt для нашего примера:

[1]
-----------
НАЧАЛО ЧЕКА

Чек №<check_number>
<RealDate> <TransactionTime>
Кассовая дата: <LogicDate>
Стол №<customer_number>, Официант: <cashier_number>
Кассир: <cashier_name>
-----------------
ВСЕГО: <total>
-----------------

[4]
----------------
Скидка: <item_name> <item_total>
----------------
[5]
Карта №<item_code> Владелец: <item_name>
----------------
[2]
<item_code> <item_name> x <item_count> <item_total>
[3]
<item_name>

[100]
--------------------
НАЧАЛО СЕРВИС-ПЕЧАТИ

Стол №<customer_number>
<RealDate> <TransactionTime> (<LogicDate>)
Официант: <cashier_number> <cashier_name>

[101]
ХОЛОДНЫЙ ЦЕХ
<item_code> <item_name> х <item_count>
[201]
<item_name>

[102]
БАР
<item_code> <item_name> х <item_count>
[202]
<item_name>

[103]
ГОРЯЧИЙ ЦЕХ
<item_code> <item_name> х <item_count>
[203]
<item_name>

[10]
КОНЕЦ ЧЕКА
-----------
[11]
КОНЕЦ СЕРВИС-ПЕЧАТИ
--------------------
[TRANSFORM]
RealDate=TransactionDate

[PARAM_TEXT_FORMAT]
ItemName=17,left
ItemNumber=3,right
ItemQuantity=3,right
ItemPrice=5,right
item_code=4,left
item_name=26,left
item_count=7,left

[PROLOG]
1
[BODY]
2
3
[EPILOG]
10

Интеграция с сиcтемой видеонаблюдения ITV POS-Интеллект - Кассовая часть ниже 6.87

Основная информация

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

Состав приложения

Дистрибутив приложения можно взять на фтп в директории dealers/r-keeper/VideoIntellect/archive/.. 

Модули, поставляемые компанией UCS

  • MONLIB.DLL – библиотека, предоставляющая функции для приложения связи. Предоставляется компанией UCS
  • MONLIB.INI – конфигурационный файл, используемый библиотекой monlib.dll
  • MONLIB.KEY – программный ключ, необходимый для работы приложения связи. Предоставляется компанией UCS после приобретения ПО.
  • RNBOPEN.DLL – коммуникационная библиотека для подключения к кассовому серверу R-Keeper. Предоставляется компанией UCS

Модули, поставляемые компанией ITV

  • RKEEPER_FORWARD.EXE – приложение связи. Предоставляется компанией ITV
  • RKEEPER_FORWARD.INI – конфигурационный файл для приложения RKEEPER_FORWARD.EXE

Важно! Программный ключ привязан к коду ресторану, который должен быть в новом формате (девятизначный NNNNNN.NNNN), т.е. для установки интеграции версия R-Keeper v6 должна быть не ниже 6.56.

Установка и настройка

Для установки приложения скопируйте все файлы в любую директорию, например C:\RK6\Intellect.

Для подключения к кассовому серверу необходимо настроить конфигурационный файл MONLIB.INI. Ниже приведена его структура:

[Options]
LinkDLL=Rnbopen
Gate=1

[Rnbopen]
Client1=MonLibDll
Server1=RLSERV
Adapter1=0 

Параметр LinkDLL в разделе [Options] определяет модуль, с помощью которого будет осуществляться подключение к кассовому серверу R-Keeper-возможен только один вариант - Rnbopen.dll

В разделе [Rnbopen] указываются параметры подключения (X-число, которое указанно в качестве значения параметра Gate в разделе [Options]):

ClientX = <Любое уникальное имя>
ServerX = <NetBIOS имя кассового сервера, к которому требуется подключение>
AdapterX = <номер текущего адаптера NetBIOS (Lana Num)> Для поиска можно воспользоваться утилитой NBA-FIND.EXE

Далее необходимо настроить конфигурационный файл RKEEPER_FORWARD.INI. Он состоит из одного раздела [SETTINGS], в котором могут быть строки вида:

NN, <IP-адрес>, <порт>

Где:

  • NN – номер рабочей станции R-Keeper, с которой будет «сниматься» информация1 (например для станции UNIT87 этот будет 87)
  • <IP-адрес> - IP-адрес компьютера, на котором установлено основное ПО «Интеллект». Этот параметр можно уточнить у специалистов, устанавливающих систему видеонаблюдения
  • <порт> - порт, присвоенный POS – терминалу в системе «Интеллект». Более подробно об этом параметре можно узнать у специалистов, устанавливающих систему видеонаблюдения.

Важно! Если имя кассовой станции имеет номер, меньший 10, например UNIT01 или UNIT02, то в конфигурационном файле следует прописывать номер без ведущего нуля, .т.е. исходя из нашего примера, номера должны выглядеть как 1 и 2, а не 01 и 02.

Пример файла RKEEPER_FORWARD.INI:
[SETTINGS]
1, 198.154.196.179, 2554
2, 198.154.196.179, 2555
88, 198.154.196.179, 2556 
  • В этом примере указано, что приложение связи будет перенаправлять данные со станции UNIT01, UNIT02 и UNIT88 на соответствующие POS-терминалы с портами 2554, 2555, 2556
  • Основное окно приложения связи разделено на несколько частей, в каждой из которых можно наблюдать состояние работы приложения (см. вложенные скриншоты)
  • Если необходимо настроить подключение к нескольким кассовым серверам, скопируйте файлы в разные директории, измените конфигурационные файлы MONLIB.INI и RKEEPER_FORWARD.INI, указав нужное имя кассового сервера, уникальные имена клиентов (параметр ClientX) и номера кассовых станций, соответствующих выбранному кассовому серверу.
 

Интеграция с системой бронирования Restorun

Вводная информация

ПО "Restorun" представляет собой систему управления резервированием столов и отношениями с клиентами - более подробно можно ознакомиться на сайте разработчика http://restorun2.ru/.

Интеграция с R-Keeper v6 состоит в отправке уведомлений кассовой системой при следующих операциях:

  • Открытие нового стола
  • Заказ гостями десерта
  • Заказ гостями расчета (печать предварительного чека)
  • Расчет стола (оплата заказа)

Настройка интеграции

Примечание: Интеграция реализована с кассовой версии 6.96.

Для настройки интеграции достаточно прописать в RKEEPER6.INI кассового сервера следующие параметры:

RestorunKey=<лицензионный ключ>
RestorunIp=<IP-адрес:порт>
DesertCateg=<шифр категории блюд-десертов>

Лицензионный ключ - код, предоставляемый компанией ЮСиэС после оплаты интеграции.

Важно! Лицензионный ключ зависит от кода ресторана. Если ключ не указан или указан не верно, интеграция работать не будет.

В параметре RestorunIP указывается IP-адрес компьютера, на котором работает сервер Restorun и порт, на котором сервер слушает входящие UDP-пакеты (по-умолчанию значение порта 5005)

Параметр DesertCateg определяет шифр категории блюд, которые являются десертами в данном заведении - при заказе таких блюд, кассовая система будет отправлять в Restorun соотв. уведомление. Значение шифра категории можно посмотреть в свойствах категории либо в таблице Categ.db, поле Sifr

Проверка работоспособности

Как было указано выше, при отсутсвующем лицензионном ключе или неверно указанном ключе, интеграция работать не будет. Для того, чтобы убедиться, что ключ действительный и кассовый сервер отправляет необходимые данные, можно воспользоваться простой бесплатной утилитой PortPeeker (ftp://ftp.ucs.ru/r-keeper/Tools/PortPeeker/PortPeeker.rar )

Запустите утилиту, перейдите в File -> Configure. В окне конфигурации укажите тип протокола UDP, IP-адрес и порт для "прослушивания":

Примечание: значения порта и IP-адреса должны в точности соотв. значениям, указанным в параметре RestorunIp.

Для начала прослушивания в основном окне утилиты нажмите кнопку "Start" на панели задач. 

Далее выполните соотв. операции на кассовой станции - откройте новый стол, добавьте блюдо из категории десертов, распечатайте предварительный чек и оплатите заказ. После каждой из операций в окне утилиты PortPeeker должна последовательно появиться информация об отправляемых кассовой системой UDP-пакетах:

Если данные не появляются в окне, значит интеграция не работает по какой-либо причине (некорретная лицензия, неправильные настройки и т.д.)

Описание формата UDP-сообщений можно посмотреть в файле Restorun-POS-Interface-2.0 [rus].pdf 
 

ВложениеРазмер
Restorun-POS-Interface-2.0 [rus].pdf128.32 КБ

Интеграция с системой лояльности "Gifty" (Rewalon)

Вводная информация

Интеграция с системой лояльности "Gifty" использует стандартный ретранслятор карт Farcards для взаимодействия с сервисом "Gifty" (www.Rewalon.com)

Посредством Farcards cистема передает данные (содержимое заказа, код скидки) и возвращает скидку с максимальным значением, возможным для данного подарочного кода.

Также система проверяет наличие в заказе как минимум одного блюда/услуги в случае, если этого требует подарочный код

Важно: Система интеграции с сервисом "Gifty" использует расширенный протокол Farcards версии 29

 

Установка системы

Для установки системы необходимо:

  1. Установить на компьютер, где будет развернут Farcards, пакет Microsoft .NET Framework 3.5 SP1 (требуется для работы компонентов, поставляемых компанией "Gifty")
  2. Скопировать готовую сборку Farcards(Gifty) на рабочий компьютер
  3. Отредактировать файл Gifty.config - указать параметры SellerCode и код скидки (DiscountCode)
<?xml version="1.0"?>
<configuration>
  <Gifty.Settings>
    .............
    <setting name="SellerCode">
     <value>0000</value>
    </setting>

    <setting name="DiscountCode">
      <value>98</value>
    </setting>
    ...........
  </Gifty.Settings>
</configuration>
Порядок предоставления параметра SellerCode следующий:
  • Компания "Rewalon" получает список всех точек, затем вводит их у себя в систему
  • Каждая точка получают уникальный код продавца (SellerCode)
  • Cписок точек и их кодов передается компании UCS для последующей конфигурации касс

После успешного запуска Farcards должны соформироваться несколько лог файлов:

WEBcards.log
2014.08.11 15:23:21:593. ProcessID: 8488;10416. Library version: 4.6.0.38
WEBTranslator XXXXXX XXXXXX.log
****** Starting 11.08.2014 15:23:23 ******
14.08.11 15:23:23 T[01] INFO:   [WEBTranslator] Library (ver.6.14.408.10 Release build) loaded at 2014-08-11T15:23:23
14.08.11 15:23:23 T[01] INFO:   [WEBTranslator] Current user: UCS
14.08.11 15:23:23 T[01] INFO:   [WEBTranslator] Use Tiketa service: False
14.08.11 15:23:23 T[01] INFO:   [WEBTranslator] Use Maxima service: False
14.08.11 15:23:23 T[01] INFO:   [WEBTranslator] Use Epay.lt service: False
14.08.11 15:23:23 T[01] INFO:   [WEBTranslator] Use OneGo service: False
14.08.11 15:23:23 T[01] INFO:   [WEBTranslator] Use MokiPay service: False
14.08.11 15:23:23 T[01] INFO:   [WEBTranslator] Use Gifty service: True
14.08.11 15:23:23 T[01] INFO:   [WEBTranslator] ClearTXPeriod: 1h
14.08.11 15:23:23 T[01] INFO:   [DB::BarcodeMap]Jet 4.0 version: 4.00.9756.0
14.08.11 15:23:23 T[01] INFO:   [DB::BarcodeMap]Database loaded: .\WEBTranslator.mdb
14.08.11 15:23:23 T[01] INFO:   [DB::BarcodeMap]Handle base: 0
14.08.11 15:23:23 T[01] INFO:   [Gifty]Simplified:True, endpoint: http://ru.rewalon.com/
14.08.11 15:23:23 T[01] INFO:   [UDPListener]Port listen:0, Port send:0
14.08.11 15:23:23 T[03] INFO:   [UDPListener]Listener started.
14.08.11 15:23:39 T[05] INFO:     [DB::ClearTX]Removed 0 old TXData transactions.
14.08.11 15:23:39 T[05] INFO:     [DB::ClearTX]Removed 0 old TXKind1Data transactions.
14.08.11 15:23:39 T[05] INFO:     [DB::ClearTX]Removed 0 old Barcodes handles.
14.08.11 15:23:39 T[05] INFO:     [DB::ClearTX]Removed 0 old GiftyResponses.
Если в файле WEBTranslator XXXXXX XXXXXX.log есть ошибки, связанные с OLE, это обозначает, что не установлен пакет Microsoft .NET Framework 3.5 SP1 :
2013.03.21 10:38:32:434. ProcessID: 4196;8056.   Init: Creating WEBTranslator...
2013.03.21 10:38:32:437. ProcessID: 4196;8056.    CreateNETObject: 80131700
2013.03.21 10:38:32:440. ProcessID: 4196;8056.   Init[EXCEPTION: OLE error 80131700]
2013.03.21 10:38:32:442. ProcessID: 4196;8056.   Init[EXCEPTION: More information can be found in Windows Event Log]

Настройка R-Keeper v6

Важно: Версия кассы должна быть 6.105.6 или выше. Возможна работа с сервисом "Gifty" на более ранних версиях кассы в упрощенном режиме (передача только кода скидки, без детализации содержимого чека).

Менеджерская RK6 (E_Rest32)

В модуле "Редактор" необходимо добавить скидку для использования с сервисом "Gifty" (Rewalon).

Параметры скидки:

  • Вид скидки - скидка на чек
  • Размер скидки - 100%
  • Тип магнитной карты - 98 или любой другой идентификатор, согласованный с заказчиком и прописанный в Gifty.config

 

Кассовый сервер (Rkserver)

В конфигурационном файле кассового сервера RKEEPER6.INI необходимо прописать параметр ApServer1 (ApServer2, ApServer3 и т.д.) с указанием диапазона карт "Gift":

APserver1=990000000-999999999,GIFTY

- где:

  • 990000000-999999999 - диапазон номер карт "Gifty", определенный для использования для точек, расположенных на территории России (99<семь_цифр>).
  • GIFTY - NetBIOS-имя сервера Farcards.

- либо, вариант с использованием подключения по протоколу TCP/IP: 

APserver1=99000000-99999999,AAA.BBB.CCC.DDD:NNNN

- где:

  • AAA.BBB.CCC.DDD - IP-адрес комьютера, где развернут сервер Farcards
  • NNNN - входящий порт для подключений, определенный в параметрах Farcards

 

Примечание: С версии кассы 6.102.2 для подключение к серверу карт (CARDSERV) и серверу Farcards рекомендуется всегда использовать протокол TCP/IP - это исключает проблемы с "зависанием" связи в случае установки серверов на 64-х битные ОС.

 

Кассовый клиент (Rkclient)

В конфигурационном файле кассового клиента RKEEPER6.INI необходимо прописать следующие параметры.

Возможность ручного ввода номеров карт и ограничение диапазона карт "Gifty" (990000000-999999999):

CanManualDiscInput = ON
ManualDiscInterval=990000000-999999999

Включение механизма контроля ограничения скидок:

PDSMaxDiscControl=ON

Примечание: С кассовой версии 6.105.6 параметр PDSMaxDiscControl по-умолчанию принимает значение ON/

Дополнительные параметры:

PdsXML=ON
ExtendedPDSXML=ON
PdsLog=OFF

 

Варианты использования подарочных кодов

Возможны три варианта использования подарочных кодов:

  1. В заказ добавляется скидка на определённую сумму, которая равна величине суммы подарка.
  2. В заказ добавляется скидка на сумму конкретного блюда, который указан в коде подарка  "Gifty", но величина скидки не превышает суммы самого подарка.
  3. В заказ добавляется скидка на сумму одного блюда из набора блюд которые указаны в коде подарка "Gifty", но величина скидки не превышает суммы самого подарка. Если в заказе будет несколько блюд из указанных в подарке, система подберёт блюдо наибольшей стоимости и применит скидку только к этому блюду.

 

Работа в упрощенном режиме

В упрощенном режиме сервис "Gifty" не обрабатывает данные о содержимом чека, а только передает информацию о размере скидки.

Для включения упрощенного режима необходимо в файле Gifty.config установить параметр Simplified в значение 1:

<?xml version="1.0"?>
<configuration>
  <Gifty.Settings>
    ...
    <setting name="Simplified">
      <value>1</value>
    </setting>
    ...
  </Gifty.Settings>
</configuration>
Примечание: Для отключения передачи расширенной информации по содержимому чека на кассовой станции можно использовать параметр PDSProtocol=23 (доступен с версии 6.104). На версиях кассы ниже 6.104 поддержка протокола 29 не реализована.
 

Приложение

Для тестирования интеграции с сервисом "Gifty" можно использовать следующие номера карт:

Номер карты Сообщение/действие на кассе после применения подарочного кода
990123451 или 123451 Подарочный код уже использован
990123452 или 123452 Срок действия подарочного кода закончился
900123455 или 123455 Подарочный код не существует
900123456 или 123456 Скидка на сумму ХХ для всего заказа
900123450 или 123450 Скидка на сумму ХХ для блюда "Тест ..." с кодом 1234
900123455 или 123454 Скидка на сумму ХХ для одного из блюд с кодом 1234, 4321, 5678

Для использования тестовых номеров карт необходимо соблюдение следующих условий:

  • Параметр SellerCode в конфигурационном файле Gifty.config должен быть равен 0000.
  • Если используется "короткий" вариант номера (без 900 в начале), для параметра APserver (APserver1, APserver1 и т.д.) и ManualDiscInterval должны быть изменены диапазоны карт для поддержки тестовых номеров.

 

 

Интеграция RK6 с системой контроля розлива "Berg"

Общая информация

Интеграция с системой контроля розлива Berg (http://berg-russia.ru/) представляет процесс обмена информацией между ПО R-Keeper v6 и блоком управления "Berg". В результате интеграции розлив алкоголя будет возможен только при наличии соответствующего напитка в заказе.

Программное обеспечение

Все необходимое ПО можно взять на фтп в директории  - ftp://ftp.ucs.ru/r-keeper/Tools/BERG.

Схема взаимодействия программных модулей

Касса RK6 ---> [Текстовый файл] --->  Локальная директория или общий сетевой ресурс ---> 
---> Сервис взаимодействия bergsvc.exe (в прошлом устройство KDS-BERG) >>> [Интерфейс RS232] >>> Блок управления Berg

На практике это выглядит так: 

  • Бармен или официант обычным образом принимает заказ у гостя и добавляет напитки в заказ.
  • После сохранения заказа кассовая система формирует текстовый файл с кодами "разрешенных для пролива" напитков.
  • Сервис взаимодействия bergsvc обрабатывает текстовые файлы и дает команды на разрешение пролива устройству управления.
  • Брамен разливает напитки, используя специальные устройства "BERG".

Настройка кассы RK6 

Важно! Для поддержки интеграции требуется кассовый сервер (NT или DOS) не ниже версии 6.97h.

Для настройки требуется прописать следующие серверные параметры в RKEEPER6.INI:

BergPath = путь к директории обмена BergCategs = шифры контролируемых категорий

- где:

  • [путь к директории обмена]  - полный путь к директории с общим сетевым ресурсом,  доступной для устройства "KDS-BERG".
  • [шифры контролируемых категорий]  - указанные через запятую шифры категорий блюд, розлив которых необходимо контролировать с помощью системы "Berg".

Примечание: параметр BergCategs доступен с версии 6.97i.

Пример:

BergPath=C:\RK6\Berg
BergCategs=2,3,7

Настройка сервиса - bergsvc.exe

Cервис реализует основной механизм взаимодействия между кассовой системой R-Keeper и системой контроля разлива "Berg".

Программу можно скачать на фтп  - ftp://ftp.ucs.ru/r-keeper/Tools/BERG/WINDOWS.

Программа защищена специальным ключем Guardant UCS, который никак не прошивается (драйвер ключа такой же, как и для других ключей Guardant):

Примечание: Ключ защиты не контролирует кол-во возможных запущенных копиий bergsvc.exe.

Инсталлируется сервис с параметром /INSTALL,  для удаление сервиса используется параметр /UNINSTALL.

Для каждого физического блока управления "BERG" требуется запуск отдельной копии bergsvc.exe - на одном компьютере можно инсталлировать несколько сервисов, расположив файлы в разных директориях. Но как правило используется другая схема - если станция установлена в баре, на нее устанавливают Windows, RK6WIN (либо RK7) и инсталируют сервис bergsvc.exe.

Сервис берет настройки из INI-файла - имя файла должно совпадать с именем EXE-файла и файл должен находится в том же каталоге.

Параметры конфигурационного файла (по умолчанию bergsvc.ini):

BergPort = COM1      COM-порт, к которому подключен блок управления BERG
OderDir = каталог обмена файлами с кассовым сервером, должен соотв. параметру кассового сервера BergPath
UserName = имя пользователя - указывать если каталог обмена не локальный, а сетевой, задавать в формате "SERVER\user", иначе будет ошибка 1312. 
Password = пароль пользователя для доступа к сетевому каталогу

Поддержка  коктейлей

Так как из кассовой системы R-Keeper не передается информация об ингридиентах каких-либо напитков или коктейлей, а при их приготовлении требуется "разрешение" на пролив каждого из компонентов в отдельности, сервис bergsvc может преобразовывать полученные коктейли в отдельные ингридиенты.

Для этого в каталоге обмена должен быть создан файл COMPOSIT.TXT.

Это обычный текстовый файл, каждая строка которого описывает состав коктейля в кодах ингридиентов.

Формат строки:

<Код коктейля>=<Коды ингрдиентов, разделенные точкой с запятой>

Пример:

2983=890;2893;111;234
4284 = 192; 890; 283; 233

В данном примере, если на  кассовой станции в заказ добавят коктейль с кодом 2983 или 4284, сервис bergsvc использует информацию из файла COMPOSIT.TXT и разрешит пролив соотв. ингридиентов.

Интеграция с системой управления боулингом "Brunswick Vector"

Основная информация

Приложение связи позволяет получать информацию по закрытым (оплаченным) дорожкам боулинга и автоматически формировать заказы в системе R-Keeper v6. Происходит это путем отслеживания изменений в базе данных Brunswick Vector (используется MS SQL Server) и передаче инфомации в кассовому сервер R-Keeper v6.

Состав и установка приложения

Приложение связи состоит из набора файлов - исполняемый модуль (VectorBrunswick.exe), интерфейсная библиотека и ее конфигурационный файл (iface.dll и iface.ini) и файл универсальной связи с данными (brnsw.udl)

Конфигурационный файл iface.ini состоит из одной секции [MAIN] и содержит следующие переменные:

Adapter = <номер текущего адаптера NetBIOS>
ServerName = <NetBIOS имя кассового сервера>
Name = <имя «виртуальной» станции>
DeviceName = <сетевое имя группы устройств, создаваемого в «Редакторе» >

Более подробное объяснение параметров:

  • Adapter - определяет текущий номер адаптера для NetBIOS. Значение можно узнать с помощью утилиты NBA-FIND.EXE
  • ServerName - определяет NetBIOS имя кассового сервера, к которому будет подключаться приложение связи для автоматического создания заказов. Следует учитывать, что подключение возможно ТОЛЬКО к одному кассовому серверу.
  •  Name - определяет имя (как правило, в виде UNITXX) виртуальной станции, которая необходима для корректного подключения к кассовому серверу. Эта станция должна быть прописана в менеджерском модуле (с помощью приложения DealRK.exe) и не требует никаких дополнительных настроек. Тип этой станции также не имеет значения.
  • DeviceName - опредедляет сетевое имя группы устройств. Для это необходимо в приложении "Редактор" создать новую группу устройств, сетевое имя которой затем присваивается переменной DeviceName. В качестве устройств для этой группы прописываем дорожки боулинга, при этом кол-во заведенных устройств не должно быть меньше, чем кол-во реальных игровых дорожек.
  • NewTable - определяет поведение интерфейса при переброске результата тарификации в R-Keeper. Если ON - будет создан новый стол (при этом номер стола равен номеру дорожки), если OFF - результа тарификации будет добавлен к существующему столу. Применяется, как правило, в крупных боулингах.(GP)

Примечание: следует понимать, что при связи с программой Vector Brunswick система R-keeper v6 не производит никаких операций с тарифами, т.е. все расчеты производит Brunswick Vector, а в R-Keeper передается только стоимость игры. Таким образом, в «Редакторе» необходимо определить единственный тариф с базовой ценой 1 руб. (тип цены не имеет значения), который следует использовать для всех прописываемых устройств.

Создание и настройка файла универсальной связи с данными - brnsw.udl

  • Создайте пустой текстовый файл (с любым именем) и переименуйте его в brnsw.udl. Для настройки файла дважды щелкните на нем - откроется окно «Свойства связи с данными». На закладке «Поставщик данных» выберите «Microsoft OLEi DB Provider for SQL Server» (cм. Рис. 1). На закладке «Подключение» необходимо указать имя SQL Server (можно узнать у специалистов компании Brunswick, по умолчанию DATOR - см. Рис. 2), имя пользователя и пароль для входа на сервер(по умолчанию имя пользователя guest без пароля) и выбрать базу данных – CLASSIC_POS
  • Для проверки корректности введенных данных, нажмите кнопку «Проверить подключение»-в случае успешного подключения будет выдано соответствующее сообщение.
  • Сформированный файл brnsw.udl необходимо скопировать в директорию C:\Program Files\Common Files\System\Ole DB\Data Links\ . Если директории Data Links не существует, необходимо создать ее
  • После всех вышеперечисленных операций можно запустить приложение связи (VectorBrunswick.exe). При наличии выделенного кассового сервера (NT) вы сможете увидеть подключение «виртуальной» станции, канал связи которой будет всегда в состоянии Closed-подключение к кассовому серверу происходит только в момент активной транзакции со стороны SQL Server-а, т.е. при оплате дорожки в приложении Brunswick Vector. При перезагрузке кассового сервера или SQL-Server-а, программа VectorBrunswick.exe самостоятельно восстановит соединение с этими приложения.

Дополнительные возможности

  • Дополнительно, разработано приложение (RKR.EXE) для ввода игроков при создании игры, которые имеют постоянные карты ПДС (платежно - дисконтной системы). Для этого необходимо предварительно в программе Brunswick Vector в разделе «Боулеры» завести всех владельцев карт ПДС. При заведении нового члена клуба в качестве его номера должен выступать номер его карты ПДС.
  • При создании новой игры, вместо ручного ввода имени игрока, вам достаточно провести через считыватель (см. ниже) карту ПДС, принадлежащую игроку
  • Приложение работает через эмуляцию клавиатурного ввода, а для чтения карт ПДС использует считыватель магнитных карт с интерфейсом RS-232i и соответствующую интерфейсную библиотеку cardread.dll с конфигурационным файлом cardread.ini, в котором указывается, в какой COM-порт подключен считыватель/.
  • Как правило, ПО Brunswick Vector запускается на компьютере в режиме запрета доступа к рабочему столу (Explorer не загружается). Поэтому для загрузки приложения RKR.EXE необходимо прописать его в реестре. Для этого находим ветку [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon], далее в ней находим строковую переменную Shell. Значение этой переменной может быть не пустым (как правило .там прописан запуск приложения Brunswick Vector). Для запуска нашего приложения мы изменяем переменную Shell, добавляя к существующей строке, через запятую, полный путь к приложению. Например, строка должна выглядеть вот так:
c:\brunswick\reception\loader\loader.exe -D,C:\ucs\cards\rkr.exe"

Сама же ветка реестра при этом выглядит так:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] "Shell"="c:\\brunswick\\reception\\loader\\loader.exe -D,C:\\ucs\\cards\\rkr.exe"

 

Интеграция R-Keeper v6 c внешней учетной системой компании Sodexo

 

Документация по установке и настройке связи с учетной системой Sodexo http://support.ucs.ru/ru/node/8375

Интеграция RK6 c системой лояльности "Малина"

Общая информация

Документ содержит информацию только по первичной обработке и поддержке карт "Малина" на рабочих станциях R-Keeper v6. Получение различных отчетов в формате, требуемом компанией "Loyalty Partners Vostok", в данном документе не рассматривается.

Так как количество карт "Малина" достаточно велико и карта не является персональной, то и смысла поддерживать базу данных таких карт нет. Не смотря на то, что для работы с картами "Малина" требуются модули из состава "ПДС", в базе данных сервера карт не содержится никакой информации о картах "Малина".

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

Для разделения запросов от кассы на стандартные карты ПДС и на карты "Малина", используется приложение CDISTR, которое в зависимости от диапазона, в который попадает номер карты, направляет запрос либо в CARDSERV либо в FARCARDS.

Примечание: для показа напоминания о применении карт Малина и контроле минимальной пороговой суммы для начисления бонуса необходима версия кассы не ниже 6.89 (менеджера 6.87).

Для получения данных по сумме начисленных бонусов по картам "Малина" необходимо самостоятельно делать выборку из накопительной базы - либо через импорт данных в DBF (для ARK6.UDB), либо из базы R-Keeper BackOffice (если используется)

Дистрибутивы необходимого ПО можно взять на фтп ftp://ftp.ucs.ru/r-keeper/Tools/Malina/.

Настройка серверного ПО

Возможно несколько вариантов конфигурации - рассмотрим каждый из них более подробно.

Конфигурация при использовании только карт "Малина"

Такая конфигурация может использоваться в том случае, если в ресторане нет собственной системы ПДС или какой-либо другой (сторонней) дисконтной системы.

В такой конфигурации необходимо установить только приложение FarСards с поддержкой специальной библиотеки Malina.dll.

Пример файла FARCARDS.INI для такой конфигурации:

[FarServer]
Type = 1
DLL = Malina.dll
Gate = 1

[LinkDLL]
1 = RNBOpen
2 = RLocal

[RNBOpen]
Server=ASERV

[RLocal]
Port = 2

Немного подробней о каждом разделе:

  • В разделе [FarServer] мы определяем с помощью параметра Type = 1, что приложение FarСards должно передавать запросы от клиентов (кассовых серверов и других менеджерских приложений) в библиотеку Malina.dll (DLL = Malina.dll) - таким образом FarСards заменяет собой стандартный сервер карт (CARDSERV).
  • В разделе [LinkDLL] подключается два интерфейсных модуля: RNBOpen для подключения кассовых серверов и RLocal (или любой другой модуль, отличный от RNBOpen) для подключения других менеджерских приложений (Отчеты, КУБы и т.д.).
  • В разделе [RNBOpen] определяется NetBIOS-имя, по которому кассовый сервер будет пытаться подключиться к FarСards. Это значение должно соотв. значению параметра ApServer в настройках кассового сервера.
  • Далее, могут располагаться секции для других интерфейсных модулей, необходимых для подключения клиентов к FarСards.

Дополнительно требуется настройка для специальной библиотеки Malina.dll - все параметры определяются в файле Malina.ini:

[Options]
Holder = Malina CardHolder
Discount = 11
Bonus = 88

В файле  Malina.ini есть только одна секция [Options], в которой определяются три переменные:

  • Holder - определяет значение, которое FarCards будет возвращать в качестве имени владельца карты. Таким образом, для всех карт "Малина" будет возвращаться всегда одно и то же имя владельца, указанное в этом параметре
  • Discount  - определяет значение, которое FarCards будет возвращать в качестве номера скидки. Таким образом, для всех карт "Малина" будет возвращаться всегда одно и то же значение скидки, указанное в этом параметре. Если для карт "Малина" не предусмотрено скидок, необходимо создать нулевую скидку и указать ее тип в этом параметре
  • Bonus - определяет значение, которое FarCards будет возвращать в качестве номера бонуса. Таким образом, для всех карт "Малина" будет возвращаться всегда одно и то же значение бонуса, указанное в этом параметре

Конфигурация при использовании карт "Малина" и стандартной ПДС

Такая конфигурация может использоваться в том случае, если в ресторане уже установлена (или планируется к установке) стандартная версия ПДС. В таком случае, кроме сервера карт (CARDSERV) и ретранслятора карт (FarCards) необходимо настроить распределитель запросов (CDISTR).

Примечание: Если в ресторане при настройке поддержки карт "Малина" будет проводиться обновление кассового и менеджерского ПО, необходимо проверить и при необходимости сделать обновление системы ПДС.

Действия, необходимые для изменения конфигурации в работающем ресторане:

  1. Изменить настройки текущего сервера карт - необходимо убрать поддержку модуля RNOpen.dll, т.к. кассовый сервер должен будет подключаться к  модулю CDISTR. Для этого открываем CARDSERV.INI, находим раздел [LinkDLL] и комментируем (или удаляем) строку с RNBOpen :
...
[LinkDLL]
1 = RLocal
2 = RNBOpen
3 = RTCP
...

Раздел [RNBOpen] удалять или комментировать не обязательно:

...
[RNBOpen] Server = AUSERV ...............
  1. Для сервера карт CARDSERV настроить (если не было настроено ранее) подключение по одному из модулей - RLocal (для локального подключения) и/или RTCP (для удаленного подключения), для возможности подключения распределителя запросов CDISTR
  2. Настроить ретранслятор карт FARCARDS с поддержкой специальной библиотеки Malina.dll, как описано выше, за исключением поддержки модуля RNBOpen:
[FarServer]
Type = 1
DLL = Malina.dll
Gate = 1

[LinkDLL]
1 = RNBOpen
2 = RLocal
[RNBOpen] Server=ASERV 
  1. Настроить распределитель запросов CDISTR. Подробная информация по модулю и его установке находится в дистрибутиве \PERSCARD\CDISTR\.., ниже показан пример конфигурационного файла cdistr.ini с некоторыми пояснениями:
[LinkDLL]
1=RNBopen

[Server1]
; Раздел для подключения к CardServ
DLL=Rlocal
Gate=1
MaxCardNum = 9999
 [Server2] ; Раздел для подключения к FarCards
DLL=Rlocal
Gate=2
MinCardNum = 1000000000

[RLocal]
Client1 = CardServCards
Port1 = 0
Client2 = MalinaCards
Port2 = 2

[Rnbopen]
Server = ASERV
  • Данный конфигурационный файл предполагает, что подключение к приложениям FARCARDS и CARDSERV происходит локально, т.е. все приложения находятся на одном компьютере. Если требуется удаленное подключение, необходимо изменить транспортные библиотеки в разделе [Server1] и [Server1], а также прописать соотв. разделы для них.
  • Как видно из конфигурационного файла, приложение CDISTR использует модуль RNBOpen.dll, т.е. становится "первичным" сервером, который принимает запросы от кассового сервера. Поэтому значение, указанное в параметре Server раздела [Rnbopen] должно совпадать с именем, указанным в RKEEPER6.INI кассового сервера в параметре ApServer.
  • Также стоит обратить внимание на параметры MaxCardNum и MinCardNum, прописанные в разделах [Server1] и [Server2] соответственно. Благодаря этим параметрам, CDISTR после получения запроса от кассвого сервера определяет, какому приложению отправить запрос - серверу карт (CARDSERV) или ретранслятору карт (FARCARDS). Почему в параметре MinCardNum из раздела [Server2] указано значение 1000000000, будет понятно немного ниже.

Примечание: начиная с версий касс 6.1хх и выше вместо CDISTR можно использовать параметры кассового сервера ApServer1, ApServer2 и т.д. Подробнее об этих параметрах в справочнике параметров RK6 - http://support.ucs.ru/ru/rkeeper6.ini.

Настройка Менеджерской RK6 (E_Rest32)

В менеджерсокм приложении "Редактор" необходимо создать бонуc, например, "Малина 3%". В свойствах бонуса указать код и в поле "Минимум" минимальную сумму, при заказе на которую будет начисляться этот бонус (см. Рис.1).

Примечание: поле "Минимум" в свойствах бонуса доступно начиная с версии менеджерской 6.87.

Настройка  кассы 

Если установка выполняется в работающем ресторане, проверяем версию кассы - если ниже 6.89, необходимо обновить до последней.

Для поддержки карт Малина используется модуль FIX_LEN . Маска в данном случае выглядит следующим образом:

Fix_Len_Mask=6393***NNNNNNNNN=16127110000000000000
Fix_Len_AddCode=1000000000

Параметр Fix_Len_AddCode добавляет ко всем номерам карт Малина число 1000000000 - это сделано для исключения "попадания" карт Малина в диапазон карт ПДС. Это как раз объясняет, почему в параметре MinCardNum мы указали значение 1000000000

Для отображения напоминаний о применении бонусных карт есть два варианта:

Для версий кассы ниже 6.94e (но выше 6.88) можно использовать конфигурируемый файл MESSAGES.INI (находиться в рабочей директории RKCLIENT) -  напоминания выводятся в заголовке рабочего окна. Простой пример файла:
11;1; Спросите гостя о карте Малина!; -1;-1;11;11
22;2; Спросите гостя о карте Малина!; -1;-1;22;22
33;3; Спросите гостя о карте Малина!; -1;-1;33;33
Для версий кассы 6.94e и выше можно использовать параметр RemindBonusCard=ON

для печати информации по начисленным бонусам можно немного модифицировать печатные формы FCHECK.FRM и/или FICHECK.FRM (см. вложенный FORMS.RAR)

Описание процесса обработки карт "Малина"

  • В режиме заказа на кассе прокатывают карту Малина.
  • С помощью перекодировки касса выделяет номер карты, добавляет к нему 1000000000 и дальше пытается связаться с сервером карт.
  • В качестве сервера карт выступает либо CDISTR, который на вход получает номер карт и по настройкам в ini-файле определяет, что дальше делать с запросом - отправить его на сервер карт CARDSERV, если номер меньше 9999, или отправить его в FARCARDS, если номер больше 1000000000, либо FARCARDS.
  • В случае с картой Малина рестранслятор карт FARCARDS не обращается ни в какую базу, а всегда возвращает одни и те же значении для скидки и бонуса, указанные в malina.ini

Таким образом, в накопительной базе информация по номерам карт Малина будет храниться с учетом добавленного 1000000000 - при формировании выгрузки это факт необходимо учитывать. Если используются модифицированные формы FCHECK.FRM и/или FICHECK.FRM, то на чеке печатается реальный номер, точнее практически реальный -  без ведущих нулей.

ВложениеРазмер
Technical Card Specification.pdf154.93 КБ
Information exchange rules_rus.pdf493.67 КБ
FORMS.rar3.21 КБ

Интеграция RK6 с гостиничной системой "Opera" ("Fidelio")

Основная информация

Интерфейс состоит из приложения Rkhotel.exe, общим для осуществления взаимодействия с поддерживаемыми компанией UCS гостиничными системами и набора библиотек, написанных непосредственно для работы с выбранной гостиничной системой.

Состав ПО

Для гостиничной системы "Опера" (Фиделио) состав интерфейса следующий:

  • Rkhotel.exe - Интерфейс связи RK с гостиничной системой.
  • PMS_Ifc.dll - Интерфейсный модуль для связи с Фиделио.
  • StrTranscode.dll - Перекодировщик кодовой страницы (DOS>WIN).
  • PMS_IFC.INI  - Конфигурационный файл.
  • rkhotel.ini - Основной конфигурационный файл.
  • RNBL.dll - Универсальный модуль связи через Netbios.
  • Rtcp.dll - Универсальный модуль связи через TCP.

Rkhotel.exe в отличии от Hotelsrv.exe (устаревший сервер) может быть запущен и как приложение, и как служба. Параметры запуска из командной строки:

  • rkhotel.exe /desktop - Запускает rkhotel.exe как приложение.
  • rkhotel.exe /install - Регистрирует службу  Rkhotel.
  • rkhotel.exe /uninstall - Деинсталлирует службу Rkhotel.

Важно! При первой регистрации rkhotel c параметром (/install) зарегистрированную службу надо запустить.

Для этого зайдите [Мой компьютер > управление > службы и приложения > службы] и запустите Rkhotel. Или просто перезагрузите компьютер.

Настройка Rkhotel.ini

[MAIN]
HotelInterface=PMS_Ifc.dll

[RNBL]
Server = CH_7 - нетбиос имя интерфейса по которому его будут запрашивать кассы Rkeeper

[RTcp]
Port = 2099
Log=5          

Настройка Pms_Ifc.ini

Важно! На данный момент компания UCS поддерживает связку с Фиделио ТОЛЬКО по RS232 интерфейсу.  Версии Фиделио\Опера с Ethernet интерфейсом не поддерживаются.

[COM Settings]
COM Name=COM1:
Unit Name=MARAT`S HOTEL
Room Number Length=3

[Settings]
WriteLog=1
Use_Categories=0
Max Reservation Number=20300
Mask_Credit_Cards=1

[Valuta IDs]
Base Price=1 - базовая валюта 

- где, слева - код валюты (не Sifr) из Менеджерской RK6. Справа - код "Фиделио" (настраивать со специалистом с их стороны):

1111=1

20=3

9912=2

9914=5

9916=4

9918=6

Слева- категории Rkeeper. Справа- Группы налогов в фиделио (настраивать со специалистом с их стороны):

[Categories]
Блюда = A
Напитки = B
Алкоголь= B
Выпечка= С
Бильярд= D

Если ни одна группа не подходит, то попадает в Default_Tax_Group:

Default_Tax_Group = S

Настройка кассы RK6 (Dos-rkclient)

Важно! взаимодействие с гостиничным интерфейсом осуществляет клиент rkeeper, а не сервер.

Необходимо задать следующие настройки в Rkeeper6.ini кассы:

HotelInterface       = CH_7 - Netbios-имя гостиничного интерфейса
NeedRoomNumber       = ON
ChipOnHotel          = ON    
CanManualRoomInput   = ON
AllHotelTransactions = OFF
FCheckToHotel=ON
HotelCategsDetail=ON

Примечание: подробное описание параметров находиться в справочнике параметров для rkeeper6.ini - http://support.ucs.ru/ru/rkeeper6.ini.

 

Интеграция с сервисом заказа такси «МОСТАКСИ»

Документ в Cправочнике RK7 http://support.ucs.ru/ru/node/7386

Сбор и передача данных по оплаченным чекам в online-режиме

Статья в Справочнике RK7 http://support.ucs.ru/ru/node/7945

Интеграция RK6 со сторонней службой доставки

 

Основная информация

Примечание: В статье пойдет речь о связи RK6 с ПО "службы доставки" сторонних производителей. Т.е. каждый раз когда в статье упоминается "Служба доставки" имеется ввиду именно сторонее ПО, призведенное не нашей компанией.

  • Обмен информацией между БД системы доставки и R-Keeper осуществляется посредством реализации процедур импорта-экспорта определенного объема данных в CSV-файлы (разделитель «;») установленного формата (см. приложения 1 - 7).
  • Обмен файлами, предназначенными для экспорта-импорта данных осуществляется посредством размещения подготовленных файлов на специальном сетевом ресурсе (директории) на сервере в центральном офисе Компании, а также в сетевых ресурсах (директориях) серверов, установленных в подразделениях (ресторанах) Компании.
  • Указанные сетевые ресурсы должны быть доступны клиентам и серверам систем доставки и R-Keeper через ЛВС (центральный офис) и VPN каналы (подразделения (рестораны)), в том числе при подключении к указанным серверам в терминальном режиме (настройка подключения дисков).
  • Настройки функционала обмена данными системы доставки c R-Keeper: системные пути к общему и адресным сетевым ресурсам, время «сканирования» сетевых ресурсов на предмет наличия в них файлов обмена данными и прочее, - в части программной среды системы доставки выносятся в отдельный файл настроек (ini-файл).
  • Решение по способу хранения настроек функционала обмена данными системы доставки c R-Keeper в части программной среды R-Keeper определяется разработчиком ПО R-Keeper.

 

Лицензирование

Приложение защищено программным лицензионным ключем (привязывается к коду ресторана), который перед использованием необходимо запросить, оплатить и получить в отделе лицензирования Компании ЮСИЭС. 

Полученный код прописывается в конфигурационном файле приложения-интерфейса (см.ниже).

 

Операции обмена данными

Выгрузка меню из RK и загрузка в службу доставки

Клиент системы доставки по некоторой команде оператора передает запрос на выгрузку данных о меню программному интерфейсу обмена информацией R-Keeper. Запрос на выгрузку данных должен передаваться посредством инициализации командной строки Windows в рамках ЛВС центрального офиса Компании.

Формирование данных для экспорта справочника «Меню» осуществляется из БД HeadOffice R-Keeper. Через некоторый промежуток времени, клиент системы доставки ищет файл Menu.csv на центральном сетевом ресурсе обмена данными.

Далее производится экспорт данных из этого файла в БД программными средствами системы доставки. Формат файла приведен в "Приложении 1".

После обработки полученного файла данных система доставки осуществляет автоматическое удаление файла Menu.csv из сетевого ресурса обмена данными.

Процедура импорта справочника «Меню» из БД "HeadOffice" R-Keeper в БД системы доставки предусматривает функции добавления новых позиций и обновления существующих. Соответствие между позициями справочника «Меню» в БД системы доставки и БД HeadOffice R-Keeper, технически устанавливается по сравнению кодов блюд в БД систем.

Выгрузка заказа

Формирование Заказов на доставку осуществляется пользователями в системе доставки.

Экспорт Заказов из БД системы доставки осуществляется по событию перевода Заказа на статус «Получен».

Клиент системы доставки формирует файл Order_New<Номер_стола>.csv, где <Номер_стола> - некоторый 4-х разрядный уникальный целочисленный идентификатор заказа, генерируемый в БД системы доставки из определенного диапазона для БД R-Keeper (например, Order_New9032.csv и OrderParts_New9032.csv), в которых находятся, соответственно, значения полей заказа и строк заказа, суффикс New – признак первоначальной выгрузки заказа в БД R-Keeper.

  • Формат файла приведен "Приложении 2". Файл выгружается в директорию сетевого ресурса обмена данными, расположенную на сервере подразделения, в зависимости от результатов маршрутизации на конкретное подразделение (ресторан) принятого Заказа в БД системы доставки.

Программное приложение, реализующее интерфейс обмена данными между системой доставки и R-Keeper со стороны R-Keeper осуществляет автоматическое периодическое сканирование адресных сетевых ресурсов на предмет наличия в них файлов импорта Заказов. При обнаружении в каком-либо адресном сетевом ресурсе выгруженных файлов Заказов осуществляется процедура импорта данных в БД R-Keeper того подразделения, в адресном сетевом ресурсе которого находился выгруженный файл Заказа. После проведения процедуры импорта, обработанные файлы удаляются из адресной директории обмена средствами программного интерфейса обмена данными R-Keeper.

Примечание: Со стороны разработчиков системы доставки возможна реализация уведомления программного интерфейса механизмов обмена данными R-Keeper о событии выгрузки Заказа посредством инициализации командной строки Windows в рамках ЛВС подразделения (ресторана) Компании.

При импорте Заказа в БД R-Keeper открывается стол, при этом:

  • Номер стола должен соответствовать параметру <Номер_стола> указанному в наименовании и составе соответствующего файла импорта;
  • Дата и время открытия стола соответствуют дате и времени Заказа, указанным в БД системы доставки;
  • Количество гостей, должно соответствовать количеству гостей в БД системы доставки.

Заказ сохраняется в БД R-Keeper в виде открытого (неоплаченного) стола с одновременной автоматической отправкой печати чеков на принтеры с распределением по цехам производства средствами системы R-Keeper. (аналог функции в R-Keeper ”сохранить заказ”).

Через установленный промежуток времени, клиент системы доставки ищет файл State_New<Номер_стола>.csv в директории адресного сетевого ресурса обмена данными на сервере в подразделении (ресторане) Компании, где <Номер_стола> - некоторый 4-х разрядный уникальный целочисленный идентификатор заказа, ранее переданный в R-Keeper в наименовании и составе соответствующего файла экспорта Заказа Order_New<Номер_стола>.csv. В этом файле может быть указан один из трех вариантов ответа от R_Keeper:

  • 1 - заказ успешно выгружен в стол <номер_стола>;
  • 0 – указанный стол <Номер_стол> уже открыт, заказ не выгружен;
  • 2 - заказ не выгружен <текст ошибки>, где <текст ошибки> - текст ошибки, генерируемой сервером приложений R-Keeper, по причине которой не был выгружен Заказ.
  • Пример файла-ответа приведен в "Приложении 3".

Примечание: Результат импорта-экспорта Заказа в систему R-Keeper отмечается в специальном информационном поле бланка Заказа в системе доставки.

  • В случае отсутствия файла с уведомлением об импорте Заказа проставляется – Заказ не получен R-Keeper
  • В случае флага «0» - Заказ получен, но не импортирован в R-Keeper;
  • В случае флага «1» - Заказ получен и импортирован в R-Keeper;
  • В случае флага «2» - Заказ получен, но не импортирован в R-Keeper. Указанный стол открыт.

Технология дальнейшей обработки Заказа в БД системы доставки в зависимости от результата процедуры выгрузки в БД R-Keeper будет прорабатываться в отдельной постановке задачи.

В случае повторной выгрузки измененного Заказа из системы доставки в R-Keeper, т.е. экспорта-импорта ранее уже выгруженного Заказа, измененный Заказ выгружается из системы доставки только в части изменения кол-ва гостей и данных о добавленных новых позициях состава Заказа (в том числе увеличения кол-ва ранее выгруженных позиций), в формате Order_Edit<Номер_стола>.csv.

Примечание: В случае увеличения кол-ва ранее выгруженных позиций состава Заказа в файле экспорта изменений в колонке «Количество» передается значение разности между старым и новым значением количества заказанной позиции.

Удаление позиций из состава Заказа, а также уменьшение количества ранее выгруженных позиций не выгружается из системы доставки и не обрабатывается системой R-Keeper. При этом программный интерфейс обмена данными системы R-Keeper должен классифицировать и обработать данный Заказ, как уже ранее выгруженный, чтобы исключить дублирования заказов в БД R-Keeper. А именно:

  • произвести изменение кол-ва гостей для соответствующего открытого стола в БД R-Keeper;
  • добавить позиции (или увеличить кол-во ранее выгруженных позиций) из состава Заказа в соответствующий открытый стол в БД R-Keeper;

По результатам импорта изменений Заказа программный интерфейс обмена данными R-Keeper возвращает файл State_Edit<Номер_стола>.csv. В этом файле может быть указан один из трех вариантов ответа от R_Keeper:

  • 1 – изменения заказа успешно выгружены в стол <номер_стола>;
  • 0 – указанный стол <Номер_стол> закрыт, изменения заказа не выгружены;
  • 2 – изменения заказа не выгружены <текст ошибки>.

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

Закрытие Заказа в системе доставки и стола в R-Keeper осуществляется средствами стандартного функционала систем и не предусматривает необходимости обмена данными.

Реализовано приложением FO_Util.exe.

Обновление меню - Getmenu.exe​ (если используется). Установка, настройка

Приложение экспортирует список блюд из базы данных RBO в текстовый файл оговоренного в техническом задании фо