Настройка связи с другими системами компании

 

Настройка связи с StoreHouse 4

Внимание!

Об обмене данными между РК7 и SH4 читайте в статье http://support.ucs.ru/ru/node/5244

Импорт данных из SH4

Статья находится здесь: https://support.ucs.ru/ru/node/8813

Импорт себестоимостей из StoreHouse

Статья находится здесь: https://support.ucs.ru/ru/node/9146

Переключение на кассу Cinema (Универсальная касса)

 

Введение

Важно: переключения работает для версий РК7 7.5.1.ХХ и выше. 

В данной статье описано как настроить механизм обмена данными между кассовой станцией ПО R-Keeper v.7 и ПО Премьера. Переключение на кассу ПО Премьера происходит в форме редактирования заказа Быстрый чек при клике по верхней полоске (рис.1). Соответственно, на «Универсальной кассе» кассового модуля «Премьера» при нажатии на кнопку «R-Keeper» должен появиться интерфейс кассового модуля «R-Keeper7»(рис.2).

Рис.1 Интерфейс формы "Редактирование заказа(быстрый чек)" в ПО R-Keeper 7

Рис.2 Интерфейс кассы ПО Премьера

Порядок действий

  1. Выполнить импорт формы из xml файла.

Для версий младше RK7.5.3 используйте файл SwitcherFromRk7ToCinema.xml

Для версий старше RK7.5.3, в которых используется фирменный дизайн кассы, необходимо загружать форму из прикрепленного файла SwitcherFromRk7ToCinema_new.xml.

Для версий старше RK7.5.6 (совместимо с Премьерой 3.22R5 и выше), в которых используется новый дизайн кассы, необходимо загружать форму из прикрепленного файла NewDesignSwitcherFromRk7ToCinema1024x768__RK7.5.7.xml.

После того как загрузите файл согласно рисунку ниже, нажмите кнопку "Add items"(5). Добавится форма быстрого чека.

Рис.3 XML импорт формы

Форма будет создана в справочнике: "Настройки -> Графический интерфейс -> Формы -> Заказ -> Редактирование заказа(быстрый чек)".

  1. Создание новой схемы формы

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

 

Важно: настроить использование данной схемы формы приминительно к кассовой станции РК7.

  1. Создание скрипта для Контроля кассовых операций

В справочнике Сервис - Скрипты в разделе Контроль кассовых операций создаем новый скрипт со следующим содержанием:

procedure CheckOperation1000459(Operation, Parameter: integer; var ValidResult, CallNextTime: boolean);

var 

srv_request: string;

begin

  if operation=127 then

  begin

  HttpGet('http://127.0.0.1:8787/orderguid='+RkCheck.CurrentOrder.GUIDString+'&mode=5', srv_request);

  end;

end;   

Порт 8787 должен соответствовать порту в настройках кассы в редакторе Премьеры.

Рис.4

  1. Привязка скрипта к схеме форм

На вкладке «Ссылки на скрипты» созданной схемы форм в п.2 необходимо добавить ссылку на скрипт, который был создан в п 3.

Рис.5

  1. Настройка PDS интерфейса

На кассовый сервер добавить PDS interface, задать уникальное имя в параметре PDS Server Name.  Для параметра "Pass ALL Receipts XML data" выбрать значение "Yes, always (fail if impossible)".

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

В «Extdll.ini», который лежит вместе с одноименной «DLL», в папке с «FARCARDS» для передачи нотификаций из кассового модуля «R-Keeper7» в кассовый модуль «Премьера», необходимо вписать тот же IP адрес что и в пункте выше.

url = http://127.0.0.1:8787/guid=%checkguid%&mode=%checkmode%&orderguid=%orderguid%

Примечание: «FARCARDS» должен быть запущен на станции, где установлен кассовый сервер «R-keeper7» с тем же транслируемым именем, которое указан для параметра PDS Server Name.

  1. Настройка интерфейса "Cinema Switcher

Добавить на кассовую станцию интерфейс "Cinema Switcher" и заполнить параметр "Non-fiscal markup code" (равен коду наценки Билеты), или "Fiscal markup code" (обычно применяется для кинотеатров вне Россий).

Примечание: в настройки интерфейса Cinema switcher добавлен параметр Purchase dish code (код блюда выкупа для оформления возврата билетов). Применимо для версии RK 7.5.3.117.

Примечание: "Fiscal Markup Code" должен равняться "0".

Рис.6

  1. Создание XML интерфейса

На вкладку "Устройства" кассовой станции добавить драйвер «XML interface for windows» с уникальным портом, например 2231.

В редакторе «Премьера» в настройках станции модуля «Универсальная касса» вписать порт, присвоенный «XML interface for windows».

Рис.7

  1. Создание наценки

В справочнике Скидки и наценки добавить суммовую нераспределяемую наценку и указать ей код, который был присвоен параметру Non-fiscal markup code в интерфейсе «Cinema switcher».

Выставить у наценки флаги: 

  • Выставить налоговую группу.
  • Нефискальная операция
  • Искл.из доходов (появиться, когда выберите "нефискальная операция" )
  • Фискально снаружи
  • Изменяемое значение

Для наценки обязательно добавить нулевую детализацию на вкладке "Детализации".

Примечание: можно добавить вторую наценку, убрать у нее флаг "Нефискальная операция" и значение этой наценки внести в поле интерфейса "Fiscal markup code". Тогда эта составляющая заказа Премьеры будет пробиваться на фискальном регистраторе в виде фискальной наценки. Возможность используется для фискализации "дополнительных услуг" в кассе Премьеры, например 3D очки или какой-то сопутствующий билету товар.

  1. Создание нового назначения принтеров

В справочнике "Настройки - Печать - Назначения принтеров" создать новое назначение принтеров, с произвольным названием, например Для Премьеры. Для данного назначения в свойствах кассовой станции выбрать принтер Не печатать.

В схемах печати в свойствах представления документа «Чек», необходимо выбрать «Класс доп. принтера» созданное назначение принтера Для Премьеры.

В схемах печати в свойствах представления документа «Удаление чека» необходимо выбрать «Класс доп. принтера» созданное назначение принтера Для Премьеры.

  1. Создание блюд и новой классификации блюд

В справочнике "Меню - Классификации блюд" создать новую классификацию, с произвольным названием и в ней создать новую категорию, с именем - «Не печатать».

В созданную категорию, добавить специальное блюдо «Билет» (название произвольное), с настройками «Разрешить выкуп» и «Открытая цена». Обязательно нужно поставить цену "Билет" хотя бы 1 рубль. Цена "Билет" будет формироваться из модуля "Премьера"

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

Рис.8

Примечание: проверьте, что в настройках блюда «Билет» в разделе «Классификация» для созданной классификации «Для билетов» выбрана категория «Не печатать». Это нужно для того чтобы данное блюдо, не проходило через фискальный регистратор, в кассовом модуле «R-Keeper7».

Код блюда Билет вписываем в настройках редактора «Премьера»на вкладке «Универсальная касса», пункт «Код билета в R-Keeper».

Рис.9

Создать дополнительное блюд, например «Очки 3D*» (Допустимо произвольное название) и выставить уникальный код. Данный код вписываем в настройках редактора «Премьера» на вкладке «Универсальная касса» в пункте «Код доп. Цены в R-Keeper». Обязательно проставить цену (хотя бы 0) иначе будет ошибка при пробитии заказа.

Рис.10

Рис.11

Создать дополнительное блюдо «Товар Премьера» (Допустимо произвольное название) и выставить ему уникальный код. Данный код вписываем в настройках редактора «Премьера» на вкладке «Универсальная касса» в пункт «Код товара в R-Keeper».

Рис.12

Рис.13

  1. Выбор причины удаления по-умолчанию

В причинах удаления редактора «R-Keeper7» необходимо посмотреть либо изменить код  причине удаления, которая будет использоваться по умолчанию при удалении позиций на «Универсальной кассе» из кассового модуля «Премьера».

Код причины удаления вписываем в настройках редактора «Премьера» на вкладке «Универсальная касса» в пункте «Код причины удаления позиции из R-Keeper».

Рис.14

  1. Создание пользователя

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

Код пользователя и его пароль вписываем в настройках редактора «Премьера» на вкладке «Универсальная касса» в пункт «Код пользователя «Премьера» в R-Keeper» и пункт «Пароль пользователя «Премьера» в R-Keeper».

Рис.15

  1. Дополнительные настройки
  • Код валюты в R-Keeper должен совпадать с ID валюты в Премьере (можно посмотреть только через БД).
  • Если универсальная касса периодически подвисает при передаче нотификаций из RK7 в модуль "Премьера", то необходимо в Менеджерской "Премьеры" на вкладке "Внешние модули" в подменю "Станции" -> "Принтеры билетов" выбрать принтер и в поле "порт" нужно указать принтер печати билетов как сетевой, типа \\НашаКасса\Принтер.

Рис.16

Работа с бонусными баллами

Частичная оплата заказа в режиме универсальной кассы не допускается! В кассе RK7 этот функционал просто заблокирован.
Для оплаты билетов на кассе Премьеры полностью за бонусные баллы необходимо создать новую «как бы виртуальную» безнальную валюту в R-Keeper, где ID новой валюты будет равна ID бонусной валюты в Премьере. Далее проделать следующие шаги:
1.    В «Меню – Классификации блюд» добавить новую классификацию «Наценка Премьеры» и одну новую категорию (например, так же «Наценка Премьеры»).
2.    В новой безнальной валюте выставить:
  • Новую классификацию в соответствующем поле «Классификация».
  • Тип фискальности выставить «Суммарно с вычитанием». (выставляется только с дилерскими правами)
  • Автозаполнение «Вся сумма».
Функционал работает следующим образом – в кассе Премьеры производятся все необходимые манипуляции с бонусной картой при оплате бонусами, вплоть до добавления в заказ соответствующей валюты. При переключении на кассе R-keeper необходимо будет сразу закрывать заказ на новую виртуальную безнальную валюту. При попытке добавить в заказ какие-то дополнительные товарные позиции – касса будет выдавать ошибку, так как оплачивать реальные товары виртуальной валютой не верно.
Схема оплаты бонусными баллами заказов в R-Keeper никак не изменяется при данной настройке и может работать в штатном режиме.
 
Рис.17
 
Настройка UCS Премьеры для работы в режиме универсальной кассы описана в соответствующем разделе Справочника Премьеры
ВложениеРазмер
switcherfromrk7tocinema.rar16.57 КБ
switcherfromrk7tocinema_new.rar16.9 КБ
xml_screen.rar27.6 МБ
farcardscash1.rar2.32 МБ
skriptdlyakombooplat.txt112.55 КБ
instrukciyauniversalnaya_kassa.doc1.6 МБ
newdesignswitcherfromrk7tocinema1024x768_rk7.5.7.rar19.51 КБ

Настройка связи с ПДС

Введение

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

Настройка системы ПДС

Установка и настройка системы ПДС подробно описана в документе http://support.ucs.ru/ru/node/6673

Важно: Без выполнения требований из статьи http://support.ucs.ru/ru/node/6673 и запуска системы ПДС как самостоятельного ПО дальнейшее прочтение данной статьи не имеет смысла.

Настройка сервера карт (CARDSERV)

Важно: Версия сервера карт (CARDSERV) должна быть не ниже 5.08 (протокол версии 14) , если используется ретранслятор карт Farcards, он должен быть не ниже версии 3.02

Стандартная установка и настройка сервера карт описана в документе http://support.ucs.ru/ru/node/6673#header-4.

После стандартной установки и настройки сервера карт для связи с R-Keeper v7 (далее RK7) необходимо:

  •  из директории \bin\For cardserv дистрибутива соответствующей версии RK7 (архив zip из папки standalone на ФТП) скопировать в рабочую директорию сервера карт следующие файлы:
  • borlndmm.dll
  • dllman.dll
  • errors32.dll
  • Netkern.dll
  • pds_netk.dll
  • TCPSOC.dll
  • Thread32.dll
  • netk.ini - файл, расположен в директории \bin\For cardserv\ini\
  • cardserv.ini - подготовленный файл, расположенный в директории \bin\For cardserv\ini\. Данный файл адаптирован исключительно для связи Сервера карт с RK7. Если связи с RK6 не будет, то используйте этот файл.

Важно: если соответствующего архива из папки standalone\ с версией РК7 нет, но есть инсталлятор кассовой части (RK7_Cash_Setup_7.5.Х.exe), набор библиотек необходимо брать из директории, указанной при установке (1) и обязаьно нажать кнопку "Добавить" (2) после выбора пути, куда будут скопированы библиотеки.

 

Рис. Выбор пути для сохранения pds_netk.dll

  • отредактировать конфигурационный файл сервера карт CARDSERV.INI:
  • Добавить в секцию [LinkDLL] библиотеку связи pds_netk.dll для взаимодействия с RK7:
[LinkDLL]
...
3 = pds_netk
  • Добавить секцию [pds_netk] с параметрами библиотеки pds_netk.dll:
[pds_netk]
NetServerName=PDS_CARDSERVER_1    ;; сетевое имя сервера карт, то же имя должно быть вписано в свойствах PDS interface на кассовом сервере, подробности ниже 
ERRORLOG=pds_netk.stk             ;; имя лог-файла 
ININAME=netk.ini                  ;; имя отдельного конфигурационного файла с настройками протоколов и netkern, необязательный параметр
PROTOCOLS=netkprot\*.dll          ;; маска поиска библиотек протоколов netkern, используется если не задан параметр ININAME 
Timeout=120000                    ;; таймаут в миллисекундах, максимальное разрешённое время выполнения сервером запроса; до версии pds_netk 5 значение по умолчанию было 10000
                                  ;; начиная с версии 10 (7.10.0.32) значение параметра игнорируется, таймаут на сервере отсутствует; проверяется только таймаут, который настраивается 
                                  ;; в свойствах драйвера/интерфейса ПДС для кассового сервера 
DebugMessages=0                   ;; при значении 1 выводит в лог основную информацию по всем запросам
  • запустить сервер карт в режиме приложения (/desktop) и проверить статус загруженных библиотек связи на вкладке Protocols.

Примечание: помните, что для взаимодействия сервера карт и редактора карт необходим протокол RTCP. 

Рис. Загруженные библиотеки связи на примере сервера карт версии 7.22.02

Настройка редактора карт (PCards)

Стандартная установка и настройка редактора карт описана в документе http://support.ucs.ru/ru/node/6673#header-14.

Важно: Редактор карт (PCards.exe) и кассовый сервер RK7 (midserv.exe) используют конфигурационные файлы с одинаковым названием (RKEEPER.INI), поэтому их следует устанавливать в разные каталоги. Если необходимо установить приложения в один каталог, для кассового сервере следует использовать отличительный конфигурационный файл и при запуске кассового сервера принудительно указать  имя этого файла в командной строке.

После стандартной установки и настройки редактора карт для связи с RK7 необходимо:

  • из директории \bin\For cardserv дистрибутива соответствующей версии RK7 скопировать в рабочую директорию редактора карт следующие файлы:
  • borlndmm.dll
  • dllman.dll
  • errors32.dll
  • Netkern.dll
  • thread32.dll
  • Pcget.dll
  • TCPSOC.dll
  • Thread32.dll
  • netk.ini - необязательный файл, расположен в директории \bin\For cardserv\ini\
  • rkeeper.ini - подготовленный файл, расположенный в директории \bin\For cardserv\ini\. Данный файл адаптирован исключительно для связи Редактора карт с RK7. Если связи с RK6 не будет, то используйте этот файл.

Pcget.dll – интерфейсная библиотека для Pcards.exe, используется для авторизации пользователей и получения данных по скидкам и бонусам из системы R-Keeper 7. Для получения информации по скидкам и бонусам в секции [PCGET] необходимо прописать сетевое имя сервера справочников.

  • отредактировать конфигурационный файл редактора карт RKEEPER.INI:
  • добавить секцию [PCGET] с параметрами библиотеки Pcget.dll:
[PCGET]
Server = RK7_REF_SRV – имя сервера справочников RK7
Client = PCARDS_CLIENT1  – уникальное имя клиента
ShowMarkups = 0 – загружать(1) или нет(0) наценки в список скидок
LastLoginName=  – имя последнего пользователя, вошедшего в редактор карт, заполняется автоматически
  • добавить секцию [NETKERN] для сетевых параметров - более детальная информация  в документе http://support.ucs.ru/ru/node/5235
[NETKERN]
PROTOCOLS= tcpsoc.dll
  • добавить секцию [TCPDNS] с параметрами, детализирующими расположение сервера справочников системы RK7:
[TCPDNS]
RK7_REF_SRV = AAA.BBB.CCC.DDD:1234 - где AAA.BBB.CCC.DDD - IP адрес машины, на которой работает сервер справочников, и 1234 - порт сервера справочников
  • запустить редактор карт. Если база новая, то используйте следующие данные для входа: пользователь = ucs, пароль = ucs

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

Рис. Редактирование прав группы пользователей

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

Настройка R-Keeper v7

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

Для настройки менеджерской станции RK7 необходимо:

  • запустить менеджерскую станцию, открыть меню "Настройки" ⇒ "Параметры" и перейти в раздел [Установочные] - [Связь с другими системами] - [Персональные карточки] - [ПДС Сервер]

  • в свойствах параметра "ПДС сервер" в разделе "Основное" прописать имя сервера карт, значение которого должно соответствовать значению параметра NetServerName из конфигурационного файл сервера карт CARDSERV.INI (необязательно)

Рис. Настройка параметра "ПДС Сервер"

Примечание: Настройка параметра "ПДС сервер" не актуальна при использовании нескольких ПДС-интерфейсов на одном кассовом сервере. Приоритет данного имени сервера ниже имени, прописанного в свойствах интерфейса на кассовом сервере (рис.ниже)

  • в меню менеджерской "Сервис"  "Станции и Устройства" выбрать необходимые кассовый сервер и на закладке "Устройства" добавить интерфейс "PDS Interface"

  • в свойствах интерфейса прописать имя сервера карт - параметр PDS Server Name, значение которого должно соответствовать значению параметра NetServerName из конфигурационного файл сервера карт CARDSERV.INI

Рис. Параметры интерфейса "PDS Interface"

  • при необходимости, заполнить или настроить остальные параметры интерфейса:
  • Currency Rate Class Code = 1 – код класса ставок валюты ПДС (1 – класс национальной валюты)
  • Tax Code = 1 – код налога
  • Call Timeout = 120 – таймаут обращения к серверу ПДС в секундах
  • Maximal Discount Value=0 = Discount limit spent totally – интерпретация нулевого значения лимита скидки, возвращаемого сервером карт: Discount limit spent totally – лимит скидки полностью исчерпан (значение по-умолчанию), No limits – игнорировать лимит скидки
  • Defaulter Type Code as = Defaulter type code – интерпретация кода неплательщика: Defaulter type code – использовать как код типа неплательщика (значение по-умолчанию), Currency subaccount base – добавка к номеру субсчёта, т.е. для разных карт будут добавляться разные числа (коды) к номеру субсчета
  • в меню менеджерской "Сервис"  "Интерфейсы" выбрать логический интерфейс "Персональная дисконтная система(ПДС)" и проверить установленные соответствия для кассовых серверов и ПДС-интерфейсов затем перезагрузить кассовый сервер

Рис. Свойства логического интерфейса "Персональная дисконтная система(ПДС)"

  • в меню менеджерской "Сервис"  "Обработка сигналов устройств"  "MCR алгоритмы" настроить MCR-алгоритм

MCR алгоритм ПДС должен иметь область «Интерфейс», объект – предустановленный логический интерфейс "Персональная дисконтная система (ПДС)"

Параметр MCR алгоритма – строка, содержащая код карты в десятичном виде, если считывающее устройство передаёт код в шестнадцатеричном виде, его надо преобразовать в десятичный с помощью функций inttostr и strtoint. Например: Parameter:=inttostr(strtoint(‘$’+Parameter)).

Рис. Параметры MCR-алгоритма для использования с ПДС-интерфейсом

Допускается использование карт сотрудников в качестве карт ПДС - в этом случае должно быть два MCR алгоритма: один с областью "Интерфейс", другой с областью "Работник". В редакторе заказа MCR алгоритм «работник» будет игнорироваться, если не входить в форму «временная регистрация».

Подробнее про MCR алгоритмы см. документ Настройка MCR алгоритмов http://support.ucs.ru/ru/node/8055

 

Оплата и пополнение карт ПДС на кассе РК7

Для возможности оплаты и пополнения карт ПДС на кассе RK7 необходимо:

  • запустить менеджерскую станцию, открыть меню "Настройки" ⇒ "Параметры" и перейти в раздел [Параметры работы станции] - [Редактирование заказа] - [Расчёт/Оплата заказа]
  • выбрать параметр "Оплата платежной картой" и выбрать для свойства "Значение" вариант "Спрашивать":

Рис. Свойства параметра "Оплата платежной картой"

 

  • в меню менеджерской "Деньги" ⇒ "Валюты" выбрать валюту для ПДС и в свойстве "Интерфейс" указать логический интерфейс ПДС, также установить свойство "Код транзакции" в значение 0.

Примечание: секция "Интерфейс" доступна только для дилеров

Рис. Свойства валюты для ПДС

Важно: Параметр "Интерфейс необходим" в версиях 7.5.3.260 и выше исключен.

  • в меню менеджерской "Деньги" ⇒ "Скидки и Наценки" создать суммовую наценку , которая будет использоваться при пополнении карты, установить свойство "Код транзакции" в значение 0

Примечание: секция "Интерфейс" доступна только для дилеров

Рис. Свойства наценки для пополнения карт ПДС

  • в меню менеджерской "Деньги" ⇒ "Причины внесения/выдачи денег" создать причину и заполнить следующие свойства:
    • Пополнение баланса - Фискальное
    • Внесение денег - Да
    • Наценка - выбрать наценку, созданную на предыдущем этапе

Рис. Свойства причины внесения/выдачи денег для пополнения карт ПДС

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

Рис. Свойства схемы печати "Пополнение баланса"

  • для печати макетов "Пополнение баланса" и "Изъятие денег с карты ПДС", необходимо сделать копии макетов "Пополнение баланса" и "Изъятие денег с карты ПДС", затем в свойствах выставить флаг "ТРЕНИРОВКА":

Рис. Свойства макетов "Пополнение баланса" и "Изъятие денег с карты ПДС"

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

Рис. Пример окна на кассовой станции RK7 после считывания карты ПДС

Примечание: если в редакторе карт у клиента есть фотография, а на кассе она не отображается, то необходимо в менеджерской станции РК7 включить параметр [Все] - [Установочные] - [Связь с другими системами] - [Персональные карточки] - [ПДС Показывать картинку].

 

Отладка взаимодействия кассового сервера RK7 по PDS-протоколу

В некоторых случаях может потребоваться отладка (расширенное логирование) взаимодействия кассового сервера RK7 (MIDSERV) по PDS-протоколу (Farcards, Cardserv).

 

Исходные условия для использования отладки:

  • версия pds_netk.dll должна быть не ниже 7.0.29.0 (актуальную версию библиотеки можно взять из любого текущего бинарного дистрибутива RK7 в каталоге  \bin\For cardserv)
  • при обновлении pds_netk.dll рекомендуется также обновлять набор сопутствующих библиотек (errors32.dll, Netkern.dll и т.д. - полный список см. выше)
  • библиотеки необходимо обновлять во всех рабочих каталогах, где они используются (RK7, Cardserv, Farcards и т.д.)

 

Для включения отладки необходимо:

  • в конфигурационном файле FARCARDS.INI и/или CARDSERV.INI в секции [pds_netk] добавить параметр DebugMessages=1:
[pds_netk]
...
DebugMessages=1
...

 

  • в конфигурационном файле кассового сервера RKEEPER.INI в секции [Config] добавить параметр DebugMessages=34:
[Config]
...
DebugMessages=34
...

 

  • перезапустить все приложения (кассовый сервер, Farcards, Cardserv и т.д.)

 

Расширенное логирование будет фиксироваться в файле pds_netk.stk. 

При необходимости передать результат отладки (например, в службу поддержки) в дополнении к файлу pds_netk.stk также потребуются логи кассовой станции (cash.stk), кассового сервера (midsrv.stk), Farcards (Farcards.LOG) и/или Cardserv (Cardserv.log)

 

Настройка бонусов в связке c ПДС

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

При работе RK7 с ПДС (PERSCARD) может быть настроено начисление и использование бонусов. 

Подробнее о бонусах см. в пользовательской документации RK7 - ftp://ftp.ucs.ru/books/r-keeper_v7_user_manual.pdf.

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

  1. В справочнике «Параметры» включить параметр «Бонусы».

  2. В справочнике «Меню», в свойствах блюда, указать сумму/процент бонуса. Сумма/процент бонуса указывается в поле Бонус для действующего типа цены. При расчете бонуса от суммы всего заказа в свойствах блюда нужно прописывать процент бонуса равный 100% и регулировать процент бонуса в свойствах детализации (рис.4).

Рис.1 - Настройка процента бонуса для блюда в справочнике "Меню".

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

Рис.2 - Настройки в справочнике "Типы цен".

  1. В справочнике «Типы бонусов» создать типы бонусов.

Рис.3 - Настройки в справочнике "Типы бонуса".

  1. В справочнике «Скидки и наценки» создать скидку. В детализации скидки указать тип бонуса и процент бонуса.

Рис.4 - Скидки и наценки.

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

Если в детализации не указывать категорию и только нужным блюдам установить 100% бонуса, а у остальных установить 0% бонуса, то скидка сработает на все блюда меню, а бонус рассчитается только на блюда со 100% бонусом.

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

Рис.5 - Настройки в справочнике валют.

Примечание: при отсутствии информации о потратах на стороне ПДС необходимо проверить, что для валюты, на которую закрывается заказ, снят чекбокс "Не учитывать в потратах ПДС".

Примечание: на сервере карт может быть использован параметр BONUS=DISCOUNT, его описание см.здесь - http://support.ucs.ru/ru/node/6673#header-12.

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

Для привязки клиента к заказу, необходимо на вкладке "Скидка" выбрать скидку, созданную на 4 этапе предыдущего пункта (рис.6), а на вкладке "Параметры" выбрать тип бонуса, созданный на 3 этапе в пункте выше (рис.7).

Рис.6 - Выбор скидки для бонуса

Рис.7 - Настройки в счете клиента.

Настройка импорта данных от ПДС и CRM сервером функции отчетов

Введение

Получение данных доступно с версии плагина 1.17.1 и выше.

Примечание: Если описанные ниже настройки отсутсвуют, данные по владельцам берутся из таблицы PAYMENTSEXTRA. Если настройка есть и данные загружены - из агрегата по PDS/CRM (таблицы STAT_RK7_SHIFTS_PDSCARDS, STAT_RK7_SHIFTS_PDSFOLDERS). Кроме этого, если в меню "Расширения" - "Базы данных" настроена связь с БД CRM -  отчет будет пытаться соединиться с БД CRM напрямую и получить ФИО владельцев оттуда.

1 Получение данных от ПДС-сервера

Загрузка данных происходит при пересчете агрегатов либо после пересчета соответствующего куба (куб по платежным картам). Актуальность данных карт проверяется через заданный интервал времени. Настройка интервала производится в IRReportsFSPrj.ini в секции FS_AGREGATE, параметр Time_between_update_PDS. Время указывается в часах. Если срок актуальности данных истек и есть не пересчитанные смены, то FS пытается соединится с сервером ПДС и получить данные.

Для корректной работы необходимо:

1. Иметь доступ к серверу ПДС.

2. Настроить в r-keeper в разделе "Интерфейсы" соответствующий интерфейс (если он не был настроен ранее) (см. рис. 1).

Рис. 1 – Настройка интерфейса ПДС

3. Скопировать с FTP библиотеки CscLink.dll, Rtcp.dll, RNETBIOS.dll, RNBOPEN.dll в папку FS(для ИА-отчетов) и в папку с исполняемым файлом сервера справочников ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/CSCLINK/cscl127.7z

4. Для ИА-отчетов в IRReportsFSPrj.ini  в секции [FS_AGREGATE] указать Time_between_update_PDS=1.

6. Настроить подключение к серверу в CscLink.ini. 

Шаблон файла CscLink.ini:

[Settings]
CSLinkDLL=RTcp
CSLinkGate=1

[Rtcp]
Client1=RK7CUBERTCP
Server1=127.0.0.1
Port1=3456

Где:

CSLinkDLL - имя dll для подключения к CardServ

CSLinkGate - номер входа

Client1 - имя клиента  

Server1 - IP-адрес машины с CardServ

Port1 - порт CardServ

2 Получение данных от CRM-сервера

Загрузка данных происходит при пересчете агрегатов. Актуальность данных карт проверяется через заданный интервал времени. Настройка интервала производится в IRReportsFSPrj.ini в секции FS_AGREGATE, параметр Time_between_update_PDS. Время указывается в часах. Если срок актуальности данных истек и есть не пересчитанные смены, то FS пытается соединится с сервером CRM и получить данные.

Для корректной работы необходимо:

1. Иметь доступ к серверу CRM.

2. Настроить в r-keeper в разделе "Интерфейсы" соответствующий интерфейс (если он не был настроен ранее) (см. рис. 2).

Рис. 2 - Настройка интерфейса CRM

ini - файл - имя ini файла/библиотеки. Если необходимо настроить несколько подключений к CRM, файлы необходимо называть CscLink.dll,CscLink.ini,CscLink2.dll,CscLink2.ini,CscLink3.dll,CscLink3.ini и т.д.
Пользователь - пользователь SQL сервера с БД CRM.
Пароль - Пароль SQL сервера с БД CRM.

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

3. Скопировать с FTP библиотеки CscLink.dll, CscLink.ini в папку FS. Dll располагается на FTP /installers/IR REPORTS VER/1_17/1_17_8/FS/CRMLink/.

4. В CscLink.ini-файле необходимо указать строку подключения к  БД CRM:
 
[CRM_CONNECTION]
CommandTimeOut=300
connection_string = Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog=CRM_TEST;Data Source=127.0.0.1,1433
 
CommandTimeOut- время ожидания выполнения запроса;
connection_string - строка подключения к БД CRM.
 

Примечание: Библиотеки для ПДС и CRM разные, т.е. если используется сразу и CRM и ПДС или несколько CRM, то необходимо переименовать библиотеки и ini файлы в CscLink2.dll,CscLink2.ini и т.д.

Примечание: Периодичность проверки новых данных CRM/ПДС, указывается в часах. Если настройка не задана, то по умолчанию 3 часа. Проверка новых данных производится только если есть не пересчитанные смены.

Особенности загрузки данных

1) Загрузка данных из PDS происходит только в момент пересчета агрегатов для новой смены либо во время пересчета соответствующего куба (куб по платежным картам);

2) Частота загрузки регулируется параметром Time_between_update_PDS в секции [FS_AGREGATE], значение задается в часах;

3) Результатом загрузки должны быть заполненные таблицы STAT_RK7_SHIFTS_PDSCARDS и STAT_RK7_SHIFTS_PDSFOLDERS в базе RK7.

Т.е., для загрузки из PDS нужно дождаться, чтоб прошел указанный в Time_between_update_PDS период , закрыть смену, и подождать еще не менее, чем указано в параметре Time_between_checking (в минутах), пока фича-сервер найдет новую смену и пересчитает агрегаты. Свидетельством успешной загрузки буду надписи в логе [PDS] Load 999 cards или что-то подобное.

Настройка связи с сервером карт

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

Для этого необходимо:

  1. Настроить блок параметров для 'csclink.ini' для ПДС интерфейса в справочнике логических интерфейсов в менеджерской станции, а именно:
    • Прописать имя ини файла - CscLink.ini;
    • Прописать логин - логин к серверу карт. Пользователь должен иметь право на просмотр списка карточек.
    • Прописать пароль - пароль пользователя из системы ПДС;
  2. Скачать сборку CSCLINK с ФТП сервера (ftp://ftp.ucs.ru/r-keeper/versions/PERSCARD/CSCLINK/cscl127.7z) и распаковать содержимое архива в папку сервера справочников/отчетов.
  3. Отредактировать CscLink.ini и скопировать в папку сервера справочников/отчетов (файл CscLink.ini возможно придется создать в ручную);

Примечание: Если имя ini-файла отличается от csclink.ini, то соответствующим образом переименовать csclink.dll

  1. Если в ini-файле связь с CardServ настраивается через RTCP, то данная dll (Rtcp.dll) должна лежать в папке с CscLink.ini;
  2. Для корректной работы CScLink.dll в менеджерской станции необходимо донастроить валюту (создать, если не было в группе платежные карты) и связать с интерфейсом из п.1. 
  3. Перезагрузить сервер справочников/отчетов.
  4. Произвести оплату валютой, созданной в п.6.
  5. Пересчитать куб "Платежные карты".

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

Шаблон файла CscLink.ini:

[Settings]
CSLinkDLL=RTcp
CSLinkGate=1

[Rtcp]
Client1=RK7CUBERTCP
Server1=127.0.0.1
Port1=3456

Обратите внимание, что INI-файл не поддерживает комментарии и никаких дополнительных записей в нём быть не дожно.

Описание настроек:

  • CSLinkDLL — имя DLL-файла для подключения к CardServ
  • CSLinkGate — номер входа
  • Client1 — имя клиента
  • Server1 — порт CardServ
  • Port1 — IP-адрес компьютера с CardServ

Настройка связи с внешней доставкой через ExternalDeliveryInterface (EDI))

Введение

Модуль ExternalDeliveryInterface (далее EDI) предназначен для обмена информацией между внешней (сторонней) системой  доставки и кассовой системой R-Keeper 7.

Взаимодействие между системами осуществляется посредством обмена файлами в формате CSV. Файлы посредством размещения подготовленных файлов на специальном сетевом ресурсе (директории) на сервере в центральном офисе Компании, а также в сетевых ресурсах (директориях) серверов, установленных в подразделениях (ресторанах) Компании. Указанные сетевые ресурсы должны быть доступны клиентам и серверам систем доставки и R-Keeper 7 через ЛВС (центральный офис) и VPN каналы (подразделения (рестораны)), в том числе при подключении к указанным серверам в терминальном режиме (настройка подключения дисков).

Дистрибутив

Модуль состоит из трех файлов:

  • ExternalDeliveryInterface.exe
  • Settings.ini
  • RK7XML.dll

Дистрибутив модуля доступен на FTP ftp://ftp.ucs.ru/rk7/other/ExternalDeliveryInterface

Настройка

1. В менеджерской РК7 на нужный кассовый сервер добавить драйвер - XML interface for Windows. В его свойствах необходимо прописать порт, например 14441. Привязать данный XML-interface к логическому интерфейсу в справочнике Сервис-XML интерфейсы. Перезагрузить кассовый сервер.

2. Создать стол(-ы) (или использовать имеющийся), на который будут вешаться заказы, приходящие из внешней доставки. Запомнить код стола.

3. Создать директорию, в которой будет происходит обмен файлами, напрмер d:\UCS\EDI\Exchange\

4. Отредактировать файл Settings.ini

[Main]
Frequency=15 ;Частота сканирования рабочего каталога, в секундах
WorkPath=C:\UCS\Aventa\v.1.0.0.41\ ;Рабочий каталог, согласно п.3.4.
LogLevel=2 ; уровень логирования (максимальный = 4)

[RK]
Server=127.0.0.1 ; IP-адрес кассового сервера r_keeper_7
Port=14441 ; Порт для XML-интерфейса
PriceIdent=3 ; идентификатор типа цены в РК7 (справочник Меню -> Типы цен)
StationIdent=15015 ; идентификатор станции
GuestType=1  ; идентификатор типа гостей, необязательный параметр
UseXML=1
UsePrice=0
PayIdent=1043924 ; идентификатор валюты для предоплаты заказа
PrepayReasonIdent=1043926 ; идентификатор причины внесения денег для предоплаты
PayInterfaceIdent=1 ; идентификатор логического интерфейса для связи с системой лояльности (ПДС или СРМ). Необходим для привязки карты к заказу
StationIdent=1 ; идентификатор кассовой станции станции
OneTableMode = 1; включение (1) или отключение (0) режима создания заказов на одном столе (создание столов с "точкой"), с версии 1.0.0.47
                ; при отключении (0) интерфейс будет создавать только один заказ в случае разных заказов с одинаковым номером стола 
OneTableIdent = 12345; идентификатор стола для создания заказов в режиме OneTableMode = 1, с версии 1.0.0.47



[License]
Server=l.ucs.ru ; IP адрес сервера лицензий, не менять
Port=60606 ; Порт для сервера лицензий, не менять

; Необязательные параметры

[Main]
DebugMode=1 ; режим отладки

; Включение веб-интерфейса со статистикой
[Main]
RefServerPort=7251 ; порт сервера

Использование:

http://127.0.0.1:7251/stat - покажет статистику за текущий сеанс
http://127.0.0.1:7251/stat?days=3 - покажет статистику за последние 3 дня

5. Запустить файл ExternalDeliveryInterface.exe.

Важно: Запуск производить от имени администратора!

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

  • в разделе "Запрос Лицензии" нажать кнопку "Сгенерировать запрос" и скопировать код запроса лицензии (см.рис.1).
  • на сервер лицензий сайте l.ucs.ru создать запрос на новое ПО для своего объекта, выбрав для лицензирования модуль "R-Keeper модуль Интерфейс к системе доставки ПО"  (см.рис. 2). 
  • после подтверждения заявки сгенерировать лицензию

Примечание: Код лицензии не выдается - на сервере лицензирования хранится уникальный ключ экземпляра EDI.

Работа программы будет осуществляться при наличии связи с сервером лицензирования ЮСИЭС, т.е. наличие интернета обязательно на момент проверки лицензии! Время очередной проверки лицензии указанно в пункте "Следующая проверка". Если в ресторане нет связи (например возникли проблемы с интернетом) - достаточно подключить любой временный канал связи (USB модем) и нажать кнопку "обновить лицензию". 

Рис.1 Лицензирование

 

Рис.  Оформление заявка на лицензирование EDI в l.ucs.ru

В качестве теста можно подготовить файл, согласно шаблону (см.Приложение 1) и подкинуть его в папку из п.3 раздела Настройка. Этим процессом в дальнейшем будет заниматься внешняя программа Доставки.

В зависимости от таймаута в папке (п.3 раздела Настройки) увидем файл-ответ. (см Приложение 2).

Функциональные операции, предусматривающие обмен данными

Выгрузка меню

Выгрузка происходит автоматически в файл, посредством наведения мышкой на приложение ExternalDeliveryInterface.exe в трее и нажатии на кнопку "Сохранить меню". Далее выберите папку для сохранения и впишите имя файла, например menu.csv. Сохранение возможно только при наличии лицензии.

Если необходимо выгружать справочники для внешней программы доставки без остановки службы EDI, то необходимо сделать следующее:
 
Важно: поддержано начиная с версий 1.0.0.63.
  1. Заполнить 3 параметра в Settings.ini:
  • RefsDefaultPath=D:\UCS\EDI\Refs\                                                               ;; Полный путь к существующей папке для сохранения справочников

  • RefServerPort=7251                                                                                          ;; Свободный порт для http server (прописать в свойствах сервера)

  • RefServerAP={A11858BB-8C51-475A-A000-3E82AA1A56C8}            ;; точка входа в функционал (любое значение), например Уникальный GUID

  1. Открыть в браузере страницу: 127.0.0.1:7251/{A11858BB-8C51-475A-A000-3E82AA1A56C8};

  2. Увидеть сообщение об успешном сохранении справочников или ошибку.

Загрузка нового заказа

Формирование Заказов на доставку осуществляется пользователями в системе сторонней доставки.
 
Сторонний клиент системы доставки должен сформировать файл Order_New<Код_стола>.csv, где <Код_стола> - некоторый 4-х разрядный уникальный целочисленный идентификатор заказа, генерируемый во внешней доставке (например, Order_New9032.csv и OrderParts_New9032.csv), в которых находятся, соответственно, значения полей заказа и строк заказа. Суффикс New – признак первоначальной выгрузки заказа в R-Keeper 7. Формат файла приведен Приложении 1.
 
Файл выгружается в директорию, указанную в п.3.3. Программное приложение (ExternalDeliveryInterface.exe), реализующее интерфейс обмена данными между внешней системой доставки и R-Keeper 7 осуществляет автоматическое периодическое сканирование ресурса (папки, созданной в п.3.3) на предмет наличия в них файлов импорта Заказов. При обнаружении в папке выгруженных файлов Заказов, осуществляется процедура импорта данных в R-Keeper 7. После проведения процедуры импорта, обработанные файлы удаляются из адресной директории и создается файл-ответ.
 
При импорте Заказа в R-Keeper 7 открывается стол, при этом: 
  • код стола должен соответствовать параметру <Код_стола> указанному в наименовании и составе соответствующего файла импорта;
  • Дата и время открытия стола соответствуют дате и времени Заказа, указанным в БД системы доставки;
  • количество гостей, должно соответствовать количеству гостей в R-Keeper 7 и БД системы доставки;
  • шифр официанта - код работника из R-Keeper 7;
  • тип магнитной карты - тип магнитной карты в свойствах скидки из R-keeper 7, которую необходимо применить к заказу.
Заказ сохраняется в R-Keeper 7 в виде открытого (неоплаченного) стола с одновременной автоматической отправкой печати чеков на принтеры с распределением по цехам производства (сервис-печать) средствами системы R-Keeper 7 (аналог функции в R-Keeper ”сохранить заказ”).

Предупреждение: в справочнике R-Keeper 7 должно заведено столько столов с кодами, сколько столов используется во внешней доставке, т.к. если в файле указать номер несуществующего стола, то импорт не произойдет. Соответсвенно количество гостей в файле не должно превышать количество гостей в свойствах стола в менеджерской РК7. На открытый стол повторно повесить другой заказ тоже нельзя.

Одному новому заказу соответствует один файл .csv с определенным номером стола.
 
Через установленный промежуток времени, клиент системы доставки ищет файл State_New<Код_стола>.csv в директории адресного сетевого ресурса обмена данными на сервере в подразделении (ресторане) Компании, где <Код_стола> - некоторый 4-х разрядный уникальный целочисленный идентификатор заказа, ранее переданный в R-Keeper в наименовании и составе соответствующего файла экспорта Заказа Order_New<Код_стола>.csv. В этом файле может быть указан один из трех вариантов ответа от R_Keeper 7: 
1 - заказ успешно выгружен в стол <номер_стола>; 
0 – указанный стол <Номер_стол> уже открыт, заказ не выгружен; 
2 - заказ не выгружен <текст ошибки>, 
где <текст ошибки> - текст ошибки, генерируемой сервером приложений R-Keeper, по причине которой не был выгружен Заказ. 
Пример файла-ответа приведен в Приложении 2.
 
Примечание: Результат импорта-экспорта заказа в систему R-Keeper отмечается в специальном информационном поле бланка Заказа в системе системы доставки.
 
В случае отсутствия файла с уведомлением об импорте Заказа проставляется – Заказ не получен R-Keeper
В случае флага «0» - Заказ получен, но не импортирован в R-Keeper;
В случае флага «1» - Заказ получен и импортирован в R-Keeper;
В случае флага «2» - Заказ получен, но не импортирован в R-Keeper. Указанный стол открыт.
 

Загрузка изменений в заказ

Технология дальнейшей обработки Заказа в БД системы доставки в зависимости от результата процедуры выгрузки в БД R-Keeper 7 будет прорабатываться в отдельной постановке задачи. 
В случае повторной выгрузки измененного Заказа из системы доставки в R-Keeper 7, т.е. экспорта-импорта ранее уже выгруженного Заказа, измененный Заказ выгружается из системы доставки только в части изменения кол-ва гостей и данных о добавленных новых позициях состава Заказа (в том числе увеличения кол-ва ранее выгруженных позиций), в формате Order_Edit<Код_стола>.csv
 
Примечание: В случае увеличения кол-ва ранее выгруженных позиций состава Заказа в файле экспорта изменений в колонке «Количество» передается значение разности между старым и новым значением количества заказанной позиции.
 
Удаление позиций из состава Заказа, а также уменьшение количества ранее выгруженных позиций не выгружается из системы доставки и не обрабатывается системой R-Keeper 7. При этом программный интерфейс обмена данными системы R-Keeper 7 должен классифицировать и обработать данный Заказ, как уже ранее выгруженный, чтобы исключить дублирования заказов в БД R-Keeper 7, а именно: 
- произвести изменение кол-ва гостей для соответствующего открытого стола в БД R-Keeper 7;
- добавить позиции (или увеличить кол-во ранее выгруженных позиций) из состава Заказа в соответствующий открытый стол в БД R-Keeper.
 
По результатам импорта изменений Заказа программный интерфейс обмена данными R-Keeper 7 возвращает файл State_Edit<Код_стола>.csv. В этом файле может быть указан один из трех вариантов ответа от R_Keeper: 
1 – изменения заказа успешно выгружены в стол <номер_стола>; 
0 – указанный стол <Номер_стол> закрыт, изменения заказа не выгружены; 
2 – изменения заказа не выгружены <текст ошибки>.
 
Форматы файлов экспорта-импорта изменений Заказов, а также ответных результатов выгрузки этих изменений приведены в Приложениях 3 и 4. Правила маршрутизации и размещения файлов экспорта-импорта изменений аналогичны правилам первоначальной выгрузки Заказов, описанным выше.
 
Закрытие Заказа в системе доставки и стола в R-Keeper 7 осуществляется средствами стандартного функционала систем и не предусматривает необходимости обмена данными.

Привязка карты к заказу

Важно: доработка реализована с версии 1.0.0.40

Для указания карты добавляем к формату строки (CSV) 6-м параметром номер карты. Касса в таком случае будет вести себя так как же, как если бы мы прокатали карту на кассе физически.

В Settings.ini заполнить следующие параметры:
[RK]
;идентификатор логического интерфейса (справочник Сервис - Интерфейсы в менеджерской станции), используемого для связи с системой лояльности (ПДС или R-Keeper CRM).
PayInterfaceIdent=1
;идентификатор кассовой станции, на которой происходит обработка заказов из EDI
StationIdent=1

Форматы файлов обмена

Приложение 1 - Файл нового заказа

Формат файла импорта-экспорта нового Заказа. (WIN-кодировка).
 
1-я строка  \\  НОМЕР СТОЛА;ДАТА;КОЛ-ВО ГОСТЕЙ;КОД ОФИЦИАНТА;ТИП МАГНИТНОЙ КАРТЫ(=тип магнитной карты в свойствах скидки);КАРТА ЛОЯЛЬНОСТИ; НОМЕР БРОНИ; БАЛЛЫ; ВРЕМЯ ПОДАЧИ; ВРЕМЯ ПЕЧАТИ; КОММЕНТАРИЙ
 
2..N строки \\  ВНЕШНИЙ КОД ПРОДУКТА;ЦЕНА;КОЛИЧЕСТВО;ТИП ПРОДУКТА(БЛЮДО или МОДИФИКАТОР , Для Блюда=0, для модификатора=1)
 
Пример файла:
 
9032;06.03.2008 10:38:08;2;465;44
45;10,5;7;0
46;25,1;4;0
Файл примера приведен в Order_New9032.csv
 
Начиная с версии 1.0.0.41 в первом поле в скобках после номера стола будет добавляться номер заказа, например:

9945(273716537165);01.10.2014 19:28:02;1;275
191;355,5;1;0

Работа с комбо

Добавлены новые типы строк в csv:
2 - комбо элемент меню. 
3 - комбо элемент.
4 - элемент меню, связанный с комбо-элементом
5 - модификатор для элемента меню.
 
Пример создания комбо-обеда, которое состоит из:
салат цезарь
- с семгой (модификатор)
-каппучино
 
1;01.09.2015 17:49;5;5
13;0;1;2 - комбо элемент меню (Обед)
5;0;1;3 - комбо элемент (цезарь) 
6277;0;1;4 - блюдо цезарь, с которым связан комбо-элемент
1;0;1;5 - модификатор (с семгой)
7;0;1;3 - комбо элемент (каппучино)
3029;0;1;4 - блюдо каппучино
 
Важно: везде используются внешние коды элементов.
 
Пример 2
 
Рис. Пример файла с комбо-блюдами

Приложение 2

Формат файла результатов импорта-экспорта нового Заказа. (WIN-кодировка).
1 - заказ успешно выгружен в стол 9032
Файл примера приведен в State_New9032.csv

Приложение 3

Формат файла импорта-экспорта изменений существующего Заказа. (WIN-кодировка).
КОД СТОЛА;ДАТА;КОЛ-ВО ГОСТЕЙ
9032;06.03.2008 10:38;2
ВНЕШНИЙ КОД ПРОДУКТА;ЦЕНА;КОЛИЧЕСТВО
45;10,5;3
46;25,1;4
Файл примера приведен в Order_Edit9032.csv

Приложение 4

Формат файла результатов импорта-экспорта изменений существующего Заказа. (WIN-кодировка).
0 - указанный стол 9032 закрыт, изменения заказа не выгружены
Файл примера приведен в State_Edit9032.csv
ВложениеРазмер
order_new9032.txt100 байтов

Настройка связи c Cash Management

Введение

Приложение Cash Management (Кассовая книга) предназначено для учета наличности, инкассации кассиров, инкассации в банк и для печати кассовых форм KM3, KM6 и KM7.

Важно:  Обязательно ознакомьтесь с руководством пользователя: ftp://ftp.ucs.ru/books/r-keeper_v7_Cash_Management_user_manual.pdf

Важно: Работает с R-Keeper v.7 версиями не ниже 7.5.2.200.

Важно: в R-Keeper v.7 должен быть настроен on-line сбор данных (подробнее здесь http://support.ucs.ru/ru/node/7516)! Иначе не получим информации об незакрытых (рабочих) сменах.

Установка

Программа доступна на FTP: ftp://ftp.ucs.ru/rk7/INSTALL/RK7_CashMan/cashman.7z

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

Рис. 1

Нажмите Да.

Даллее, используя стандартный Windows проводник, настройте соединение с базой SQL для RK7. Пример настроек приведен на рис. 2

Рис.2

Теперь запустите приложение Cashman.exe с ключом /wizard.

Откроется окно для создания нужных таблиц и объектов в базе данных (рис.4).

Рис. 3

Установите все галочки и нажмите кнопку "Ок".

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

Важно: Роль, в состав которой входит пользователь должна иметь право на ресторан, с которым работаем, а ресторан защищен данным правом! Так же у роли должно быть помечено право "Приложение "Главная касса".

Рис.4

Далее выберите ресторан и укажите начальную дату активности сейфов (рис.6).

Рис.5

Рис.6 Окно приложения "Кассовая книга"

Особенности работы

  • Для того, чтобы закрытые смены попали в отчет, обязательно нужно использовать регистрацию на кассовый ящик! Включается параметром Регистрация на ящик ([Все] - [Параметры работы станции] - [Регистрация] - [Регистрация на ящик]) - значение "Автоматически" или "По использованию". Только смены с отметкой о кассовом ящике приходят в CashMan.

  • Выгрузка Z-отчетов для Фискальных регистраторов Феликс-РК (Версия 01) - не поддержана, поддержано только для Штрих и Прим.

  • Если в отчетах необходимо вынести дополнительную информацию по ресторану, например платежные реквизиты организации (ИНН, КПП, ОКАТО), то необходимо настроить дополнительно расширенные свойства в менеджерской станции R-Keeper 7.

Рис.7

Рис.8

Рис.9

Контроль приготовления

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

С 01.06.2020 продукт KDS больше не дорабатывается. Используйте KDS PRO. Пользователям предоставляется скидка в 70% на переход.
Поддержка прекратится 31.12.2020.

 

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

Kitchen Display Systems (далее - KDS) – система, предназначенная для наглядного представления движения заказа от кассовой станции до подачи гостю. KDS показывает заказы на мониторах, установленных у поваров и официантов. Управлять движением можно с сенсорных станций и с клавиатуры.

Полезные ссылки

Сокращения

  1. Сервер KDS — файл dbmangr_RK7.exe, находится в папке Server
  2. Клиент KDS — файл kdsclient.exe, находится в папке Client

Установка KDS 1.3.3.2

Первичная установка происзводится через инсталлятор, поверх которого устанавливается актуальная версия. Скачать с FTP-сервера дистрибутив инсталлятора по ссылке ftp://ftp.ucs.ru/r-keeper/KDS/1.3.0/KDS_1.3.3.2.exe
Сначала нужно установить KDS_1.3.3.2, а потом обновить его до актуальной версии - 1.3.5.xx

Заранее создайте в менеджерской станции XML-интерфейс, он вам понадобится при установке.

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

Выберите нужный вариант

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

Укажите имя экземпляра и путь для установки

Выберите нужные компоненты* и систему для интеграции

Укажите IP и порт для Firebird

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

Укажите IP-адрес кассового сервера и порт созданного XML-интерфейса

Выберите компоненты, которые следует установить как службу

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

Нажмите Установить

*Компоненты, доступные для выбора:

  • Firebird 2.5.2
  • Сервер – компоненты сервера KDS. Нужно выбрать версию сервера в связке с r_keeper — 6 или 7.
  • Клиент – как правило ставиться и на сервере и на клиентских компьютерах. В случае если клиент KDS будет находится на UCS-контролерах, он устанавливается отдельно
  • Статистика – дополнительные компоненты, позволяющее строить и распечатывать отчёты по работе KDS
  • Supervisor – дополнительные компоненты для контроля приготовления и сортировки обработанных блюд
  • RK7tmsrv – компоненты терминального сервера для работы с клиентами KDS установленными на UCS-контролерах. Выберите этот пункт, если собираетесь их использовать

На этом установка KDS 1.3.32 закончена. 

После установки KDS не устанавливается как служба. Для запуска сервера используйте файл dbmangr_RK7.exe. Чтобы установить сервер как службу, для этого запустите dbmangr_RK7.exe с ключом /install. Это делать имеет смысл только после окончания настройки, так как службу нелья настроить.

Структура папок после установки

После установки структура каталогов и их содержимое будет таким:

  • Сlient – файлы клиента KDS
  • DB – база данных и скрипты
  • Encoding – папка с утилитой-кодировщиком
  • Firebird – папка с рабочим экземпляром БД Firebird.
  • KDS Statistics – папка с утилитой статистики и отчётов
  • RK7tmsrv – папка с терминальным сервером
  • RK7tmsrv_Clients – папка с терминальными клиентами
  • Server папка с данными сервера KDS
  • Supervisor – папка с утилитой Supervisor

Обновление KDS

Ниже — краткая инструкция. Подробная находится в статье про обновлении KDS.

Важно: перед обновлением сделайте резервную копию предыдущей сборки и рабочей базы. Данные настроек в ini-файлах после обновления не сохраняются. Поэтому, если это не первичная установка KDS, сделайте копию ini-файлов для дальнейшей настройки.

После установки версии 1.3.x, нужно обновить KDS до последней версии. Скачайте версию 1.3.5 и старше с FTP: ftp://ftp.ucs.ru/r-keeper/KDS/. Для обновления достаточно скопировать новые файлы в папку установки KDS с заменой файлов и обновить БД.

Скопируйте новые файлы в место установки. Согласитесь на замену файлов.

  • Client
  • Server
  • RK7tmsrv, если он установлен. 

Осталось обновить БД. Для этого в папке DB есть утилита DBUpdate.exe. Запустите её и укажите параметры подключения к БД Firebird: IP и порт.

Нажмите кнопку Update DB. Если настройки подключения указаны верно и Firebird запущен, БД обновится и появится надпись Update DB Complete

На случай, если нужно установить или обновить Firebird, внутри папки с KDS на FTP есть дистрибутивы Firebird 2.5.7, x32/x64.

Обновление старой БД до версии 1.3.Х

Для переноса данных из баз старого формата KDS <1.2.x в новый используется утилита DBConverter.exe, которая находится в папке DB.

Перед обновлением, установите Firebird, входящий в актуальный дистрибутив. В результате у вас получится 2 работающих сервера Firebird.
Для обновления подключитесь к старой базе через старый Firebird-сервер, а к новой - через свежеустановленный. База, в которую будет осуществляться перенос, должна быть пустой.
Запустите утилиту, пропишите путь к старой БД в блоке From и настройки новой БД в блоке To.

Нажмите кнопку Convert Data.

Важно: с версий 1.3.3.Х обновление до  актуальной версии происходит в пределах одной ветки. При переходе на ветку 1.3.4.Х и выше надо сделать промежуточное обновление на первую версию новой ветки.

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

В системе KDS лицензируется сервер. Лицензия называется R-Keeper модуль KDS ПО. Получите мастер-лицензию и сгенерируйте лицензионный ключ без кода запроса. 
Запустите файл \server\dbmangr_RK7.exe. Сервер запускается в свёрнутом режиме, поэтому нажмите по значку в трее  2 раза, чтобы его развернуть. Откроется окно сервера. Нажмите кнопку License

Введите лицензионный ключ, сгенерированный на l.ucs.ru и нажмите ОК

Сервер подключится к системе лицензирования, проверит лицензию и активирует продукт, если всё хорошо. Вместо фразы No License появится код объекта и дата окончания лицензии.

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

Важно: с версии 1.3.4.7 изменился конфигурационный файл сервера KDS – dbmangr.ini

Если до обновления система была пролицензирования, скопируйте лицензионный ключ из строки License файла FSVDU.INI 

License=21184-10432-12135-21664-82834-11484-05367-40256

И вставьте его в в dbmangr.ini. Сохраните изменения и перезапустите сервер.

KDSGuard

Для противодействия возможным сбоям, создана утилита KDSGuard. Она находится в папке \Server.
Для запуска в KDSGuard.ini пропишите полный путь к серверу dbmangr_RK7.exe. Сохраните изменения и запустите KDSGuard.exe. 

Пример рабочей конфигурации KDSGuard:

tiInterval=00:00:05
tiControlTime=00:01:30
tiMSgWaitTime=00:00:20
program1=V:\UCS\KDS\KDS\Server\dbmangr_RK7.exe

Если всё настроено верно, в окне KDSGuard будет написано Started...<путь к серверу KDS> и никаких ошибок.

Настройка связи с r_keeper_7

Для работы KDS у вас должна быть настроена сервис-печать

  1. Откройте сервер KDS. Пропишите в поле Server Name IP-адрес кассового сервера
  2. KDS не может работать с общими классификациями, только с категориями. Для примера возьмём Сервис-печать и создадим ей категории:

    Распределите блюда меню по категориям классификации.
  3. Категории должны появиться в меню справа: 
  4. Отметьте нужные и нажмите ОК
  5. Вернитесь в менеджерскую станцию. Создайте интерфейс и привяжите его к драйверу сервера.
  6. В справочнике Настройки > Параметры > Установочные > Связь с другими системами > KDS и VDU > Классификация для КДС и VDU укажите ссылку на классификацию для КДС. В нашем случае это Сервис-печать.
  7. Проверьте макеты для KDS. Зайдите в справочник Настройки > Печать > Документы и макеты > Для КДС. Убедитесь, что предустановленные макеты добавлены в текущую схему печати.
  8. В настройках работника (кассовые ограничения) добавьте право Удаление приготовленного блюда. 
  9. По желанию, можно изменить текст, который будет видеть официант на кассовой станции. Для этого зайдите в Настройки > Параметры > Параметры работы предприятия > Сообщения официанту > Текст сообщения о готовности блюд и пропишите в поле Строковый нужный текст. Например: "Готово для %0;s", что значит "Готово для № стола"

    Доступные параметры:

    1. %0:s — номер стола
    2. %1:s — имя категории для KDS
    3. %2:s — имя блюда

Работа в KDS

Для работы в KDS понадобятся запущенные:

  1. Сервер справочников
  2. Кассовый сервер 
  3. Кассовая станция
  4. Сервер KDS 
  5. Клиент KDS

На кассовой станции создайте заказ. KDS может работать только в режиме создания заказа. В режиме быстрого чека KDS не работает. 
Чтобы заказ появился в KDS, его нужно сохранить, а не закрывать. Создайте заказ и нажмите сохранить: 

Заказ должен появится в KDS:

Удаление KDS

Чтобы удалить KDS, запустите инсталлятор и выберите пункт Удаление одного из ранее установленных экземпляров

Выберите нужный экземпляр для удаления

Выберите удаляемые компоненты

Подтвердите остановку служб

Удаление завершено

База данных

В папке \DB лежит готовая база данных — KDS.FDB и скрипт Kds.sql для создания аналогичной чистой базы. Для работы можно использовать готовую базу данных, или создать воспользовавшись программой IBExpert или утилитой UPDConsol.exe из папки \DB\UPВConsol\.

Ниже описано как создать базу используя утилиту UPDConsol.exe.
Если необходимо, отредактируйте файл workscript.ini:

[DB]
DB=KDS_NEW.FDB                  ; Имя файла базы данных, которая будет создана скриптом в папке с утилитой
CharSet=NONE                    ; Используемая кодировка. должна быть аналогична полю CharSet других INI-файлов
UserName=SYSDBA                 ; Имя пользователя БД
Password=masterkey              ; Пароль пользователя БД  
Create=1
[Work]
Script = KDS.sql                ; имя скрипта для создания новой БД. Лежит в папке с утилитой
ShowAfterError=30

Запустите утилиту UPDConsol.exe для создания новой базы данных. В папке с UPDConsol.exe появится файл KDS_NEW.FDB.

Файлы настроек KDS

С 01.06.2020 продукт KDS больше не дорабатывается. Используйте KDS PRO. Пользователям предоставляется скидка в 70% на переход.
Поддержка прекратится 31.12.2020.

 

Введение

У сервера KDS разные файлы настроек. 

  • <1.3.4.7 файл настроек — FSVDU.ini 
  • 1.3.5 и старше — dbmangr.ini

Файл настроек сервера

[DB]                                ; настройки БД
allias=KDS_DB                       ; алиас БД. Его можно настроить в файле Firebird\aliases.conf 
CharsetName=none                    ; кодировка БД
SrvName=localhost                   ; IP-адрес БД Firebird
SrvPort=11255                       ; порт БД Firebird
UserName=E5EBE5F8F6F3               ; зашифрованное имя пользователя БД
UserPass=DFD3C5C8D7C6DDD7CB         ; зашифрованный пароль пользователя БД

[XMLInterface]                      ; настройки XML-интерфейса
RK7Port=3324                        ; порт XML-интерфейса
SrvAdress=127.0.0.1                 ; IP-адрес кассового сервера

[Main]                              ; основные настройки
License=21184-10432                 ; лицензионный ключ KDS
AutoCheckMenu=OFF                   ; автопроверка меню. OFF — выключено, ON — включено
DayDownView=1
DishPreparedMessage=<DishName> for <TblName> start cooking.
IntervalAutochekMenu=120
MaxSymb=E
PackLines=ON
PrintDataXmlOnReady=OFF
PrinterDestination=1
PrinterStation=15002
SendMessageOnDishPrepared=OFF
TimerInterval=1000
WaiterMessage=Бегом на кухню!        ; сообщение официанту

[Orders]                             ; настройки заказов
PrintGroups=512,513,514,515,516,517  ; группы печати. Настраиваются в менеджерской станции, в классификациях. Руками указывать не нужно, заполняются сервером самостоятельно.
DelayTimeSec=0                       ; задержка в секундах
DelayedPrintGroups=                  ; группы печати, к которым применять задержку

[Log]                                ; настройки логирования
LogLevel=2                           ; уровень логирования 
LogSizeMB=10                         ; максимальный размер файла лога в МБ 
SingleLog=ON                         ; весь лог в одном файле. ON — включено, OFF — выключено. 
mainLog=ON                          

Устаревший файл настроек сервера

До версии 1.3.4.7 KDS использовала файл настроек FSVDU.ini.

License=18484-40411-...    ; лицензионный ключ KDS
dbServer=127.0.0.1         ; IP-адрес БД Firebird
dbPort=11251               ; порт БД Firebird
dbAlias=KDS_DB             ; алиас к БД. Его можно настроить в файле Firebird\aliases.conf
Charset = NONE             ; кодировка БД
dbuname=E5EBE5F8F6F3       ; зашифрованное имя пользователя
dbpass=DFD3C5C8D7C6DDD7CB  ; зашифрованный пароль
ServerName=127.0.0.1       ; IP-адрес кассового сервера
RK7Port=22400              ; порт XML-интерфейса на кассовом сервере
NBAdapter=1
NBName=UKDS31
CountDishTime=OFF
D201=VBP
EGroup=
OneLine=ON
Country=RU
ShowStartCooking=OFF
Waiter=OFF
MainLog=1                  ; режим использования лог-файла: 1 – используется основной лог-файл dbmangr_RK7.LOG, 0 – используется отдельный лог-файл RKRead.log
LogLevel=0..9              ; уровень логирования
LogSizeMB=10               ; максимальный размер лог-файла
AutoCheckMenu=0            ; автопроверка меню. 1 — включена, 0 — выключена
IntervalAutochekMenu=120   ; интервал задается в секундах
DayDownView=1              ; сколько последних смен с заказами видеть на экране
DishReadyMessage=Group: <PrintGroup>. Place: <TableNum>. Dish is ready: <DishName> ; шаблон сообщения для готовых блюд (обратная связь с официантом)

Чтобы вывести текст "Готово для <№ стола>", добавьте в строку:

waiterMessage=Готово для <TblNum>     ;  <TblNum> - номер стола, так же можно использовать параметр <WtrName> - имя официанта, ожидающего заказ.

Файл настроек KDSGuard

Для противодействия возможным сбоям, создана утилита KDSGuard. Она находится в папке \Server. Для запуска в KDSGuard.ini пропишите полный путь к серверу dbmangr_RK7.exe. Сохраните изменения и запустите KDSGuard.exe. 

Если всё настроено верно, в окне KDSGuard будет написано Started...<путь к серверу KDS> и никаких ошибок.

Пример рабочей конфигурации KDSGuard

tiInterval=00:00:05
tiControlTime=00:01:30
tiMSgWaitTime=00:00:20
program1=D:\UCS\KDS\Server\dbmangr_RK7.exe           ; адрес исполняемого файла сервера KDS

Файл настроек клиента

Файл настроек kdsclient.ini используется только 1 раз при запуске программы. Затем настройки переносятся в базу данных и менять их лучше через настройки самого клиента. 

Чтобы попасть в настройки, запустите KDS-клиент и нажмите на клавиатуре кнопку F2.

Сохраните настройки, нажав зелёную галочку в правом нижнем углу.

Основные настройки клиента:

dbServer=127.0.0.1         ; IP-адрес сервера Firebird
dbPort=11251               ; порт сервера Firebird
dbAlias=KDS_DB             ; алиас БД. Можно изменить в Firebird\aliases.conf
Charset = NONE             ; кодировка БД
dbuname=E5EBE5F8F6F3       ; закодированное имя пользователя, такое же как и в файле настроек сервера
dbpass=DFD3C5C8D7C6DDD7CB  ; закодированный пароль, такой же, как и в файле настроек сервера
AlarmTime2d=5              ; если заказ в очереди находится меньше, чем указанное здесь количество минут, то рамка вокруг этого заказа на экране КДС станет зеленого цвета

Настройка алиаса DB

В настройка сервера и клиента в разделе [DB] указан алиас БД: 

dbAlias=KDS_DB             ; имя алиаса БД

Алиас настраивается в файле \Firebird\aliases.conf:

KDS_DB = D:\KDS_1_3_6\DB\KDS.FDB    ; путь к файлу базы данных

Изменив алиас, не забудьте поменять его в настройках сервера и клиента.

Печать из KDS на принтер

В запросе на печать поддерживаются следующие сокращения:

[PrinterDestination]         ; назначение печати принтера
[PrinterStation]             ; кассовая станция, к которой подключен принтер
[NumOrder]                   ; номер заказа
[NumTable]                   ; номер стола
[Dishes]                     ; список блюд заказа. Макет строки берется из файла QPrintMaketDishLine.xml

В строке блюда поддерживаются следующие сокращения (файл QPrintMaketDishLine.xml):

[dishCount]                  ; количество блюд
[dishName]                   ; название блюда
[dishSeat]                   ; место, к которому относится блюдо только в 1.3.4.7 и выше.

Печать крупным шрифтом настраивается в QPrintMaketDishLine.xml ([Bold], [BigHeight], [BigWidth])

Обновление KDS

С 01.06.2020 продукт KDS больше не дорабатывается. Используйте KDS PRO. Пользователям предоставляется скидка в 70% на переход.
Поддержка прекратится 31.12.2020.

 

Введение

В статье описан процесс обновления KDS и SQL Firebird.

В некоторых случаях SQL Firebird излишне нагружает процессор. В таком случае помогает обновление до последней версии. Дальше пойдёт речь о том, как это правильно делать. 
Учтите, что речь идёт только об обновлении в рамках ветки 2.5 — так как KDS не поддерживает Firebird 3.

Предполагается, что у вас уже есть установленная Firebird и системы KDS и r_keeper_7. Если Firebird не установлен, скачайте и установите его в конфигурации x86 SuperServer.

Подробная инструкция по обновлению на официальном сайте: http://www.ibase.ru/inst_manual/#update

Обновление Firebird необходимо делать на обоих компьютерах: с сервером и с клиентом KDS.
За основу будет взят актуальный на дистрибутив версии 1.3.5.4. Для предыдущих и последующих версий процесс может несколько отличаться.

Краткое описание

  1. Сделать бекап файлов 
  2. Скачать новые версии KDS и с Firebird
  3. Остановить службы
  4. Перезаписать старые файлы новыми
  5. Обновить конфиг-файлы
  6. Запустить службы

Подготовка к обновлению

  1. Сделайте бекап всей папке Firebird 
  2. Остановите службу имеющегося экземпляра Firebird: Firebird Guardian – ИмяЭкземпляра
  3. Найдите в папке Windows\System32 или SysWOW64 файл GDS32.dll от прежней установленной версии Firebird. Если файл есть, сделайте его копию. Если файла нет — бэкапить его не нужно.
  4. Скачайте ZIP-архив с файлами установки Firebird 2.5. Версия x86 — https://firebirdsql.org/en/firebird-2-5/#Win32
  5. Распакуйте файлы во временную папку. При распаковке будьте внимательны: архив содержит файл конфигурации firebird.conf/aliases.conf или ibconfig и файл базы пользователей security.fdb, admin.ib или isc4.gdb. Переписав эти файлы поверх ваших текущих вы лишитесь не только сделанных настроек, но и списка пользователей сервера. Поэтому эти файлы желательно сразу удалить во временном каталоге, куда вы распаковали zip следуя указаниям в пункте 4.
  6. Теперь можно просто весь корневой каталог новой версии скопируйте поверх существующего корневого каталога сервера. Если сервер в этот момент запущен, то разумеется, переписать ibserver.exe, fbserver.exe, firebird.exe или fb_inet_server.exe не удастся.
  7. Верните файлы конфигов на старые места:
    1. Firebird.conf
    2. Aliases.cong
  8. Далее, после переписывания новых файлов обновите файл бибиотеки gds32.dll/fbclient.dll в Windows\System32 или SysWOW64 чтобы клиентская часть точно соответствовала версии сервера.
  9. Если обновляетесь до последней версии, ознакомьтесь с инструкцией об утилите instclient.exe, возможно придётся обновить библиотеку gds32.dll.
  10. Перейдите в новый рабочий каталог Firebird и откройте файл firebird.conf
  11. Раскомментируйте параметр RemoteServicePort, удалив перед ним знак #
  12. Укажите свободный порт, на котором будет работать этот экземпляр Firebird:
RemoteServicePort = 3050
  1. Запустите службу Firebird

Обновление базы данных

Обвовляем базу данных Firebird SQL.

  1. Запустите службы FirebirdServerFirebirdInstance и FirebirdGuardianfirebirdInstance. Служба называется по принципу FirebirdИмяЭкземпляра
  2. Запустите командную строку и перейдите в папку KDS\DB\DBUpdate
  3. Выполните команду DBUpdate.exe –db
  4. Укажите данные для подключения к серверу Firebird. Например:
    • Server — localhost
    • Port — 3050
    • DB Alias — KDS_DB
  5. Нажмите Update DB. Программа должна написать Update DB Complete.
  6. Закройте программу Update DB

Настройка сервера KDS

Процесс мало чем отличается от обычной настройки сервера KDS.

Чтобы настроить сервер KDS:

  1. Укажите псевдоним базы данных в параметре allias, сопоставленный с адресом файла базы данных в aliases.conf.
    • allias=KDS_DB
  2. Укажите IP-адрес и порт сервера Firebird. Например:
    • SrvName=localhost
    • SrvPort=3050
  3. Укажите IP-адрес и порт XML-интерфейса кассового сервера в соответствующих параметрах. Например:
    • SrvAdress=127.0.0.1
    • RK7Port=1417
  4. Заполните параметр License. Для этого заблаговременно получите лицензионный код в системе лицензирования. Подробнее о лицензировании смотрите раздел Лицензирование KDS
  5. Укажите уровень логирования. Например:
    • LogLevel=5
  6. Сохраните и закройте файл настроек.

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

Осталось настроить клиент KDS.

На компьютере с клиентом KDS должен быть установлен экземпляр Firebird.

Откройте файл kdsclient.ini и заполните параметры аналогично KDS-серверу:

  • dbServer=localhost
  • dbPort=3050
  • dbAlias=KDS_DBNEW

По желанию, настройте размер и положение окна с помощью параметров left, top, width, height.

Это всё. Запустите клиент KDS.

Детальные настройки сервера и клиента KDS

С 01.06.2020 продукт KDS больше не дорабатывается. Используйте KDS PRO. Пользователям предоставляется скидка в 70% на переход.
Поддержка прекратится 31.12.2020.

 

Введение

Основная статья по установке и настройке системы KDS находится здесь — http://support.ucs.ru/ru/node/7876. Перед прочтением данной статьи обязательно к ознакомлению.

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

Предлагаются к использованию несколько экранных форм повара (для готовящихся заказов) и несколько экранных форм официанта (для выдаваемых заказов).

Важно! Вид экранной формы настраивается пользователем с использованием технологии "Fast Report". Встроенный дизайнер отчетов можно запустить с нужного экрана запущенного клиента KDS нажатем клавиши "D" на клавиатуре.

Все заказы, сформированные на кассе, после сохранения отображаются на экране повара. Повар на своих экранах может управлять готовящимися заказами/блюдами (удалять после приготовления), а официант  на своих  экранах просматривать, анализировать степень готовности заказа (например: сколько блюд из заказа уже готово) и управлять готовыми заказами/блюдами (удалять их с экрана, когда они будут забраны – отданы клиенту). Также возможно вместо удаления блюда/заказа отображать их другим фоном, оставляя на экране.

Для анализа работы кухни может быть использовано номинальное (теоретическое) время готовки блюда, устанавливаемое на карточке блюда. В этом случае, после того, как заказ/блюдо будет приготовлен, система зафиксирует время фактического приготовления блюда, а после того, как заказ будет выдан, система зафиксирует время, прошедшее с момента его приготовления до его выдачи. Разница между этими показателями покажет эффективность работы кухни и официантов в отчете "Работа кухни".
Поддержан режим «Одновременной подачи», т.е. когда все блюда из одной сессии заказа должны быть приготовлены одновременно, а также стандартный режим «Подача по мере готовности».

Особенности системы KDS

  • С версии 1.3 возможна работа нескольких KDS-серверов с одной базой, при этом каждый KDS-сервер работает со своим кассовым сервером R-Keeper
  • В более ранних версиях – одна база KDS, один сервер KDS, один кассовый сервер R-Keeper
  • Поддержка RK6 и RK7
  • Может использоваться win32-версия клиента KDS или WinCE-версия для установки на ARM-контролеры

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

Общие настройки 

Общие настройки KDS-клиента задаются в разделе "General Settings" и дублируются в конфигурационном файле kdsclient.ini.

Значения некоторых общих параметров можно задать только в конфигурационном файле kdsclient.ini:

  • UseNewKBD = 0  - тип используемой клавиатуры: 0 - не использовать, 1 - для новой 3-рядной USB/COM-клавиатуры (ARM-устройства), 2 - новая 3-рядная USB-клавиатуры для Win32-клиентов
  • StayOnTop=OFF - запускать (ON) или нет (OFF) клиента поверх остальных окон
  • Left - начальная координата (в пикселях) по горизонтали для левого нижнего угла рабочего окна клиента
  • Top - начальная координата (в пикселях) по вертикали для левого нижнего угла рабочего окна клиента
  • Height  - высота (в пикселях) рабочего окна клиента
  • Width  - ширина (в пикселях) рабочего окна клиента
  • LogLevel - уровень логирования (0-9)
  • LogSizeMB - предельный размер лог-файла (Мб)

Примечание: С помощью параметров Left, Top, Height и Width можно настроить одновременный вывод нескольких экземпляров KDS-клиентов на одном физическом экране.

Настройки экранов

При первом запуске клиента настройки экранов считываются из файла kdsclient.ini - далее они заносятся в базу (если параметр StationName не пустой и в базе ещё не существует StationName с таким именем) и из файла больше не перечитываются.

Примечание: Для того, чтобы настройки пересохранились в базу из файла, необходимо задать новый (не существующий) StationName.

Примечание: Если StationName пустой, параметры экранов считываются только с файла kdsclient.ini  - такая конфигурация используется для аппаратнных ARM-контролеров (T700), где StationName определяется по MAC-адресу устройства.

Для доступа к настройкам экранов необходимо запустить KDS-клиент и на любом из экранов нажать клавишу "F2":

Рис. Вид окна настроек клиента KDS.

Раздел "Screens Settings"

  • Каждый KDS-клиент свои настройки хранит в базе. Если заведено несколько kds-клиентов, можно скопировать (ранее выполненные) настройки с одного клиента на другой (кнопка в левом нижнем углу). При копировании откроется окно с возможностью выбора станции, с которой необходимо скопировать настройки:

Окно выбора переноса настроек с одного клиента на другой.

Окно редактирования настроек состоит из 2-х закладок: "Screens Settings" и "General Settings".

Создание новой экранной формы

На первой закладке "Screen Settings" необходимо создать все необходимые экранные формы (или оставить формы по-умолчанию) и сделать настройки для них.

Рис. - Описание параметров экранной формы настроек.

Для создания новой экранной формы нажать кнопку "+" (в левом нижнем углу) и определить для нее основные параметры:

  • Поле настроек - "Report" 
  • Поле настроек - "SQL"
  • Поле настроек - "Operation"
  • Поле настроек - "Prints Group"

При необходимости установить дополнительные параметры.

Поле "REPORT" - Экранная форма

Важно! В поле "REPORT" задается рабочая экранная форма. Можно использовать предлагаемые по умолчанию из списка. Или создать свои собственные.

  1. В поле "REPORT" необходимо выбрать форму отображения блюд или заказа на экране KDS:

Рис. - Отображение перечня предустановленных экранных форм.

Перечень предустановленных форм

  • Форма - "dishlist.fr3"

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

Рис. Отображение заказа при использовании формы dishlist.fr3

  • Форма - "dishlist_by_line.fr3" 

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

Рис. Отображение заказа при использовании формы dishlist_by_line.fr3

  • Форма - "dline.fr3"

Заказ отображается в виде строк на весь экран, при этом каждая строка KDS содержит одну строку заказа («поблюдно» и «построчно»). Поддерживает режим одновременной подачи. Т.е. часть блюд из заказа отображаются на экране неактивными и с таймером для каждого блюда относительно общего времени готовки.

Рис. Отображение заказа при использовании формы dline.fr3

  • Форма - "dline_by_line.fr3"

Заказ отображается в виде строк на весь экран, при этом каждая строка KDS содержит одну строку заказа («поблюдно» и «построчно»). Режим одновременной подачи в этом случае не работает. Т.е. блюда из заказа отображаются на экране с таймером для каждого блюда индивидуально.

Рис. Отображение заказа при использовании экранной формы dline_by_line.fr3

  • Форма - "fullorder.fr3"

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

Рис. Отображение заказа при использовании экранной формы fullorder.fr3

  • Форма - "NotExist.fr3"

Служебная форма. Если макет, используемый в экранной форме, удален (по ошибке удалили файл из инсталляции), то при просмотре такой экранной формы на экране отобразится "NO EXIST".

  • Форма - "ReadyOrder.fr3"

Режим официанта «Забирать» (заказ отображается в виде динамического окна, в котором полностью отображается сессия заказа).

Рис. - Отображение заказа при использовании экранной формы readyorder.fr3

  • Форма - "wfullorder.fr3"

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

Рис. Отображение заказа при использовании экранной формы wfullorder.fr3

Поле "SQL" - Скрипт действий

Важно! В поле настроек "SQL" задается алгоритм работы самого приложения KDS-клиент. Можно выбрать один из предустановленных скриптов. Или создать/прописать свой собственный.

В SQL необходимо выбрать вариант, который будет определять правила отображения информации на экране (что видим на экране KDS).

  • С помощью SQL-запроса можно настроить правила, по которым на экране будет отображаться только необходимая информация.

Например: отображать только готовые блюда, или не выданные блюда или неготовый заказ и т.д. Т.к. при выборе блюда или заказа меняется его статус, то на экране KDS останутся только те, которые удовлетворяют условиям запроса и будут иметь цвет, соответствующий текущему статусу. Не удовлетворяющие запросу на экране отображаться не будут. Поэтому при выборе блюда или заказа, блюдо или заказ будут или удаляться с экрана или изменять свой цвет в соответствии с приобретенным статусом.

  • К использованию предлагается несколько стандартных вариантов, но пользователь может и самостоятельно создать необходимый запрос.

После передачи блюда с кассы на KDS, блюдо и заказ получают статус «не обработан». При выборе блюда или заказа статус можно изменить, т.е. присвоить статус:

Статус - "Не обработан"     --->
Статус - "Подготовить"      --->    Статус - "Подготовлен"/(Prepare)
Статус - "Приготовить"      --->    Статус - "Готов"/(Ready)
Статус - "Выдать/забрать"   --->    Статус - "Выдан/Забран"/(TakeOut)

Рис. Варианты готовых SQL-скриптов задаваемых в поле "SQL".

Таблица - Стандартные скрипты

№ п.п. Название скрипта Скрипт Описание
1 Not prepared SELECT * FROM BaseView WHERE (preptime IS NULL) ORDER BY ID, LineID, IID
  • "Не подготовленные" - на экране отображаются блюда или заказы, переданные с кассы и которым еще не меняли статус (с которыми еще ничего не делали). Как только блюдо приобретет статус "Подготовлен", оно автоматически приобретает статус "Готов".

Важно! Не рекоммендовано к использованию в стандартной конфигурации.

2 Not ready dishes SELECT * FROM BaseView WHERE (finishcook < 0) ORDER BY ID, LineID, IID
  • На экране отображаются блюда со статусом "Не готов", т.е. переданные с кассы и которым еще не меняли статус, или со статусом "Подготовлен".
3 Not ready orders SELECT * FROM BaseView WHERE (ready < 0) ORDER BY ID, LineID, IID
  • На экране отображается заказ со статусом "Не готов" (и неважно есть в нем блюда со статусом "Готов" и "Не готов"). Заказ будет отображаться до тех пор, пока сам не приобретет статус "Готов".
  • Это вариант, когда приготовленные блюда, внутри заказа будут выделены фиолетовым фоном (по умолчанию). И при переводе последнего блюда в статус "Готов", которое установит всему заказу статус "Готов", заказ полностью удалится с экрана.
4 Not taked out dishes SELECT * FROM BaseView WHERE (ltakeout IS NULL) ORDER BY ID, LineID, IID
  • На экране отображаются блюда со статусом "Не выдан", т.е. блюда со статусом "Не готов" и со статусом "Готов" (еще неприготовленные и не забранные приготовленные блюда).
5 Not taked out orders SELECT * FROM BaseView WHERE (takeout < 0) ORDER BY ID, LineID, IID
  • На экране отображается заказ со статусом "Не выдан" (и неважно есть в нем блюда со статусом "Выдан" и "Не выдан"). Заказ будет отображаться до тех пор, пока сам не приобретет статус "Выдан".
  • Это вариант, когда выданные блюда, внутри заказа будут выделены фиолетовым фоном (по умолчанию). И при переводе последнего блюда в статус "Выдан", которое установит всему заказу статус "Выдан", заказ полностью удалится с экрана.
6 Prepared and not ready dishes SELECT * FROM BaseView WHERE (preptime IS NOT NULL) AND (finishcook < 0) ORDER BY ID, LineID, IID
  • На экране отображаются блюда со статусом "Подготовлен", но без статуса "Готов" -  не использовать в стандартной конфигурации.
7 Prepared and not ready orders SELECT * FROM BaseView WHERE (preptime IS NOT NULL) AND (ready < 0) ORDER BY ID, LineID, IID
  • На экране отображаются заказы со статусом "Подготовлен", но без статуса "Готов" -  не использовать в стандартной конфигурации.
8 Prepared and not taked out dishes SELECT * FROM BaseView WHERE (preptime IS NOT NULL) AND (ltakeout IS NULL) ORDER BY ID, LineID, IID 
  • На экране отображаются блюда со статусом "Подготовлен", но без статуса "Выдан" -  не использовать в стандартной конфигурации.
9 Prepared and not taked out orders SELECT * FROM BaseView WHERE (preptime IS NOT NULL) AND (takeout < 0) ORDER BY ID, LineID, IID
  • На экране отображаются заказы со статусом "Подготовлен", но без статуса "Выдан" -  не использовать в стандартной конфигурации.
10 Ready dishes and not taked out dishes SELECT * FROM BaseView WHERE (finishcook > 0) AND (ltakeout IS NULL) ORDER BY ID, LineID, IID
  • На экране отображаются блюда со статусом "Готов", но без статуса "Выдан". Т.е. только приготовленные, но не выданные блюда.
11 Ready dishes and not taked out orders SELECT * FROM BaseView WHERE (finishcook > 0) AND (takeout < 0) ORDER BY ID, LineID, IID
  • На экране отображаются блюда со статусом "Готов", и блюда со статусом "Выдан", которые имеют фиолетовый фон, но до тех пор, пока весь заказ не получит статус "Выдан".
  • Как только последнее блюдо из заказа получит статус "Выдан", заказ удалится с экрана.
12 Ready orders and not taked out dishes SELECT * FROM BaseView WHERE (ready > 0) AND (ltakeout IS NULL) ORDER BY ID, LineID, IID
  • На экране отображаются заказы со статусом "Готов", а в них блюда со статусом "Не выдан". Т.е как только блюдо получает статус "Выдан", то оно удаляется из заказа.
13 Ready orders and not taked out orders SELECT * FROM BaseView WHERE (ready > 0) AND (takeout < 0) ORDER BY ID, LineID, IID
  • На экране отображаются заказы со статусом "Готов" и "Не выдан".
  • Все выданные блюда внутри заказа имеют фиолетовый фон.
  • Как только последнее блюдо получит статус "Выдан", заказ получает статус "Выдан" и удаляется с экрана.
14 Prepared dishes SELECT * FROM BaseView WHERE (preptime IS NOT NULL) ORDER BY ID, LineID, IID
  • Отображаются только блюда со статусом "Подготовлен".
15 Ready dishes SELECT * FROM BaseView WHERE (finishcook > 0) ORDER BY ID, LineID, IID
  • Отображаются только блюда со статусом "Готов" и со статусом "Выдан" (т.к. статус "Выдан"  уже предполагает наличие статуса "Готов").
16 Ready orders SELECT * FROM BaseView WHERE (ready > 0) ORDER BY ID, LineID, IID
  • Отображаются только заказы со статусом "Готов" и со статусом "Выдан" (т.к. статус "Выдан"» уже предполагает наличие статуса "Готов").
17 Taked out dishes SELECT * FROM BaseView WHERE (ltakeout IS NOT NULL) ORDER BY ID, LineID, IID
  • Отображаются только блюда со статусом "Выдан". Т.е. блюда со статусом "Готов" и "Не забран" – видны не будут. На экране они отобразятся только тогда, когда будут приготовлены и забраны на других экранах.
18 Taked out orders SELECT * FROM BaseView WHERE (takeout > 0) ORDER BY ID, LineID, IID
  • Отображаются только заказы со статусом "Выдан". Т.е. заказы со статусом "Готов" и "Не забран" – видны не будут.
  • На экране они отобразятся только тогда, когда будут приготовлены и забраны на других экранах.
19 All SELECT * FROM BaseView ORDER BY ID, LineID, IID
  • Отображаются все блюда и их нельзя сбросить с экрана.

Поле "Operation" - Событие

В поле "Operation"  необходимо определить событие, которое произойдет при выборе блюда или заказа. 

  • Управление блюдами или заказами предполагаем смену их статуса в процессе работы.

В системе задействовано 4 статуса - после передачи блюда с кассы на KDS, блюдо и заказ получают статус "Не обработан".

При выборе блюда или заказа статус можно изменить на:

  • "Подготовить" (Prepare)
  • "Приготовить" (Ready)
  • "Выдать/забрать" (TakeOut)

Изменить статус можно только по порядку:

"Не обработан" ---> "Подготовлен" ---> "Готов" ---> "Забран/Выдан"

Таким образом, например, невозможно сразу перевести блюдо из статуса "Не обработан" в статус "Забран/Выдан".

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

  • Переданные с кассы - белый
  • Подготовлен – желтый
  • Готов – фиолетовый
  • Выдан/забран – синий

Рис. Список выбора доступных операций

Таблица - Список операций

№ п.п. Название операции Описание
0 opNone
  • При выборе блюда или заказа ничего не произойдет.
1 opReadyDish
  • При выборе блюда, блюдо получит статус "Готов". Если оно последнее в заказе, то весь заказ получит статус Готов. Используется для экранов повара.
2 opReadyOrder
  • При выборе заказа, весь заказ получит статус "Готов". Используется для различных экранов позаказного отображения.
  • Если использовать для экранов построчного отображения, то при выборе одного окна с блюдом, все блюда этого заказа получат статус "Готов" (исчезнут с экрана и приобретут другой цвет).
3 opTakeOut
  • При выборе заказа,  весь заказ получит статус "Выдан/Забран", при условии, что весь заказ имеет статус "Готов". Если в этом заказе есть неприготовленные блюда, то при выборе заказа ничего не произойдет.
  • Используется только для официантских экранов, т.к. выдавать/забирать заказ рекомендуется с помощью них, хотя можно с любого.
4 opReadyAndTakeOut
  • При выборе заказа, весь заказ получит статус "Готов" и "Выдан/Забран".
  • Используется для  экранов повара, когда блюдо готовится и сразу выдается (например в барах). В этом случае, действие по выдаче заказа производить не требуется, что экономит время.
5 opTakeOutDish
  • При выборе блюда, блюдо получит статус "Выдан/Забран", при условии, что блюду уже был присвоен статус "Готов". Если оно последнее в заказе, то весь заказ получит статус - "Выдан/Забран".
  • Используется для официантских экранов.
6 opSendMessage
  • При выборе заказа, официанту будет отправлено сообщение о готовности заказа.
  • К использованию не рекоммендовано, т.к. уже неактуально и требует сложных настроек (не выставляется как задача).
7 opReadyDishOnly
  • При выборе блюда, блюдо получит статус "Готов".
  • Если оно последнее в заказе, то только блюдо получит статус "Готов", а весь заказ – останется в статусе "Не готов".
  • Такой заказ нельзя будет Выдать.
  • К использованию не рекоммендовано, т.к. реализовано для спец. проекта.
8 opPrepareDish
  • При выборе блюда, блюдо получит статус "Подготовленный". Это внутренний (промежуточный) статус, используется как промежуточный перед "ReadyDish".
  • Не рекоммендован к использованию в стандартной конфигурации.
  • Используется только в 3-х этапном варианте: повар ("Подготовлен"), сборщик заказа ("Готов") и официант ("Выдан/забран") – например при использовании редактора подстановок.
  • В стандартной конфигурации, при присвоении блюду статуса "Готов", статус "Подготовленный" устанавливается блюду всегда и автоматически.
9 opCustom
  • Позволяет на одной станции выполнить несколько действий. При выборе этой операции, в настройках появляется дополнительная возможность настроить операции для этой экранной формы (подготовка, готовность, выдача).
  • В зависимости от сделанных установок, на одном экране можно будет блюдо подготовить, приготовить и выдать.
  • Можно использовать от 1-го до 3-х действий, в зависимости от потребностей предприятия. Но проверка текущего статуса, для перевода в следующий, остается стандартной.

На рисунке ниже показаны дополнительные поля при использовании операции "opCustom":

Рис. Настройка дополнительных полей при выборе события opCustom

Поле "Screen Name" - Название экранной формы

В "Screen Name"  необходимо указать имя экранной формы, которое будет отображаться на экране KDS.

  • По умолчанию подставляется название и порядковый номер создаваемой формы.

Рис. Настройка отображаемого названия формы

Поле "Print Groups" - Группы печати

В "Print Groups" необходимо отметить те группы сервис-печати, которые будут отображаться на данной экранной форме. Блюда остальных групп сервис-печати на данной экранной форме отображаться не будут.

  • Если не отмечено ни одной группы, то будут отображены ВСЕ группы.

Рис. Настройка отображаемых на выбранном экране групп печати

Остальные настройки раздела "Screens Settings"

Просмотреть и настроить по необходимости остальные параметры раздела "Screens Settings".

Таблица №1 - Остальные параметры "Screens Settings"

№ п.п. Параметр Описание
1 Auto mark first record if record count more then one screen
  • При этой настройке, если заказы полностью заполнили первую страницу экранной формы, то следующее блюдо, которое должно отобразится на второй странице, отобразится на первой странице самым последним в списке, т.к. самое первое блюдо с первой страницы будет автоматически сброшено, если экрану назначено событие «opReadyDish» или это первое блюдо будет переведено в состояние в соответствии с событием, назначенным на этот экран.
2 History screen
  • При этой настройке и при условии, что запрос переписан в обратном порядке, на этом экране будут отображаться все заказы по какому-либо событию с уже присвоенным событием со всех экранов (например: можно сделать экран со всеми сброшенными (приготовленными) блюдам).

  • Для форм dishlist.fr3 и dline.fr3 и их разновидностей эта настройка используется для отображения различных статусов блюд (готовые, забранные). Если для этих форм эту настройку не использовать, то на таких экранах будут отображаться только блюда со статусом "Не готов" и при выборе других SQL на экране вообще ничего отображаться не будет.

3 Way of marking
  • Использовать для нумерации окон KDS один их 3-х вариантов.

Пример, настройки нумерации окон:

Рис. Варианты нумерации окон

  • Уникальное значение в пределах экрана (если номер 1 сброшен, то он может быть присвоен следующему заказу)
  • По номеру заказа RK
  • По номеру пакета RK7

Примечание: с версии KDS 1.3.0.4 -  добавлена новая опция "Mark whole order by order caption click", которая доступна только при выставленном "Way of marking: markByGenValues" или "MarkByOrderNumber". Позволяет выполнять настроенную поблюдную операцию над всем заказом при нажатии на заголовке заказа.

Таблица №2 - Остальные параметры "Screens Settings"

№ п.п. Параметр Описание
4

Barcode Scanner port

  • Указывается порт сканера при использовании технологии с для сброса заказа по штрих-коду (используется спец. штрих-код) – сделано под спецзаказ.
  • В стандартной конфигурации - НЕ использовать!
5

Barcode prefix

  • Используется для печати штрих-кода (исключить префикс «RK7 пробел» из кода) - сделано под спецзаказ. 
  • В стандартной конфигурации - НЕ использовать!
6

Mark first record by F1/Done

  • Если нажать "F1" (старая клавиатура) или "Сброс" (новая клавиатура), то будет выполнена выбранная для этой экранной формы операции для первого элемента в списке на экране.
  • Пример: для экрана DishList при ReadyDish, будет сброшен первый заказ из списка.
7 Confirmation on mark record 
  • Используется для экранов повара. При этой настройке при выборе блюда или заказа  будет появляться запрос, в котором можно будет выбрать или операцию для этого экрана (как и было запланировано) или отмену операции или отправку сообщения официанту: "msg for waiter" (на станцию, на мобильный официант, пейджер и т.д.).

Важно! Сообщение будет отправлено независимо от выбранной экранной формы, принципа подачи, операции и места в области заказа. Т.е. если выбрали пункт "Msg for waiter", то отправляемое сообщение будет содержать текст из настроек RK: например, "готово стол № ХХ" или "Вызов с кухни».

Отображение диалогового окна:

 

Рис. Дополнительный запрос на подтверждение действия и отправка сообщения официанту

  • При использовании ARM, если включена эта настройка, то обязательно должна быть включена и следующая (Use ARM-compatible confirmation window)

Рис. Настройка для ARM-контролера

Рис. Диалоговое окно подтверждения

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

Таблица №3 - Остальные параметры "Screens Settings"

№ п.п. Параметр Описание
8 Use ARM-compatible confirmation window
  • Использовать ARM-совместимые окна подтверждения. Используется только совместно с настройкой "Confirmation on mark record".
9 Send a message to the waiter when Ready dish (RK6 only)
  • Отправка сообщения о готовности одного блюда из заказа. Работает только при использовании события «ReadyDish» и только для RK6.
10 Move marked record to top
  • При какой-либо операции с заказом или блюдом в заказе, окно заказа переместиться на первое место в списке на экране.
11 Show some last operation
  • Используется при отладке, чтобы видеть какие операции свершались над блюдом (лог).

  • На ARM не работает.

  • Можно установить, сколько последних операций отображать и установить правила отображения.

Пример использования параметра "Show some last operation":

Рис. Выбор количества последних отображаемых операций

Рис. Параметры лога

  • На экране при таких настройках будет отображаться 5 строк лога. Следующая операция отобразится последней в списке, а первая строка из списка при этом удалится.

Рис. Отображение настроенного лога операций на экране

Таблица №4 - Остальные параметры "Screens Settings"

№ п.п. Параметр Описание
12 Group By: Print Group(True)/Order Number(False)
  • При этой настройке в позаказном отображении будет осуществляться группировка либо по группам печати или по номеру заказа (например: заказы с бара и кухня будут отображаться или в одном окне или в разных). Аналогично настройке "Join By Order".
13 Sound file or beep theme
  • При указании звукового файла в этом поле (пример:  C:\WINDOWS\Media\ringin.wav), при появлении нового заказа на экране KDS будет раздаваться звуковой сигнал (отслеживается нумерация заказов с запоминанием последнего номера и следующий по номеру заказ будет появляться на экране и сопровождаться звуковым сигналом).
14 Duration of sound
  • При использовании звукового сигнала, в этом поле можно настроить его длительность.
15 Use letter enumerate В этом поле определяется необходимость а Буквенных метках (спец. идентификаторах) заказа (нужна буква или нет – A, B, C, D).
16 Static letter number
  • При активной настройке "Use letter enumerate", в этом поле определяется сохранение Букв в базу.

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

17 Zoom
  • В этом поле можно указать коэффициент для размера экранной формы на экране станции (подбирается индивидуально).
18 Join By Order
  • Объединение блюд из разных групп сервис-печати в один заказ на KDS.

  • При этой настройке, если на кассе в одной сессии заказа были введены блюда с разными группами сервис-печати, то на экране KDS, только при установленном "REPORT" - "fullorder.fr3", все блюда этой сессии будут отображаться в одном заказе. При чем внутри этого заказа, они будут сгруппированы по группам сервис печати.

  • Без этой настройки, такой заказ на экране KDS при таких же условиях будет разбит на несколько заказов, в соответствии с количеством групп-сервис печати.

Пример отображения заказа при использовании параметра "Join By Order":

Рис. С настройкой "Join by Order"

Рис. Без настройки "Join by Order"

19 Group Combo Dish

Этот параметр позволяет отображать комбо блюда на экране.

При включенном параметре "Show Combo Dish As Line" блюда будут отображаться в виде строки, при выключенном - в вертикальном виде.

 Примеры отображения заказов при использовании параметра "Show Combo Dish As Line ":

Рис. С включенным параметром "Show Combo Dish As Line"
 
 

Рис. С выключенным параметром "Show Combo Dish As Line"

Примечание: Для того, чтобы комбо блюда отображались в правильном формате, необходимо в менеджерской станции в справочнике Настройки  Параметры  Установочные  Связь с другими системами  KDS и VDU  для параметра "Компоненты на KDS, VDU" в разделе Основное установить свойство "Значение" в "Только компоненты".

Если не выполнить эту настройку, при обмене через xml-интерфейс будут передаваться не все данные по кобмо блюдам, что приведет к их неверному отображению на экранах KDS.

Таблица №5 - Остальные параметры "Screens Settings"

№ п.п. Параметр Описание
20 Join By Order + OneKDSCheck (RK6)
  • Если на кассе RK6 используется серверная настройка  OneKdsCheck=ON (прописывается в Rkeeper6.ini на кассовом сервере), то наличие или отсутствие этой настройки не влияет на отображение заказа на KDS. Все блюда в рамках одной сессии будут отображаться в одном заказе, но без группировки по группам сервис-печати, т.е. в том же порядке, что и на кассе (можно использовать как эмулятор курсов подач, если курс подачи заводить как блюда).

  • Настройка  OneKdsCheck=ON работает в версии кассы, начиная с 6.97.1.

  • При этой настройке, заказа в «Контроле заказов» формируется как один заказ и порядок блюд в нем полностью соответствует порядку блюд, введенному в заказе на кассе. Т.е. создается не несколько заказов, по группам сервис-печати,  а один единый для сессии.

Важно! При создании такого заказа, ему присваивается первая группа сервис-печати (группа печати с минимальным шифром) из Редактора RK6 (шифр можно увидеть в streams.db). Необходимо в сервере KDS обязательно установить "галочку" у этой группы сервис-печати, в противном случае, эта группа сервис-печати будет отсечена и вообще заказ до сервера KDS не доберется.

Пример: Группа сервис-печати имеет минимальный шифр – 1 и называется «Печать». А блюда внутри заказа имеют группы сервис-печати с шифрами 3 (Кухня), 8 (Бар) и 10 (Горячий цех). Для отображения блюд на экранах KDS обязательно поставить галочку у всех четырех групп.

Рис. Пример настройки сервера KDS

  • При настройке экрана KDS по кнопке "F2", галочки у групп сервис-печати необходимо поставить только у реальных групп сервис-печати, которые используют блюда (Бар, Кухня, Горячий цех). У группы «Печать» она не принципиальна. Можно ставить, а можно и нет. Но если группа «Печать» используются блюдами для данного экрана, то ее устанавливать нужно в обязательном порядке.

Рис. Выбор групп печати на клиенте KDS 

  • При использовании настройки "Join By Order" и "OneKdsCheck=ON" заказ на экране KDS будет точно таким же, каким был введен на кассе (порядок блюд сохраняется) (заказ 1) и при OneKdsCheck=OFF (заказ 2).

Рис. Пример работы настройки "OneKDSCheck". Обратите внимание на расположение блюд в идентичных по содержимому заказах

Так же, в файле настроек FSVDU.ini  обязательно сделать настройку:  

PackLines=OFF 
  • В этом случае блюда не будут паковаться.

Рис. Отображение заказа при PackLines=Off

  • Если эта настройка будет включена, то будет происходить автоматическая паковка блюд и это нарушит порядок отображения блюд. На кассе они будут введены разными строками, а на экране KDS будут отображаться в упакованном виде.

Рис. Отображение того же заказа при PackLines=On

  • При работе с устройствами Ipod, для исключения группировки блюд по группам сервис-печати, в tms2.ini в секции [TMS] сделать настройку KDSSolid=1 (начиная с версии TMS 5.39). Эта настройка работает только совместно с серверной киперной настройкой OneKdsCheck=ON (см. первый заказ). При использовании OneKdsCheck=OFF, с Ipod заказы будут приходить, разделенными по группам сервис-печати и в разных окнах.

Рис. Пример заказа пришедшего с Ipod

Радел "General Settings"

Во второй закладке "General Settings" необходимо сделать основные настройки.

Рис. Окно настроек "General Setting"

Поле настроек - DataBase settings – Настройки для базы данных

 

Рис. Связь с базой KDS

Таблица №1 - Параметры "General Settings".

№ п.п. Параметр Описание
1 RK Version
  •  Устанавливается используемая версия RK (6 или 7).
2 Station Name 
  • Определяется имя станции KDS (задается вручную для win, а для ARM – поле оставить пустым).
3 Alarm Time (minutes)
  • Время в минутах (до наступления номинального времени готовки), за которое фон таймера изменится на заданный ниже цвет (Alarm Time Color).
4 Alarm Time Color
  • Цвет, на который изменится  фон таймера (в данном примере код цвета 255.128.0)

Пример:

Рис. Настройка параметра "Alarm Time Color"

Таблица №2 - Параметры "General Settings".

№ п.п. Параметр Описание
5 RS-232 Port
  • Не используется.
6 RS-232 Baud 
  • Не используется.
7 Use Scheduler
  • Если функция активизирована (установлена галочка), то в определенные периоды времени  возможна автоматическое переключение экранных форм.
  • Основная экранная форма задается в поле «Main report», а дополнительная в «Second report».
  • Периоды для замены основной экранной формы на дополнительную определяются в поле «Second report time» по указанному формату.

Пример:

Рис. Пример настройки параметра "Use Scheduler"

Таблица №3 - Параметры "General Settings".

№ п.п. Параметр Описание
8 Refresh Screens (milliseconds)
  • Время для обновления – желательно не перенастраивать
9 Refresh data (milliseconds)
  • Время для обновления – желательно не перенастраивать
10 Time to delay command (seconds)
  • Время задержки выполнения операции смены статуса блюда/заказа. Т.е. за это время еще можно отказаться от операции.
11 Localization
  • Локализация окна подтверждения операции (с версии - 1.3.0.7)

Дополнительные настройки клиента KDS

Изменение цвета полей в экранной форме 

В примере, описано изменение синего цвета поля на другой цвет. Открыв экранную форму в дизайнере отчетов (клавиша "D"), в коде формы, после "ScreenNumberOnBeforePrint(Sender: TfrxComponent)" найти и изменить следующий кусок заданного алгоритма:

begin
    if screenNumber.Color=clBlue then begin
    ScreenNumber.Color:=$0000DDDD;
end;

 - где $0000DDDD - rgb-цвет, можно указать другой цвет вместо синего.

Рис. Пример изменения цвета поля.

Дополнительные настройки сервера KDS

  • Указание групп сервис-печати  на сервере KDS никак не влияет на отображение их на станциях KDS и на формирование заказов на KDS. Они необходимы только для процесса отбора уже сформированных заказов
  • На KDS для сервера. Т.е. если какие-то заказы не нужны на сервере, то их можно отсечь этим способом (уменьшает загрузку сервера).
  • Если в Редакторе RK6 у потока сервис-печати не включена функция "Контроль приготовления", то группы сервис-печати все равно будут отображаться в настройках экрана KDS (ScreenOptions) и на сервере  KDS (Options), но только при этом никакие заказы на KDS с кассы "приходить" не будут!

Параметры конфигурационного файла  FSVDU.INI

С версии KDS - 1.3.1.2 и выше в настройках сервера KDS для RK7 добавлены следующие параметры FSVDU.INI:
UseOrderNameAsTable   - Необходимо включить если используются подсадки (стол.место) - в этом случае полный номер стола передается как OrderName
AutoChangeMainWaiter  - Обновление заказов при изменении основного официанта.
С версии KDS - 1.3.2 и выше внастройках сервера KDS добавлены следующие параметры FSVDU.INI:
DelayTimeSec          - Возможность задержки отправки сообщения о готовке блюда (в секундах)
DelayedPrintGroups    - Указание групп печати через запятую, аналогично настройке на клиенте "PrintGroups".

Настройка связи с контроллерами T700 и IN-MO6A

Введение

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

Мини-компьютер T700

Данная модель контролеров пришла на смену предыдущим версиям ARM-контролеров производства UCS описанных в статье http://support.ucs.ru/ru/node/7191. Контролер T700 фактически представляет собой  системный блок минимальных размеров со специальной рамкой крепления на стену. На корпусе имеется кнопка включения/выключения питания с подстветкой и разъемы:

  1. VGA - 1 шт.
  2. Lan - 1 шт.
  3. Питание (OUT - 5V DC 2A) - 1 шт.
  4. USB - 3 шт. 
  5. Выход на динамики и микрофон.

 Также, в комплекте идет специальная клавиатура VDU с USB-разъемом для подключения к контролеру T700. Клавиатура внешне такая же как использовалась на ARM-контролерах UCS предыдущего поколения (описаны в этой статье - http://support.ucs.ru/ru/node/7191 ). Но сходство чисто внешнее, прошивка клавиатуры изменена для работы с новым блоком, а также изменен и разъем для подключения. В остальном, сама клавиатура та же, работает так же, приложение VDU использующееся на новом контролере практически то же самое. Т.е. технология работы с ПО VDU не изменилась. Поменялось только железо и технология установки ПО на новое устройство.

Важно! Поддержка сенсорных экранов не реализована! Для управления используется только клавиатура!

Комплектация

  • Контролер T700 с рамкой крепления на стену.
  • Блок питания (In - 220-240V 50-60 Gz, OUT - 5V DC 2A).
  • Клавиатура VDU с USB-разъемом.
  • Коробка, документация, диски с драйверами, винты крепления.

Мини-компьютер IN-MO6A 4USB (N380) (с 01.05.2015)

  • Внешне немного отличается от контролеров T700.
  • Имеет на корпусе следующие разъемы:
  1. VGA - 1 шт.
  2. Lan - 1 шт.
  3. Питание (OUT - 5V DC 2A) - 1 шт.
  4. USB - 3 шт. 
  5. Выход на динамики и микрофон
  • Загружаемый (при предпродажной подготовке) на данный контролер образ, отличается от образа загружаемого на T700. 

Важно! в случае порчи образа, восстановить работоспособность контролера можно только в офисе (ремонтном отделе) компании ЮСИЭС!

  • Принцип настройки и работы тот же, что и контролеров T700.

Важно! Хотя в названии стоит - "4USB", на корпусе всего 3 USB порта!

Комплектация

  • Контролер IN-MO6A с рамкой крепления на стену.
  • Блок питания (In - 220-240V 50-60 Gz, OUT - 5V DC 2A).
  • Клавиатура VDU с USB-разъемом.
  • Коробка, документация, диски с драйверами, винты крепления.

Установка и запуск контролера в качестве VDU (Video Display Unit). На примере - T700

Все контролеры T700 проходят предпродажную подготовку. Т.е. отдельного образа на них "заливать" (как это было с предыдущим поколением устройств) не нужно. Операционная система (Win CE 6.0) уже проинсталлирована, ПО VDU также уже установлено. Необходимо распаковать устройство. Подключить питание. Подключить к ЛВС стандартным патчкордом. Подключить монитор, который будет использоваться при работе с VDU. Подключить клавиатуру. После включения питания и загрузки устройства сазу должен отобразиться экран запущенного VDU:

 

 Необходимо отметить, что при первом запуске, в обязательном порядке устройство при загрузке должно получить IP-адрес через DHCP. Т.е. как и предыдущее поколение VDU-KDS контролеров необходимо организовать и использовать DHCP-сервер. Иначе, в строке (отмечено на рисунке выше) будет отображаться внутренний IP-адрес (127.0.0.1) и подключение к устройству по сети будет недоступно, а значит и его настройка. Настройка DHCP-сервера описана в статье - http://support.ucs.ru/ru/node/7191.

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

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

Если адрес получен, при помощи клавиатуры можно войти в настройки VDU, где прописать код лицензии, VDU ID и прочие параметры работы с кассой R-KEEPER. В этом плане ничего не изменилось.

Настройки касс RK6 и RK7 для работы с VDU не изменились. Т.е. в RK6 на кассу в \RKCLIENT подкладывается VDUUDP.DLL и в RKEEPER6.INI прописывают параметры VDUID= и VDULevel=, а в RK7 настраивается по статье - http://support.ucs.ru/ru/node/5259

Дополнительные возможности - VDU Manager.exe

В этом разделе рассмотрим дополнительный функционал по работе с устройством T700. При работе с устройством периодически может возникать необходимость прямого доступа к устройству. Для этого используется дополнительное приложение - VDU Manager.exe. Дистрибутив приложения и отдельно инсталляцию VDU можно взять отсюда - ftp://ftpint.ucs.ru/r-keeper/VDU/T700/VDU.zip. Приложение запускается на ПК с ОС Windows и позволяет выполнять некоторые действия с работающими контролерами:

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

 

Примечание: Для видимости устройства в VDU Manager на нем должно быть запущено приложение Launcher.exe (поставляется и устанавливается из дистрибутива VDU для WinCE)

 

Обновление/установка ПО VDU (Вариант I, через T700manager)

  • Кнопка "Install" - позволяет выполнить обновление ПО VDU на устройстве. Для этого, в том же каталоге откуда запущен VDU Manager должен находиться каталог \ARM_UPDATE, в котором находится фактически обновленная версия программы VDU. Содержимое каталога:
\fonts
iodrv.dll
kudrv.dll
Install.exe
Launcher.exe
rostvdu.exe
silent_install.exe
colors.ini
install.ini
vdu.ini

При обновлении будут перезаписаны все файлы ПО VDU на устройстве. Если необходимо сохранить настройки VDU при обновлении, в т.ч. и параметры лицензии, можно убрать из каталога \ARM_UPDATE конфигурационный файл vdu.ini. 

  • Кнопка "Explorer" - позволяет на выбранном контролере запустить Explorer.exe, что позволит полноценно работать в самой ОС Win CE, т.е. - подключить обычную клавиатуру и мышь (для этого, на корпусе предусмотрены дополнительные USB), получить доступ к панели настроек, сетевым настройкам и пр. Например, вызвав explorer.exe появится стандартная панель задач с  кнопкой "Пуск", соответсвенно можно вызвать "диспетчер задач" и выключить приложение VDU тем самым получив полный доступ к рабочему столу.

Важно! Изначально, explorer.exe в ОС отключен и вместо него загружается ПО VDU, что исключает несанкционированное вмешательство в работу контролера.

  • Кнопка "KillEx" - соответсвенно, гасит процесс explorer.exe на контролере (т.е. после выполнения необходимых настроек можно вернуться обратно в оболочку ПО VDU).
  • Кнока "VNC" - на контролере заранее предустановлен Ultra VNC-сервер, кнопка запустит его на контролере в принудительном порядке. Если установить на ПК Ultra VNC Viewer, то можно будет подключиться удаленно к рабочему столу устройства:

 

Далее, в комплекте с устройством идет предустановленная утилита основных настроек - Setup.exe - ярлык утилиты выведен сразу на рабочий стол - см.рисунок выше.

Настройка экрана

  • Для корректного отображения экрана VDU через утилиту Setup.exe можно настроить разрешение экрана (кнопка - "Resolution"):

 

Фактически, четче всего экран ПО VDU отображается в двух разрешениях: 1024*768 (формат - 4:3) и 1280*1024 (широкоформатный). В остальных разрешениях четкость изображения может быть хуже.

Настройка сети

  •  В том же меню Setup.exe, имеется кнопка "LAN Setup", которая вызывает окно настроек сетевых компонентов:

 - соответсвенно, есть возможность использовать как динамические так и выставить пользовательские (статические) настройки сети.

Информация о системе

  • В Setup.exe кнопка "Machine Info" - позволяет отобразить основную информацию о системе:

 

Заводские настройки

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

  • Также, приложение Setup.exe позволяет вернуть ОС устройства в первоночальное состояние - "Restore Factory Settings". При использовании, этой возможности, ОС будет приведена в первоначальное состояние, при этом ПО VDU будет удалено с носителя устройства. Если эта функция была выполнена, то при перезагрузке устройства на экране появится следующее:

  • Далее, нужно войти в "Options" и задать определенные настройки.

Остальной функционал настроечного приложения Setup.exe малоинтересен.

Обновление/установка ПО VDU (Вариант II, из под OC winCE)

Обновление, как уже писалось выше, можно производить либо, при помощи обновленного дистрибутива программы VDU через VDU Manager, либо, есть и второй вариант - можно подключить USB-FLASH (она определится в системе) с дистрибутивом (\ARM_UPDATE) непосредственно к контролеру, при помощи VDU Manager выйти на "Рабочий стол", зайти на накопительный диск и из каталога \ARM_UPDATE запустить Install.exe. Соответсвенно, ПО будет проинсталлировано на диск C:\  устройства в папку \VDU (C:\VDU).

  • Кнопка "GET INI" - позволяет скачать с контролера себе на ПК файл VDU.INI - например, что бы проверить или сохранить его настройки.

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

Как писалось выше, лицензируется только ПО VDU - код активации привязан к коду ресторана и запрашивается в нашем отделе лицензирования. Т.е. так же как и в предыдущих версиях.

Установка и запуск T700 в качестве KDS-клиента (Kitchen Display System)

Данный контролер, также можно использовать совместно с ситемой KDS, для запуска KDS-клиентов. Для этого необходимо уметь ставить KDS, а также быть знакомым с предыдущими реализациями KDS-клиента на кантролерах UCS.  Или хотя бы, ознакомиться предварительно со следующими статьями http://support.ucs.ru/ru/node/312 и http://support.ucs.ru/ru/node/7191, т.к. данная установка, настройка и запуск во многом перекликается с предыдущими реализациями. Тем не менее, ниже постараемся рассмотреть основные пункты установки и настройки.

Чтобы запустить KDS-клиент на данном контролере необходимо:

  • Установить и связать ПО KDS с RK6 (статья по установке и настройке - http://support.ucs.ru/ru/node/312) или с RK7 (статья по настройке - http://support.ucs.ru/ru/node/7876#header-11). Проверить, что софтовый KDS-клиент запускается нормально, и что заказы на него приходят (т.е. система KDS работает).
  • Установить DHCP-сервер (по аналогии с этой статьей - http://support.ucs.ru/ru/node/7191#header-3). Подключить контролер в сеть и запустить (загрузится экран VDU). Соответсвенно, необходимо переустановить ПО на контролере с VDU на KDS.  Для этого:
  • Скачать с FTP дистрибутив KDS-клиента + T700Manager например, - ftp://.../r-keeper/KDS/ARM/KDS_T700_Beta.7z. Распаковать, запустить приложение T700Manager.exe. Далее, по аналогии с предыдущим разделом данной статьи. Т.е. через T700Manager выбрать контролер и нажать кнопку "Install" для обновления ПО на контролере из папки ARM_UPDATE. После обновления, контролер перезагрузится и вместо экрана VDU станет отображаться белый экран KDS с серийным номером KDS-устройства по центру.

  • Установить rk7tmsrv (терминальный сервер) так же, как это было и на предыдущих версиях контролеров используемых совместно с системой KDS. Для отображения экрана KDS на ARM-устройстве используется спец. терминальный сервер RK7tmsrv.exe. На ftp выложено несколько сборок этого сервиса. Необходимо брать последнюю по дате обновления, например - ftp://.../r-keeper/KDS/ARM/RK7tmsrv_7_3_7_11.7z.

Сразу рекомендуется обновить в используемой сборке файлы rkloader.dll и rkloader.ini. Самая актуальная версия этих файлов, как правило содержится в каталоге дистрибутива используемой версии KDS. Например - ftp://...r-keeper/KDS/1.2.x/KDS_1.2.8.4.7z  (каталог -\rkloader).

  • Далее, нужно настроить путь к клиенту KDS и идентификатор устройства в файле rkLoader.ini:
[CESETTINGS]
.......................
Application=С:\UCS\KDS\Client\kdsclient.exe
CEStations=KDS005A80000006;
- где:
- С:\UCS\KDS\Client\kdsclient.exe   - полный путь к исполняемому файлу клиента KDS, который вы настроили ранее
- CEStations=KDS005A80000006        - идентификатор вашего ARM-устройства
Необходимо учесть, что содержимое инифайла может быть разным в зависимости от используемой версии файла rkloader.dll
Если, устройство не одно, в параметре CEStations нужно указать все идентификаторы через "точку с запятой":
CEStations=KDS005A80000006;KDS005A80000007;KDS005A80000008;
После запуска BootImpLoader.exe устройство должно подключится к серверу и отобразить экран клиента KDS.
  • Чтобы сделать настройки клиента KDS, который отображается на экране ARM-устройства, нужно в окне терминального сервера RK7tmsrv.exe нажать правой кнопкой мыши и выбрать Show Дополнение **************************
 
В последних версиях изменена технология сетевого взаимодействия - вместо протокола UDPi используется протокол TCP/IPi, чтобы исключить "зависание" контроллеров после их выключения/включения. Использование протокола TCP/IP имеет некоторые особенности - компьютер, на котором будет запущено приложение RK7tmsrv.exe должен иметь дополнительный IP-адрес 172.31.32.100 - именно по этому адресу будут пытаться подключиться все контролеры KDS.
 
Если на объекте контролеры KDS получают IP-адреса с общего DHCP-сервера, то может возникнуть ситуация, когда они не смогут подключиться к адресу 172.31.32.100 из-за проблем с маршрутизацией. Решений может быть несколько - либо настроить в сети маршрутизацию между местной локальной сетью и сетью 172.31.32.ххх (задача администратора сети), либо использовать автономный DHCP-сервер (есть в архиве) и с помощью него выдавать контролерам адреса из пула 172.31.32.ххх.

Важно! Поддержки звуковых оповещений в KDS-клиенте для ARM-контролера пока не реализовано. Если нужен звук - необходимо использовать KDS-клиент под Win32.

Подключение контроллера UCS.15.02.00 к KDS и VDU

С 01.06.2020 продукт KDS больше не поддерживается. Используйте KDS PRO. Пользователям предоставляется скидка в 70% на переход.

 

Введение

Общеизвестно, что комплексы автоматизации RK6 и RK7 широко используют дополнительные возможности по "контролю приготовления блюд", в частности - KDS (Kitchen Display System) и VDU (Video Display Unit). О них и пойдет речь в данной статье, но не о софтовой части, а о том, что KDS-клиент и VDU могут быть реализованы не только на базе обычного ПК, но так же и на базе специальных ARM-контролеров производства компании UCS.

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

Если, планируется использовать ARM-устройство в качестве клиента KDS - в этом случае необходимо получить лицензионный образ, который будет привязан непосредственно к этому устройству. Для получения, создается отдельный запрос на трекере, в котором указывается ID того устройства для которого нужен образ. Никаких дополнительных параметров лицензирования не применяется.
 
Если, планируется использовать ARM-устройство в качестве VDU - в этом случае, образы берут с ftp://.../r-keeper/VDU/IMAGES_v3.2/    - (для версии №2 - с белой клавиатурой). После установки образа в память устройства, сам софт необходимо пролицензировать. Т.е. зайти в настройки VDU, где ввести в поля лицензии, код активации полученный из отдела лицензирования компании UCS.

Состав оборудования

  • Контролер KDS-VDU (Версия №1 или №2)
  • Блок питания (12В - 0,3А)
  • Клавиатура KDS-VDU (специализированная, Версия №1 - черная, Версия №2 - белая)

  • Монитор - подойдет любой (VGA-разъем). Приобретается отдельно. Выбирается исходя из размера и разрешения.

Сам контролер представляет из себя специально разработанный системный блок, на базе чипсета ARM, с ОЗУ, накопителем (Compact Flash) и необходимыми разъемами под LAN, VGA, RJ-12 (под спец.клавиатуру), USB. Питание - 12В, - 0,3А. На момент написания статьи (18.12.2013) было реализовано две версии данного оборудования:

Версия arm-контролера №2

Актуальная на данный момент версия. Состоит из контролера KDS.UCS.15.02.00 (VDU-Win 5.0) + клавиатура KDS.UCS.15.02.03 (белая). Контролер универсальный, может быть использован как для запуска VDU, так и для запуска KDS-клиента. Содержит постоянную память (накопитель - Compact Flash, 2Гб или выше), куда может быть записан образ с ПО, чтобы в дальнейшем использовать его на постоянной основе. Имеет функцию внутреннего сброса.

Важно!  Все современные ARM-контролеры идут с встроенной флеш-памятью!

Версия arm-контролера №1

Не выпускается на данный момент т.к. является устаревшей. Выпускалась и продовалась до Июля 2012 года. Контролер не имел функции внутреннего сброса. Работал с другой версией клавиатуры (черная). Содержал постоянную память (CF) - если использовался для VDU. И не содержал накопителя, в случае использования в качестве KDS-клиента. 

Важно! Старая и новая клавиатуры между собой не взаимозаменяемы. У них разная прошивка, а значит и загружаемые образы с ПО отличаются. Клавиатура используется в обязательном порядке.

В плане установки и настройки, первая и вторая версии устройств практически ничем не отличаются между собой.

ARM-контролер без встроенной (CF) памяти 

Важно! Используется только для реализации KDS-клиента. Для VDU - наличие памяти обязательно!
 
  • Дистрибутивы находятся на ftp://.../r-keeper/KDS/ARM/.
  • Для запуска устройства требуется наличие DHCP-сервера в локальной сети. Если такового нет, можно использовать небольшой автономный сервер - см. архив tftpd32.zip. Распаковывается, устанавливается, настраивается диапазон пула IP-адресов и запускается.
 
 
 
Для базовой загрузки на устройство образа используется утилита BootImpLoader.exe. Сборки на FTP периодически меняются, на момент написания статьи например, отдельно лежат BootImpLoader_KDS.rar, BootImpLoader_VDU.rar - фактически они идентичны. Так что использовать можно любой из них.
В файле boots.cfg необходимо прописать строку вида:
KDS005A80000006->KDS.bin
- где KDS005A80000006 - идентификатор устройства (можно считать с экрана монитора при включении контролера - первая строка), KDS.bin - файл образа для загрузки в устройство.

Важно! Файл образа для работы с KDS-клиентом генерируется ответсвенными специалистами UCS под каждое конкретное устройство и предоставляется компанией UCS по отдельному запросу! 

Если, устройств несколько, в файле boots.cfg необходимо прописать строку для каждого из них, с указанием устройств и назначенным для загрузки в них образам.
KDS005A80000006->KDS1.bin
KDS005A80000007->KDS2.bin
KDS005A80000008->KDS3.bin
Далее, необходимо запустить BootImpLoader.bat и устройство должно автоматически найти сервис и загрузить свой образ. Приложение BootImpLoader.exe можно запускать в качестве сервиса - для этого нужно его запустить с ключем -install:
BootImpLoader.exe -install
 
 
Важно! Ошибка "package lost" - чаще всего говорит о проблемах настройки сети, т.е. загрузчик отправляя пакеты образа на устройство теряет с ним связь и делает повтор передачи того или иного пакета. Если пакеты совсем не проходят, то желательно настроить ПК на один единственный сегмент сети, тот в котором работают ARM-устройства. Все дополнительные сети либо убрать, либо грамотно проверить и настроить маршрутизацию между ними.

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

Следующим этапом будет установка стандартной системы KDS (если этот шаг уже был сделан, пропускаете его). Установка системы KDS описана в отдельной статье - http://support.ucs.ru/node/312 - необходимо выполнить все по инструкции и добиться успешного запуска сервера и для проверки, клиента KDS на том же ПК, где и сервер. Т.е. система должна быть полностью в рабочем состоянии!

Для отображения экрана KDS на ARM-устройстве используется спец. терминальный сервер RK7tmsrv.exe. На ftp выложено несколько сборок этого сервиса. Необходимо брать последнюю по дате обновления, например - ftp://.../r-keeper/KDS/ARM/RK7tmsrv_7_3_7_11.7z.

Сразу рекомендуется обновить в используемой сборке файлы rkloader.dll и rkloader.ini. Самая актуальная версия этих файлов, как правило содержится в каталоге дистрибутива используемой версии KDS. Например - ftp://...r-keeper/KDS/1.2.x/KDS_1.2.8.4.7z  (каталог - \rkloader).

Далее, нужно настроить путь к клиенту KDS и идентификатор устройства в файле rkLoader.ini:

[CESETTINGS]
.......................
Application=С:\UCS\KDS\Client\kdsclient.exe
CEStations=KDS005A80000006;
- где:
- С:\UCS\KDS\Client\kdsclient.exe   - полный путь к исполняемому файлу клиента KDS, который вы настроили ранее
- CEStations=KDS005A80000006        - идентификатор вашего ARM-устройства
Необходимо учесть, что содержимое инифайла может быть разным в зависимости от используемой версии файла rkloader.dll
Если, устройство не одно, в параметре CEStations нужно указать все идентификаторы через "точку с запятой":
CEStations=KDS005A80000006;KDS005A80000007;KDS005A80000008;
После запуска BootImpLoader.exe устройство должно подключится к серверу и отобразить экран клиента KDS.
Чтобы сделать настройки клиента KDS, который отображается на экране ARM-устройства, нужно в окне терминального сервера RK7tmsrv.exe нажать правой кнопкой мыши и выбрать Show Дополнение **************************
 
В последних версиях изменена технология сетевого взаимодействия - вместо протокола UDP используется протокол TCP/IP, чтобы исключить "зависание" контроллеров после их выключения/включения.
Использование протокола TCP/IP имеет некоторые особенности - компьютер, на котором будет запущено приложение RK7tmsrv.exe должен иметь дополнительный IP-адрес 172.31.32.100 - именно по этому адресу будут пытаться подключиться все контролеры KDS.
И еще один нюанс - если на объекте контролеры KDS получают IP-адреса с общего DHCP-сервера, то может возникнуть ситуация, когда они не смогут подключиться к адресу 172.31.32.100 из-за проблем с маршрутизацией. Решений может быть несколько - либо настроить в сети маршрутизацию между местной локальной сетью и сетью 172.31.32.ххх (задача администратора сети) либо использовать автономный DHCP-сервер (есть в архиве) и с помощью него выдавать контролерам адреса из пула 172.31.32.ххх.

Состав дистрибутива

  • kds_167.zip - образы дл вашего устройства (под разные разрешения)
  • BootImpLoader.zip - загрузчик
  • tfpd32.zip - автономный DHCP-сервер
  • KDS.zip - обновленный клиент KDS, записать в рабочую директорию вместо текущего (полный дистрибутив KDS можно взять на ftp://.../dealers/r-keeper/KDS/ )
  • Loader.zip - версия RK7 Tiny Server с поддержкой TCP/IP

ARM-контролер с встроенной памятью (CF)

В архиве дистрибутива две утилиты для работы с контролерами:
  • svc.exe - для поиска и отображения информации по запущенным контролерам
  • fserver.exe - утилита для записи образа в NAND-память контролера
Для подключения к контролеру надо знать его IP-адрес - если не знаем, запускаем утилиту svc.exe (ftp://.../r-keeper/VDU/TOOLS/), она автоматически  обнаружит все  запущенные  устройства  и  отобразит их адреса (чтобы утилита svc.exe увидела  контролер,  на нем должен быть загружен любой стандартный образ - если образа нет, надо его загрузить с помощью BootLoader-f)
 
Когда IP-адрес определен, запустить с командной строки:
telnet <IP-адрес> 1234

Важно: Подключения к контролеру через telnet возможно только после загрузки образа - если попытаться подключиться в режиме загрузчика, на экране контролера будут возникать ошибки "!CheckUDP:not UDP (proto = 0x00000006)"

 
После успешного подключения на экране отобразится следующее меню:
KDS005A80000XXX
HELP:
H - this page
I - get flash ID
R - read flash 0 page
U - read uniq
W - write flash 0 page with trash
E - erase all flash pages
L - load flash from server
S - save flash to server
D - dump flash to server
B - load bootloader(not realized)
Y - load NK to NAND (as hdd)
X - reboot target
Q - quit
LOCK - toggle write enable
Write Disabled
- где KDS005A80000XXX - идентификатор контролера.
 
Для проверки контролера вводим команду "I", на экране должна отобразиться след. строка:
I
0000EC75
OK:00000000
Если вместо 0000EC75 что-то другое, проблема с памятью контролера.
 
Для стирания всех данных в контролере используется команда "E", при этом стирается ВСЯ память (в том числе область, где хранятся настройки программ (например, VDU или BERG).
 
Важно: Возможно повредить контроллер, если сделать что-то неправильно!
 
Для прошивки нового образа не обязательно выполнять полное стирание. Последовательность действий для загрузки в память контролера (NAND) нового образа:
  • Переименовать новый образ в NK.BIN
  • Запустить fserver.exe
  • Запустить telnet <IP-адрес> 1234 (если не запущено)
  • Напечатать  LOCK  и  нажать <Enter> - устройство перейдет в режим записи (последняя строка должна быть "Write Enabled")
  • Напечатать  "L"  и нажать <Enter> - начнется процесс передачи и записи образа (fserver.exe должен быть запущен!)
  • После  окончания  процесса  напечатать  "X"  и нажать <Enter> - устройство перезагрузится с новым образом

Чтение/запись конфигурационного файла

Возможно прочитать настройки (ini-файл) с устройства и сохранить их на контроллер ARM используя утилиту FSERVER.EXE. Версия вашего контроллера должна быть не ниже 2.2.

2.1. Запустите FSERVER.EXE

2.2. Откройте командную строку и пропишите следующее. Выполнение каждой команды как обычно происходит при нажатии клавиши "Enter".

telnet IP_address 1234

открыть соединение с хостом

LOCK

можно модифицировать память на устройстве VDU

G

сохранит файл VDUSAVE.BINI на диск

2.3. Следует сохранить VDUSAVE.BINI файл в текстовом виде (он в двоичном виде, преобразовывается с помощью bini2ini.exe)

2.4. После запуска bini2ini.exe будет создан файл vdusave.bini

2.5. Измените файл vdusave.bini (используя "блокнот") и сохраните его как VDU.INI. 

2.6. Конвертация обратно в бинарный файл происходит при использовании ini2bini.exe. С ее помощью следует создать файл vdu.bini

2.7. Для передачи новых настроек на ВДУ, вернемся к CMD:

напечатать "C" - будут скопированы настройки на устройство ВДУ
 
напечатать "X" - будет перезапущено устройство ВДУ

 

ВложениеРазмер
nand.rar15.03 КБ

Подключение сканера штрих-кодов к KDS

С 01.06.2020 продукт KDS больше не дорабатывается. Используйте KDS PRO. Пользователям предоставляется скидка в 70% на переход.
Поддержка прекратится 31.12.2020.

 

Введение

При использовании программного комплекса RK7 + KDS (Kitchen Display System), обычно маркировка готовых заказов на экранах KDS-клиента происходит либо сенсорно (если используется сенсорный экран), либо при помощи спец.клавиатуры (например, вводится код позиции и наживается клавиша "Enter"). Это стандартный функционал. В качестве дополнительного решения, в случае когда пользоваться тачскрином или клавиатурой не удобно, в дополнение к ним можно использовать обычный сканер штрих-кодов (интерфейс - RS-232 или эмуляция). Т.о. настраивается KDS и сервис-печать параллельно. На сервисные принтеры будут выходить модифицированные документы заказов со штрих-кодами каждого блюда (т.е. в штрих-коде зашифрован код блюда). При сканировании этого блюда сканером в KDS-клиенте, будет выполняться заранее запрограммированное действие.

О настройке данной конфигурации и пойдет ниже речь.

Важно!!! Статья подразумевает, что RK7 на объекте уже установлен, сконфигурирован и работает. KDS также уже проинсталирован, связан с RK7. На KDS-клиенте заказы при сохранении отображаются и обрабатываются (например, при помощи клавиатуры). 

Важно!!! Работа со сканером поддержана только на KDS-клиенте под Win32 (на клиентах работающих на ARM-контролерах данный функционал не поддерживался, т.е. не тестировался). Т.е. если на мобильной ОС (Win CE) удасться скажем подключить USB-сканер и сделать ему эмуляцию под RS-232, то никких ограничений быть не должно. Т.е. сложность заключается в подключении сканера непосредственно к ARM-контролеру и его первоначальной настройки из мобильной ОС. На момент написания статьи (08.04.2014), такая конфигурация не тестировалась.

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

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

1. Настроить связь RK7 с KDS.

2. Настроить схемы печати с использованием принтеров севис-печати. Принтеры должны быть нефискальными (Epson или Star-совместимыми) иначе возможны технические сложности с выведением штрих-кодов на печать. В свойствах подключенного принтера на печать штрих-кода влияют следующие параметры:

3. Создать копию макета сервис-чека (с предустановленного):

- затем войти в редактор форм, и внести следующие изменения:

- т.е. в раздел "Dishes" добавить новое поле, и в свойства поля добавить переменную, где:

Barcde   - преобразование в штрихкод, 
111111   - ПРЕФИКС -  это любые цифры, необходимы что бы печатаемый штрих был длиннее т.к. многие сканеры короткие штрихкоды могут просто не воспринимать. Нужно будет его указать в настройках kdsclient.
KDSIdent - код блюда, собственно его то и нужно преобразовать в штрихкод.

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

- Запустить кассу, оформить заказ, получить распечаттаный документ сервис-чека со штрих-кодами блюд.

Настройки в KDS-клиенте (kdsclient.exe)

 - Запустить KDS-клиент, зайти в его настройки ("F2") , где для нужных экранов настроить работу со сканером:

 - "Operation" - запраграммировать нужное действие, которое будет выполняться при сканировании (подробнее смотри в документации к KDS).

- "Way of marking" - выставить для RK7 значение - markByPacketNuber.

- "Barcode scanner port" - указать к какому порту подключен сканер штрих-кодов.

- "Barcode prefix" - указать то значение, которое было указано в переменной печатной формы сервис-чека. Смотри выше.

- Далее, нажать клавишу "Test" - и проверить работу сканера, считав штрих-код блюда с распечатанного ранее сервис-чека. Например:

 - на примере, видно что "111111" - это префикс (он будет отбрасываться), а "56" - это код блюда. Т.е. все настроено корректно. После теста, необходимо проверить работу сканера находясь непосредственно в настроенном экране KDS.

Настройка электронной очереди QMS

Введение

QMS — это программа для вывода на экран статуса заказов на экране в зоне выдачи. Гость сможет следить за статусом своего блюда на экране.

Чтобы зайти в настройки программы, в главном меню нажмите в правый верхний угол левой левой кнопкой мыши. 
Примерная зона нарисована на скриншоте.

Буква в заказе QMS — это код кассовой станции + номер буквы в алфавите соответствующий этому коду. Например, если код станции с которой делается заказ 1, значит номер будет высвечиваться А-01.
Со станции с кодом 3 - номер будет C-02 и так далее.

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

Минимальные требования для сервера QMS:

  • Операционная система — Windows 7 SP1
  • Процессор с частотой 1 Ггц
  • Оперативная память — 512 МБ
  • Место на жёстком диске — 850 МБ
  • На сервере должны быть открыты порты:
    • 443 для доступа к https://l.ucs.ru и https://weblate.ucs.ru/
    • 60606 для доступа к системе лицензирования

Минимальные требования для клиента QMS:

  • Операционная система — Windows XP
  • Установленные NetFramework 4 и Библиотеки VC Redist 2013
    • В Windows XP или при установленном Net Framework 4 необходим пакет обновлений KB2468871
    • В Windows 7 embedded необходим пакет обновлений KB2533623
  • Для использования флэш-элементов, Adobe Flash Player

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

Для работы с системой QMS необходимо наличие мастер-лицензии у объекта на сервере лицензирования.
Лицензия называется R-Keeper модуль QMS и бывает 2 видов:

  1. На 1 год — R-Keeper модуль QMS 12 мес ПО
  2. Бессрочная — R-Keeper модуль QMS ПО

Для активации достаточно иметь мастер-лицензию. Генерировать активную лицензию на сервере лицензирования не нужно. За вас это сделает программа. Подробнее процесс описан в разделе Активация лицензии.

Установка сервера

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

  1. Запустите файл QMS_server_setup.exe предварительно скачав его с FTP-сервера
  2. Выберите язык установки и примите условия лицензионного соглашения
  3. Выберите установку нового экземпляра
  4. Пропишите путь к каталогу в который будет установлен QMS сервер и указать имя устанавливаемого экземпляра
    Примечание. В адресе папки желательно отсутствие пробелов.
  5. Укажите порт, на котором будет работать сервер QMS
  6. Выберите папку меню Пуск для установки ярлыка сервера QMS
  7. Нажмите кнопку Установить
  8. После установки нажмите кнопку Завершить

После установки QMS сервер запускается и работает как служба.

Обновление сервера

Обновить сервер можно через установщик. Обновление сервера и шаблонов делаются отдельно. 

Скачайте с FTP-сервера свежую версию сервера и запустите. 


Выберите желаемый пункт.


Нажмите Обновить.

Установщик обновит сервер и перезапустит службу. Можно пользоваться программой.

Обновление шаблонов сервера

Шаблоны — это внешний вид клиента QMS. Во время первично установки, сервер применяет стандартные шаблоны. Если разработчики изменяют стандартные шаблоных, их необходимо обновлять.

Чтобы обновить шаблоны:

  1. Скачайте архив со стандартной темой с ftp://ftp.ucs.ru/rk7/other/QMS/QMS_server/Themes/
  2. Откройте клиент QMS и перейдите в Настройки > Отображение
  3. Внизу страницы в разделе Загрузка темы выберите скаченный архив
  4. Нажмите кнопку Применить
  5. Новые шаблоны применятся и клиент перезапустится.

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

Для установки QMS клиента необходимо выполнить следующие действия:

  • Запустите QMS_client_setup.exe предварительно скачав его с FTP-сервера
  • Выберите язык установки
  • Примите условия лицензионного соглашения
  • Выберите папку установки клиента QMS
  • Нажмите кнопку Установить
  • После завершения установки нажмите кнопку Завершить

Настройка подключения

Нажмите в главном меню правой кнопкой мыши и выберите пункт Настройки

Введите IP и порт сервера QMS. 

Укажите имя клиента QMS и нажмите ОК.

Активация лицензии

В первую очередь, в клиенте необходимо активировать лицензию.
Запустите файл QMS_Client.exe и авторизуйтесь с помощью дилерского логина и пароля. 

После авторизации выберите свой объект.

Существует 2 варианта активации лицензии:

  • Активация новой лицензии
  • Привязка существующей лицензии 

Выберите подходящую вам вкладку. Для активации новой лицензии выберите мастер-лицензию в списке под строкой Новая лицензия:

Нажмите кнопку Сгенерировать.

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

Нажмите кнопку Привязать.

После активации лицензии откроется главное окно электронной очереди.

Настройка связи с KDS Pro

Настройка KDS Pro

Перейдите на сайт https://kds.ucs.ru и создайте нового клиента для отображения заказов на QMS из KDS Pro.

Поставьте галочку Электронная очередь и введите название.

Созданная электронная очередь появится в списке Электронные очереди:

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

Откройте клиент QMS и зайдите в настройки, нажав в правый верхний угол.

Нажмите кнопку Новый сервер KDS. Укажите IP-адрес, порт и название станции, созданной в KDS PRO. Регистр имени станции должнен полностью совпадать с регистром имени в KDS PRO.

После этого сервер может быть выбран в списке доступных серверов. Обратите внимание на настройку параметра Таймаут между запросами на сервер. Чем меньше таймаут, тем быстрее будут изменяться статусы заказов в QMS.

Настройка связи с VDU 4+

Настройки в VDU

Зайдите в настройки VDU. Перейдите в раздел Интерфейсы > Сетевые параметры > Основные и выберите протокол VDU 3. Со 2 версией протокола QMS не работает.

На одной из VDU станций в настройках необходимо указать адрес и порт сервера QMS. Порт должен совпадать с портом обмена данными между QMS сервером и клиентом.
Перейдите в раздел Интерфейсы > Сторонние программы и укажите IP и порт сервера. Порт 8888 указан для примера.

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

Открываем настройки QMS клиента

Выбираем параметр "Тип отображения" - VDU

 

В основных настройках QMS сервер VDU появится в списке доступных только после того, как сам VDU отправит любой заказ на сервер QMS.

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

К системе QMS можно подключить несколько экранов. Настройки всех экранов будут одинаковы и все отображаемые заказы будут одинаковы. Для подключения экрана с уникальными настройками, нужно будет получать дополнительную лицензию и настраивать отдельный сервер QMS.

Авторизация в клиенте

Первый вход в QMS осуществляется автоматически с первого подключившегося клиента. Ему имя по умолчанию — Admin. Если войти не получается, то в настройках по правой кнопке мыши, можно вписать имя клиента вручную.

Чтобы получить доступ к QMS с других клиентов, их необходимо создать в основных настройках QMS, вкладка Клиенты.

При создании клиента укажите:

  • Уникальное имя;
  • Отступы экрана
  • Настройки автозапуска,
  • Выберите роль: Admin или User.
    Роли User запрещен доступ в настройки с главного экрана QMS клиента, и вызов настроек с экрана по нажатию правой кнопки мыши. Управлять настройками всех клиентов можно с любого клиента, имеющего роль Admin.
  • Заполните все поля и нажмите Принять.

Нажмите кнопку Сохранить.

Для связи созданного в настройках клиента с установленными через инсталятор необходимо осуществить процедуру активации.

Есть два способа активировать клиент: 

  1. По IP-адресу;
  2. В свойства клиента укажите код активации, который появился в окне клиента при первом запуске;
  3. В настройках клиента, нажав правую кнопке мыши, вручную впишите имя созданного клиента:

Пользовательские темы

Сервер QMS поддерживает смену тем. Сама тема представляет собой обычный zip архив. Применяется в настройках во вкладке "Отображение"

 

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

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

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

Сокращения

  1. Система KDS PRO — система
  2. Режим быстрых чеков — режим fastfood 
  3. Режим ресторан полного сервиса — обычный режим
  4. Кассовый сервер — кассовый сервер r_keeper_7. Подробнее в статье о кассовом сервере
  5. Сервер, клиент — если не указано иное, подразумевается сервер и клиент KDS PRO
  6. Личный кабинет — сайт kds.ucs.ru

Введение

Система KDS PRO предназначена для взаимодействия сотрудников кухни и зала ресторана с процессом приготовления блюд и выдачи их. KDS PRO дополняет r_keeper_7 и не работает без него.
В статье описана установка и настройка KDS PRO версии 1.3 и выше. Если вам нужна более старая версия, обратитесь к приложенному к статье файлу. 

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

Система состоит из нескольких приложений:

  1. Сервер
  2. Клиент
  3. Личный кабинет

Настройки KDS PRO хранится в личном кабинете, поэтому системе для работы требуется подключение к интернету. На компьютерах настройки хранятся в зашифрованном виде.

Поддерживается 2 режима работы: ресторан полного сервиса и fastfood. Режим по умолчанию — ресторан полного сервиса.
Характеристики работы в режиме fastfood:

  1. Товары при заказах моментально отображаются на клиентах KDS PRO 
  2. При появлении изменений на кассе, кассовый сервер отсылает данные о них в дополнительный интерфейс. Заказанные позиции появляются в списке сразу. 
  3. Сервер KDS PRO знает об оплате заказа.
  4. Мобильный официант и киоск самообслуживания отсылают заказы через этот же интерфейс кассового сервера.

В обычном режиме KDS PRO опрашивает кассовые серверы на наличие заказов.

  1. Отображаются только сохранённые заказы, о факте оплаты сервер KDS PRO не знает.
  2. Заказы с киоска или мобильного официанта получаются таким же образом.

Система KDS PRO требует лицензирования. Для активации лицензии достаточно получить мастер-лицензию, которая проверяется онлайн. Мастер-лицензии можно активировать и распределить между серверами KDS в личном кабинете.

Обратите внимание, что при первом запуске сервера KDS PRO появляется надпись KDS Server NOT ACTIVATED— это нормально, просто продолжайте установку по инструкции. 

Установка сервера

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

  • Операционная система:
    • Windows 7 x32/x64 и выше;
    • Android 5.0 и выше;
  • Процессор: x32/x64 с частотой 1 ГГц и выше;
  • Оперативная память:
    • 1 ГБ для x32;
    • 2 ГБ x64;
  • Место на жестком диске: 512 Мб для обоих версий.
  • r_keeper не ниже 7.6.2.123
  • Java 1.8.0.192 и выше

У сервера нет установщика. Для установки скачайте и распакуйте архив KdsProServer.7z с FTP-сервера ftp://ftp.ucs.ru/rk7/other/KDS_PRO/ В пути к файлам сервера не должно быть пробелов, заменяйте их на "_" или "-".

В корневой папке найдите файл настроек kds_pro.config. Это текстовый файл, откройте его блокнотом и укажите свободный порт, как написано ниже. По нему клиенты системы будут подключаться к серверу:

webServerPort=1234

Примечание. Если версия сервера ниже 1.6, файл kds_pro.config находится в папке \bin\. Если его там нет — создайте. 

Сервер работает только через HTTPS. Для запуска нескольких серверов, необходимо указывать разные порты.
Если есть у вас есть фаерволл, добавьте в исключения исполняемый файл java.exe, который находится в папке установки java: \java\bin\.

Для простого запуска сервера запустите файл \KDSPRO\bin\runConsole.bat. Чтобы установить сервер как службу, есть группа bat-файлов, которые находятся в папке \KDSPRO\bin\. Их функционал описан ниже:

  • installService.bat — установить сервер как службу. Запускать от администратора. После установки службу необходимо запустить.
    Иногда, после установки службы, её нельзя запустить через оснастку Службы. В этом случае перезагрузите компьютер.
  • queryService.bat — возвращает состояние службы
  • runConsole.bat — запуск сервера как приложения
  • startService.bat — запустить службу сервера
  • stopService.bat — остановить службу сервера
  • uninstallService.bat — удалить службу сервера. Запускать от администратора

Важно: KDS PRO подключается к кассовому серверу. Поэтому запускайте его только при запущенном кассовом сервере.

Если вы остановили сервер, но новый пишет, что порт занят — откройте диспетчер задач и закройте сервер через него.

Настройка связи с r keeper 7 

Первым делом необходимо создать пользователя, который будет связывать KDS PRO и r_keeper_7.

  1. Перейдите в Персонал > Работники
  2. Создайте роль и назовите ее HTTP Access
  3. В свойствах роли поставьте галочку в разделе Менеджерские ограничения > Привилегия на объекты > HTTP Access/HTTP Драйвер
  4. Создайте работника в роли HTTP Access. Имя работника должно содержать латиницу без пробелов, например, http.
  5. Укажите пароль работника, активируйте и сохраните.

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

После создания пользователя необходимо настроить доступ к кассовому серверу по HTTP.

  1. Перейдите в меню Сервис > Станции и устройства
  2. В свойствах кассового сервера укажите свободный порт в поле HTTP Data Port. Этот порт позже нужно будет прописать в личном кабинете.
  3. В разделе HTTP Ограничения в каждом пункте выберите HTTP Access
  4. По желанию можно указать папку для сохранения лога запросов и ответов в поле HTTP log path
  5. Сохраните настройки.

После настройки интерфейса, необходимо добавить драйвер HTTP Order Notify на кассовый сервер.

  1. Для работы KDS PRO требуется драйвер не ниже 18 версии. Поэтому, если ваша версия ниже — перед добавлением интерфейса на кассовый сервер, скачайте драйвер с FTP: ftp://ftp.ucs.ru/rk7/other/KDS_PRO/Extra_Files/httpnotf.udb
  2. Скопируйте файл httpnotf.udb с заменой в папку сервера справочников
  3. Перезапустите сервер справочников. 
  4. Добавьте на кассовый сервер драйвер HTTP Order Notify:
  5. Настройте драйвер для всех кассовых серверов по необходимости.
  6. В параметре драйвера DestURLs пропишите строку подключения в виде:
https://имя_пользователя:пароль_пользователя@адрес_сервера:порт_сервера/orderTaker
  1. Имя пользователя и пароль указывать не обязательно. Вписывайте их только, если они есть в личном кабинете. Эти данные есть в личном кабинете, их описание ниже. Порт сервера находится в файле настроек kds_pro.config.
  2. Перейдите в Сервис > Интерфейсы и создайте новый интерфейс
  3. В разделе Файлы библиотек (DLL) выберите нужный ресторан и укажите драйвер кассовому серверу HTTP Order Notify
  4. Активируйте интерфейс и сохраните.

Настройка классификации

Настройте классификацию и категории товаров для KDS PRO.

  1. Перейдите в справочник Настройки > Параметры > Установочные > Связь с другими системами > KDS и VDU > Классификация для КДС и VDU
  2. В поле Ссылка выберите классификацию для КДС, например Сервис-печать
  3. В классификации обязательно должна быть хотя бы одна категория с блюдами. Только блюда в этой категории появятся в KDS PRO
  4. Сохраните и закройте классификации.

Личный кабинет

Личный кабинет предназначен для настройки системы KDS PRO. Для полноценной работы в личном кабинете требуется наличие действующей мастер-лицензии KDS PRO. Если мастер-лицензии нет, или она просрочилась, личный кабинет будет работать в режиме ограниченного функционала.
Описание элементов интерфейса на скриншоте ниже:

При первом входе в личный кабинет, доступна авторизация только по Dealer ID. В дальнейшем можно создать пользователей с ограниченными правами и авторизовываться под ними. После настройки системы создайте учётную запись администратора для владельца объекта.
Для работы в личном кабинете у дилерской учётной записи должны быть созданы корпорация и объект.

Связь с кассовым сервером

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

Выберите объект, нажмите кнопку Новый сервер:

Введите название сервера и выберите объект. Нажмите кнопку Создать.

Список серверов пополнится созданным. Нажмите кнопку  и выберите пункт Настройки:

Теперь нужно настроить подключение к кассовым серверам. Внизу страницы есть секция Кассовые серверы. Нажмите кнопку Добавить. В списке появятся поля для заполнения:


Введите:

  • Адрес кассового сервера. В нашем случае это 127.0.0.1. Указывайте локальный, а не внешний IP-адрес.
  • Порт кассового сервера. Этот порт задаётся в поле HTTP Data Port кассового сервера. В нашем случае это 8086.
  • Логин пользователя r_keeper_7, которого вы создали ранее. У него должен быть доступ к HTTP-интерфейсу.
  • Пароль этого пользователя.

Нажмите кнопку Сохранить. Кассовый сервер настроен.

Связь с сервером получения заказов

Зайдите в личный кабинет > настройки сервера > интерфейс получения заказов и заполните поля:

  1. Пользователь и пароль — необязательно. Можно указать для дополнительной защиты.
  2. Нажмите кнопку Сохранить в личном кабинете.
  3. Вставьте строчку подключения в поле DestURLs драйвера HTTP Order Notify кассового сервера. Если используется нестандартный порт, замените 1234 на свой порт.
  4. Интерфейс получения заказов настроен.

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

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

Мастер-лицензия KDS PRO бывает 2 видов:

  • Бессрочная — R-Keeper модуль KDS PRO ПО
  • По подписке — R-Keeper модуль KDS PRO 12 мес ПО

На 1 KDS-клиент необходимо получить 1 мастер-лицензию. Лицензия проверяется автоматически, не реже, чем раз в 10 дней.

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

Вас перенаправит на страницу получения лицензии.

Есть 2 варианта активации лицензии:

  • Активация новой лицензии
  • Привязка старой лицензии

Активация новой лицензии

  1. Выберите тип лицензии. Тип зависит от версии сервера
    1. Версия до 1.6.0
    2. Версии после 1.6.0
  2. Выберите подходящую мастер-лицензию в списке
  3. Укажите количество пользователей
  4. Нажмите кнопку Сгенерировать
  5. Сервер проверит лицензию и активирует её, если всё в порядке. Появится сообщение об успешном получении лицензии:
  6. Сервер станет зелёного цвета и у него появится информация о лицензии.
  7. Готово. Лицензия активирована.

Привязка существующей лицензии

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

Перейдите в меню Получить лицензию > Привязать

Выберите лицензию из списка и активируйте ее.

Удаление сервера

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

Соглашайтесь с подтверждением и сервер удалится.
Обратите внимание, что после удаления сервера, лицензии не освободятся. Их необходимо удалять на сервере лицензирования через заявку Удаление лицензии с виртуального ключа.

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

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

Введите название клиента, название профиля и выберите шаблон профиля. Шаблон профиля — это набор предустановленных настроек, примерно соответствующих названию профиля.

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

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

Нажмите на профиль, чтобы попасть в его настройки. Здесь можно:

  • Настроить жизненный цикл заказа
  • Настроить действия, возможные на этом клиенте
  • Настроить фильтр заказов
  • Настроить параметры, отображения заказа
  • Настроить внешний вид, звуки и таймеры
  • Сохранить настройки профиля для будущего использования
    1. Для этого нажмите кнопку экспорт в верхней части меню
    2. Введите название шаблона и нажмите кнопку Экспорт
    3. Теперь, при создании клиента можно выбрать созданный шаблон. Удаление шаблона пока не реализовано.

Пользователи

Это информационный раздел. Новых пользователей создавать необязательно. 

В личном кабинете существует 3 вида пользователей:

  • Дилеры — имеют все права
  • Администраторы — могут управлять пользователями и просматривать объекты
  • Пользователи — могут просматривать объекты

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

Нажмите кнопку новый пользователь. Заполните учётные данные и выберите роль. Указывайте актуальную почту, т.к. на неё придет письмо с паролем.

Нажмите кнопку Создать.

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

Объект появится в профиле пользователя. 

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

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

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

  • Операционная система:
    • Windows XP
    • Windows 7 и выше x32/x64;
    • Android 5.0 и выше;
  • Процессор: x32/x64 с частотой 1 ГГц и выше;
  • Оперативная память:
    • 1 ГБ для x32;
    • 2 ГБ x64;
  • Место на жестком диске: 512 Мб для обоих версий.

Для работы клиента тоже требуется установленная Java 1.8.0.192 и выше. Скачайте клиент с FTP-сервера: ftp://ftp.ucs.ru/rk7/other/KDS_PRO и распакуйте архив на жесткий диск. 

  • Клиент для Windows XP это файл KDSProClient_WinXP_setup-1.0.0.1
  • Клиент для Windows 7 и выше — это файл KdsProClient_Win7+.7z

Отредактируйте файл browser.cfg блокнотом. Обязательно укажите строчку с host и port, остальные настройки можно оставить по умолчанию.

host=127.0.0.1 ; адрес сервера KDS PRO. Адрес должен быть доступен по сети.
port=1234      ; порт сервера KDS PRO. Порт должен совпадать с настройкой сервера в kds_pro.config
top=0          ; координаты верхнего угла
left=0         ; координаты левого угла
width=1600     ; ширина окна
height=900     ; высота окна
zoom=0.7       ; масштаб

Запуск клиента

Для запуска клиента:

  1. Запустите сервер справочников и кассовый сервер
  2. Запустите сервер KDS PRO
  3. Запустите клиент KDS PRO. Он находится в папке KDSPRO\Client и называется run.bat

Во время первого запуска, клиент KDS PRO попросит ввести код активации. Для активации клиента:

  1. В личном кабинете выберите сервер KDS PRO
  2. Нажмите кнопку Получить код активации в правом верхнем углу
  3. На экране появится код активации. Скопируйте его.
    Срок действия кода 30 минут. Если время истекло, необходимо получить новый код.  Код активации нужно вводить для каждого клиента KDS PRO. При активации первого клиента будет активирован и сервер KDS PRO.
  4. Пропишите в клиенте KDS PRO полученный код и нажмите Ввод. Клиент активируется.
  5. После успешной активации, надпись Введите код авторизации сервера изменится на Введите название клиента. Введите название клиента из личного кабинета. Каждый клиент необходимо активировать 1 раз.
  6. Нажмите Вход и попадёте в рабочую форму. Создайте заказ на кассе и сохраните. Он должен появится в клиенте:
  7. Авторизация прошла успешно.

Интерфейс

В левом верхнем углу клиента есть 3 индикатора, обозначающие различные статусы.

Описание индикаторов слева направо:

  1. Статус лицензии
  2. Статус соединения с кассовым сервером
  3. Статус получения данных от кассового сервера
Возможные цвета:
  • Красный — неактивен
  • Жёлтый цвет лицензии — до даты окончания лицензии осталось менее 10 дней.
  • Зеленый — активен

Буква в заказе KDS — это код кассовой станции + номер буквы в алфавите соответствующий этому коду. Например, если код станции с которой делается заказ 1, значит номер будет высвечиваться А-01.
Со станции с кодом 3 - номер будет C-02 и так далее.

Решение проблем

Включение логирования клиента

Запустите клиент KDS PRO с параметром -DebugLog. В папке с клиентом должен появиться файл debug.log, который можно открыть как текстовый файл. В нем находится лог клиента.

Проблемы с обновлением

Если возникают ошибки после обновления KDS PRO, то необходимо:

  1. Остановить сервер KDS PRO
  2. Удалить файл kitchenbase.kdb
  3. Запустить сервер KDS PRO
  4. Авторизоваться в личном кабинете KDS PRO
  5. Авторизоваться в клиенте KDS PRO

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

Null pointer (Out of memory)

Важно: KDS PRO работает только с r_keeper не ниже 7.6.2.123.

ВложениеРазмер
httpnotf.zip1.35 МБ
ustanovka_i_nastroyka_kds_pro_do_versii_1.3.pdf1.68 МБ

Запуск KDS PRO на Android

Введение

Сервер и клиент KDS PRO можно использовать на телефонах и планшетах с Android 5 и выше. Перед прочтением, обязательно ознакомьтесь с основной статьёй о системе KDS PRO.

Установка сервера

Сервер следует запускать на устройствах, подключенных к одной сети.
Для установки, скачайте сервер с FTP-сервера: ftp://ftp.ucs.ru/rk7/other/KDS_PRO/KDS_PRO/. Файл сервера это KdsProServer...apk. Далее:

  1. Разрешите Android установку приложений из неизвестных источников
  2. Запустите установочный APK-файл сервера
  3. Разрешите приложению доступ к файлам и звонкам. Разрешения нужны для записи настроек сервера в файл и генерации уникального ключа.
  4. Нажмите на значок меню в левом верхнем углу
  5. Нажмите кнопку Свойства
  6. Укажите путь к папке для хранения файлов сервера. Папка может быть новой или существующей. Для удобства, нажмите кнопку с тремя точками справа. 
  7. Подтвердите выбранную папку кнопкой Выбрать
  8. Нажмите кнопку Сохранить.
    1. Сервер использует порт по умолчанию — 1234. Если этот порт занят, то есть возможность прописать другой порт. Для этого перейдите в место сохранения файлов, указанное ранее. 
    2. Перейдите в папку data.
    3. Отредактируйте файл kds_pro.config. Это обычный текстовый файл, его можно отредактировать блокнотом. Из-за расширения .config, Android может ругаться, что это не текстовый файл. Если возникают сложности, можно отредактировать его на компьютере и залить обратно на устройство.
    4. Сохраните изменения и запустите сервер. 
  9. На этом настройки сервера закончены. Вернитесь на главный экран приложения и нажмите кнопку Запустить
  10. Если всё настроено верно, сервер запустится. В шторке уведомлений появится статус сервера KDS с текущим IP. Станет активной кнопка Остановить.
  11. Это всё, сервер запущен. Запомните IP-адрес, на котором он работает — он понадобится для подключения клиентов.
  12. Если на телефоне установлен клиент KDS PRO, то его можно запускать непосредственно из сервера. Для этого:
    1. Нажмите кнопку в левом верхнем углу 
    2. Перейдите по ссылке Web Клиент
    3. Запустится клиент KDS PRO.

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

Для установки, скачайте клиент с FTP-сервера: ftp://ftp.ucs.ru/rk7/other/KDS_PRO/KDS_PRO/. Файл клиента это KdsProClient-...apk.

  1. Установите клиент KDS PRO по аналогии с сервером, разрешив установку из неизвестных источников
  2. Запустите клиент. Если сервер и клиент установлены на одном устройстве, то клиент может подключиться к серверу сам. Если этого не случилось, вы увидите надпись Сервер недоступен:
  3. Перейдите в настройки, нажав кнопку с гаечным ключом.
  4. Укажите IP-адрес и порт сервера KDS PRO

    Нажмите Сохранить.
  5. Если сервер запущен и настройки указаны верно, клиент подключиться к нему и запросит код авторизации:
  6. Активируйте клиент в соответствии с указаниями и пользуйтесь.

Параметры сервера KDS PRO

Параметры сервера KDS PRO

Секция Параметр Значение Описание
1 Сервер KDS PRO Отображать заказы за количество смен, шт. 0~1000

По умолчанию — 10. Заказы старше 10 смен будут очищаться из базы сервера.

2 Сервер KDS PRO Количество дней хранения заказов 0~1000

По умолчанию — 50. Очистка потерянных заказов — например, кассовый сервер отключили и больше не включают, соответственно, у него не меняются смены, но ресторан работает.

3 Сервер KDS PRO Частота обновления справочников, сек 1~86400 По умолчанию — 5. Частота проверки изменений в справочниках RK7. 
4 Сервер KDS PRO Тайм-аут сессии, сек 1~86400 По умолчанию — 5. Отслеживание зависших клиентов, закрытие сессий при отсутствии связи. Оптимальное значение: 300~900, т.е. раз в 5~15 минут. 
5 Сервер KDS PRO Путь к файлам техкарт Локальный путь на сервере KDS PRO

Отображение на экране рецептур блюд. В пути допустимы переменные: 

<CODE> — код блюда
<IDENT> — идентификатор блюда

Например, С:\techkards\tech_card_<code>.html – для блюда с кодом 1, техкарта должна будет носить имя tech_card_1_html.

6 Сервер KDS PRO Язык интерфейса клиента Выпадающее меню Можно выбрать русский (ru), английский (en) и венгерский (hu)
7 Fastfood интерфейс Порт до 65535 Порт принимающего заказы интерфейса сервера, должен отличаться от порта в kds_pro.config
8 Fastfood интерфейс Использовать HTTPS Включён / Выключен Включение или выключение использования HTTPS
9 Fastfood интерфейс Логин Строка  Для защиты доступа к интерфейсу сервера KDS PRO
10 Fastfood интерфейс Пароль Строка Для защиты доступа к интерфейсу сервера KDS PRO
11 Кассовые серверы Адрес IP-адрес Адрес кассового сервера, на котором настроен HTTP-сервер
12 Кассовые серверы Порт до 65535 Порт интерфейса HTTPS кассового сервера с поддержкой XML
13 Кассовые серверы Логин строка Логин пользователя RK7, с привилегией на доступ по протоколу HTTP
14 Кассовые серверы Пароль строка Пароль пользователя RK7, с привилегией на доступ по протоколу HTTP

 

Печать чеков через KDS PRO

Введение

Через систему KDS PRO можно печатать чеки при смене статуса у блюда.

Настройка печати в личном кабинете

Настройки печати производятся в личном кабинете в настройках клиентов. Рассмотрим на примере настройки печати на клиенте «КУХНЯ 1».

Чтобы чековый принтер печатал чек при смене статуса блюда необходимо:

  1. Зайдите в личный кабинет
  2. Выберите нужный клиент для настройки и нажмите на него
  3. В разделе печать нажмите кнопку Добавить
  4. Укажите любое название, например, Print
  5. В поле Печать при получении статуса выберите Приготовлен. Мы используем статус Приготовлен для примера, вы можете выбрать любой.
  6. Выберите кассу, с которой планируете печатать чеки
  7. В поле Назначение принтера выберите Для чеков
  8. Нажмите кнопку сохранить
  9. Теперь при смене статуса блюда Готово чековый принтер будет печатать чек с информацией. В чеке будет содержаться информация о:
    1. Кассире
    2. Номере, времени и дате заказа
    3. Блюдах у которых поменялся статус

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

Настройка шаблонов печати

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

Шаблон Заказ содержит служебную информацию о заказе — PrinterDestination и PrinterStation. Его нельзя изменять. Список доступных XML-запросов ниже:

  1. EQLabel – В данный момент не используется.
  2. Waiter – Официант
  3. SeqNum – Номер заказа
  4. Started – Время создания заказа

Начиная с версии 1.3.67 также доступны следущие запросы:

  • StateDate — Время смены статуса блюда
  • TableName — Имя стола
  • DishCode — Код Бюда/модификатора

В примере мы добавили слово "Блюдо" в заголовок.

И в результате на чеке появится слово блюдо. 

Не забывайте ставить пробелы после слов. 

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

Текст запроса

Печать работает аналогично VDU — при помощи XSD-запросов.
Ниже приведён текст XSD-файла печати с комментариями. Он же приложен в виде к этой статье.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xs:complexType name="UnfiscalAttributes">
    <xs:annotation>
      <xs:documentation xml:lang="ru">Основной тэг нефискальной печати</xs:documentation>
    </xs:annotation>
    <xs:attribute name="Slip" type="xs:boolean" use="optional" default="0">
      <xs:annotation>
        <xs:documentation xml:lang="ru">Печать на бланке</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="CutAfter" type="xs:boolean" use="optional" default="0">
      <xs:annotation>
        <xs:documentation xml:lang="ru">Надо ли отрезать (завершить оформление документа) в конце</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:anyAttribute processContents="skip"/>
  </xs:complexType>
  <xs:attributeGroup name="uniTextAttributes">
    <xs:attribute name="FontNum" type="xs:nonNegativeInteger" use="optional" default="0"/>
    <xs:attribute name="Bold" type="xs:boolean" use="optional" default="0"/>
    <xs:attribute name="BigHeight" type="xs:boolean" use="optional" default="0"/>
    <xs:attribute name="BigWidth" type="xs:boolean" use="optional" default="0"/>
    <xs:attribute name="Inverted" type="xs:boolean" use="optional" default="0"/>
    <xs:attribute name="AltLang" type="xs:boolean" use="optional" default="0"/>
    <xs:attribute name="Tapes" use="optional" default="8">
      <xs:simpleType>
        <xs:restriction base="xs:int">
          <xs:enumeration value="0"/>
          <xs:enumeration value="1"/>
          <xs:enumeration value="2"/>
          <xs:enumeration value="3"/>
          <xs:enumeration value="4"/>
          <xs:enumeration value="5"/>
          <xs:enumeration value="6"/>
          <xs:enumeration value="7"/>
          <xs:enumeration value="8"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:attributeGroup>
  <xs:complexType name="uniTextBlock">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attributeGroup ref="uniTextAttributes"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="uniTextLine">
    <xs:attributeGroup ref="uniTextAttributes"/>
    <xs:attribute name="Text" type="xs:normalizedString" use="required"/>
  </xs:complexType>
  <xs:complexType name="uniTextPart">
    <xs:attributeGroup ref="uniTextAttributes"/>
    <xs:attribute name="Text" type="xs:normalizedString" use="required"/>
  </xs:complexType>
  <xs:complexType name="uniRawBlock">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="Encoding" use="required">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:enumeration value="No"/>
              <xs:enumeration value="Base64"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="uniBarCode">
    <xs:attribute name="Type" use="optional" default="EAN-13">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="EAN-13"/>
          <xs:enumeration value="Code-39"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="TextPosition" use="optional" default="No">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="No"/>
          <xs:enumeration value="Top"/>
          <xs:enumeration value="Bottom"/>
          <xs:enumeration value="Top&amp;Bottom"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="Value" type="xs:normalizedString" use="required"/>
  </xs:complexType>
  <xs:complexType name="uniBeep"/>
  <xs:complexType name="uniDrawer">
    <xs:attribute name="Number" use="optional" default="0">
      <xs:simpleType>
        <xs:restriction base="xs:int">
          <xs:enumeration value="0"/>
          <xs:enumeration value="1"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
  <xs:complexType name="uniLogo">
    <xs:attribute name="Number" type="xs:int" use="required"/>
  </xs:complexType>
  <xs:complexType name="uniPass">
    <xs:attribute name="Lines" type="xs:int" use="required"/>
  </xs:complexType>
  <xs:complexType name="uniWait">
    <xs:attribute name="MSecs" type="xs:int" use="required"/>
  </xs:complexType>
  <xs:complexType name="uniUnfiscal">
    <xs:complexContent>
      <xs:extension base="UnfiscalAttributes">
        <xs:sequence>
          <xs:choice minOccurs="0" maxOccurs="unbounded">
            <xs:element name="TextBlock" type="uniTextBlock"/>
            <xs:element name="TextPart" type="uniTextPart"/>
            <xs:element name="TextLine" type="uniTextLine"/>
            <xs:element name="RawBlock" type="uniRawBlock"/>
            <xs:element name="BarCode" type="uniBarCode"/>
            <xs:element name="Beep" type="uniBeep"/>
            <xs:element name="Drawer" type="uniDrawer"/>
            <xs:element name="Logo" type="uniLogo"/>
            <xs:element name="Pass" type="uniPass"/>
            <xs:element name="Wait" type="uniWait"/>
          </xs:choice>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:schema>
ВложениеРазмер
xsd-shema1.zip1.2 КБ

Смена статуса заказа по QR-коду

Введение

В системе KDS PRO есть возможность изменять статус заказа по QR-коду.

Для этого вам понадобится USB сканер QR-кодов, работающий в режиме HID-клавиатуры и подключенный к клиенту KDS PRO.

В статье рассматривается печать чека после присвоения заказу статуса Приготовлен.

Настройка через XML-макет

Первый способ, который мы рассмотрим — печать QR-кода через изменение XML-макета чека.

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

Назначение принтеров

  1. Откройте менеджерскую станцию и перейдите в меню Настройки > Печать > Назначение принтеров
  2. Нажмите правой кнопкой мыши и выберите пункт Новое назначение принтера
  3. Укажите название — KDS PRO
  4. Сохраните и закройте меню Назначение принтеров
  5. В настройках кассовой станции появится новая строчка — KDS PRO в разделе Назначение принтеров.
  6. Назначьте в этом поле предварительно настроенный и работающий принтер — он будет печатать QR-коды для KDS PRO. Прочитать подробнее о принтерах можно в статье настройка кассовой станции.
  7. По желанию, этот принтер можно использовать и с сервис-печатью.
  8. Сохраните и закройте настройки кассовой станции.

Настройка в личном кабинете

Принтер создан, теперь необходимо связать его с KDS PRO. 

  1. Перейдите в личный кабинет KDS PRO и авторизуйтесь
  2. Выберите требуемый сервер и нажмите на него
  3. Откроется список клиентов. Нажмите на клиента
  4. Пролистайте до раздела Печать и нажмите кнопку Добавить
  5. В настройках печати:
    1. Укажите название, например, Печать чека с QR-кодом
    2. Выберите кассу из выпадающего списка
    3. Выберите статус, при получении которого будет печататься чек. Мы выберем Приготовлен
    4. Выберите назначение принтеров — ранее созданное, т.е. KDS PRO
    5. Выберите что печатать на чеке — заказ или блюдо. Обратите внимание, что в зависимости от выбора, необходимо будет редактировать соответствующий макет чека. Мы выберем Заказ.
    6. Поставьте галочку Включено
    7. В XML-запрос блюда или заказа добавьте текст QR-кода:
<BarCode Width="200" Height="200" Type="QRCode" TextPosition="Bottom" Value = "[QRCode]"/>
  1. Ширину и высоту QR-кода можно настраивать, редактируя значения в параметрах Width и Height
  2. В результате должны получиться такие настройки:
  3. Обратите внимание, что строку <Barcode... необходимо вставлять до закрывающего тега </Unfiscal> — иначе печать QR-кода работать не будет.
  4. Нажмите кнопку  внизу страницы для сохранения изменений
  5. QR-код должен печататься на чеке.

Пример чека блюда с QR-кодом:

Пример чека с QR-кодом для заказа:

Настройка через редактирование макета чека

Другой вариант печати QR-кодов это изменение макета чека.

Настройка макета

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

Процесс импорта макета описан в статье о редактировании макета чека.

Чтобы добавить QR-код в существующий макет:

  1. Создайте копию желаемого макета чека
  2. Отредактируйте дизайн созданного макета — добавьте новый виртуальный бенд
  3. Создайте на нем мемо
  4. Отредактируйте мемо — добавьте в него скрипт:
  5. В верхней части напишите [qr_code]
  6. В нижней части добавьте скрипт:
var
  s,r:string;
  i,j:integer;
begin
  s:=[Заказы.GUID];
  if s<>'' then begin
    s:=copy(s,2,8)+copy(s,11,4)+copy(s,16,4)+copy(s,21,4)+copy(s,26,12);
    r:='';
    for i:=1 to length(s) do begin
      case s[i] of
        'A': r:='10'+r;
        'B': r:='11'+r;
        'C': r:='12'+r;
        'D': r:='13'+r;
        'E': r:='14'+r;
        'F': r:='15'+r;
        else begin
          r:=s[i]+r; 
          j:=random(8)+2;
          r:=inttostr(j)+r;
          if j=9 then begin
            j:=random(10);
            r:=inttostr(j)+r;
          end; 
          if j=7 then begin
            j:=random(10);
            r:=inttostr(j)+r;
            j:=random(10);
            r:=inttostr(j)+r;
          end          
          if j=4 then begin
            j:=random(10);
            r:=inttostr(j)+r;
            j:=random(10);
            r:=inttostr(j)+r;
            j:=random(10);
            r:=inttostr(j)+r;
            j:=random(10);
            r:=inttostr(j)+r;
          end
        end
      end;      
    end    
    r:='<QRCODE _'+r+'_ >';
    qr_code := r;
  end else begin  
    qr_code := '';    
  end
end
  1. Выглядеть это должно так:
  2. Нажмите Оk, чтобы сохранить изменения
  3. Закройте дизайнер макетов
  4. В результате, на чеке будет печататься QR-код, который можно отсканировать на клиенте KDS PRO. После сканирования, заказ со статусом Приготовлен будет сбрасываться.
  5. Чек из приложенного макета с QR-кодом будет выглядеть так:
ВложениеРазмер
prechek_s_qr_kodom.mak13.49 КБ

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

Введение

VDU — Video Display Unit. Эта система представляет собой монитор для отображения заказов, сформированных на различных устройствах: кассовых станциях, мобильных терминалах и др. VDU может заменить сервис-печать или использоваться как дополнение к ней.

Как правило, VDU применяется в ресторанах быстрого обслуживания - информация на мониторе отображается либо сразу после изменения заказа (до его сохранения) либо после сохранения (оплаты) заказа.

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

Система VDU требует лицензирования. Лицензия привязана к коду ресторана и количеству одновременно работающих станций VDU. Лицензия генерируется на сервере лицензирования. Чтобы пролицензировать продукт, получите мастер-лицензию R-Keeper модуль VDU ПО. Тип лицензии - программный ключ, который состоит из 8 групп по 5 цифр в каждой.
Подробная информация о методах защиты и механизмах лицензирования http://support.ucs.ru/ru/node/8532
П
осле получения мастер-лицензии, в свойствах объекта сгенерируйте новую лицензию. В поле запроса вводить ничего не нужно, просто нажмите Далее:

Код ключа тоже вводить не нужно. Сгенерированным ключом активируйте VDU. 

Установка VDU

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

  • Загрузите с FTP-сервера ftp://ftp.ucs.ru/r-keeper/VDU/4.x.x/ актуальный дистрибутив VDU
  • Распакуйте содержимое архива в удобную папку
  • Установленный r_keeper_7 версии 7.5.7 и старше.

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

Локализация

По умолчанию интерфейс VDU — английский. Чтобы сделать интерфейс русским, зайдите в папку установки VDU\Locales.
В ней лежит 2 файла:

  • VDULocaleEN.xlf
  • VDULocaleRU.xlf

Скопируйте файл VDULocaleRU.xlf в корневую папку VDU. Там уже есть файл локализации. Его нужно удалить или переименовать.

Старый файл VDULocale.xlf переименуйте в VDULocale_backup.xlf, а файл VDULocaleRU.xlf в VDULocale.xlf.

Перезапустите VDU. Язык станет русским.

Настройка связи с r_keeper_7

Для связи кассовой станции с VDU необходимо сделать следующее:

  1. На закладку Устройства кассового сервера добавьте драйвер VDU cash server interface:
  1. Настройте параметры драйвера:
  • Local port - свободный порт кассовой станции. Если порт занят, будет использован следующий номер по порядку
  • VDUID - идентификатор станции или группы станций VDU. Можно использовать несколько экранов VDU - например, в одной локальной сети находятся несколько ресторанов и они используют VDU. Значение параметра должно соответствовать VDU ID в настройках драйвера VDU cash server interface.
  • LogFile - имя файла журнала. Если параметр не заполнен, логирование не ведётся
  • LogLevel - уровень логирования
  • IP Port - порт VDU на который приходят заказы
  • VDUVersion - версия протокола VDU 
  • Decode From, Decode To - параметры перекодировки данных, отправлямых и получаемых VDU
  • HttpUser - имя пользователя VDU. Пользователя необходимо заранее создать и добавить привилегию Http Access
  • HttpPassword - пароль пользователя VDU
  1. В меню Настройки > Параметры настройте дополнительные параметры в разделе Установочные > Связь с другими системами > KDS и VDU
    Примечание: для вывода на экран VDU короткого названия блюда (Печать > Короткое название) необходимо включить параметр "Короткие имена в VDU". Для этого перейдите в Настройки > Установочные > Связь с другими системами > KDS и VDU > Короткие имена в VDU.
  1. Создайте пользователя, который будет использоваться для авторизации в VDU. Для этого зайдите в Персонал > Работники и создайте нового сотрудника. Укажите имя и пароль, которые вы указывали в свойствах драйвера VDU cash server interface

  1. Далее необходимо создать привилегию для группы нового сотрудника. Создание привилегии описано в статье http://support.ucs.ru/ru/node/8312 с пункта 2 по пункт 4.

  1. Перейдите в свойства кассового сервера. В блоке HTTP Server заполните параметр HTTP data port. Запомните этот порт, его нужно будет прописать в настройках VDU.
  2. Откройте раздел HTTP Ограничения и в разделе XML-интерфейс выберите HTTP Access
  3. Привяжите созданный интерфейс к логическому. Перейдите в раздел Сервис > Интерфейсы и создайте новый интерфейс.
  4. В настройках интерфейса выберите созданный драйвер VDU Cash server intrface
  5. Сохранитесь. Настройка в менеджерской станции окончена.

Настройка VDU

Настройка VDU выполняется одинаково на любых платформах.
Для входа в режим настройки нажмите на специальной клавиатуре кнопку "Настр.| Копир." в верхнем правом углу или использовать клавишу r на компьютерной клавиатуре - система запросит пароль, по умолчанию пароль — 1. Далее нажмите клавишу "Ввод" на специальной клавиатуре или t на обычной.

При первичном запуске появится окно ввода лицензионного ключа. Введите ключ и нажмите ОК. 
Лицензию можно ввести также в файле VDU.ini в поле License.

После активации появится информация о лицензии и станут доступны остальные настройки.

Описание интерфейса

Ниже описаны вкладки интерфейса настроек VDU. 

Orders processing

  • VDI ID                                    - ID станции VDU
  • VDU NAME                            - имя станции VDU. Параметр обязателен.
  • Full return order                   - возврат полностью сброшенного заказа с возвратом на экране электронной очереди и отправкой заново текущего статуса для r_keeper. Работает, только если этот заказ был сброшен на этой станции. Для активации просто нажмите кнопку возврат. Работает для 40 последних заказов.
  • Net drop only                        - включить сброс заказа только по сети. Например, если активировать настройку для статуса Ready, данный статус можно получить только при сбросе заказа на другом VDU, т.е. по сети. Сброс заказа на этом устройстве будет невозможен.
  • Full drop by other VDU       - При активации опции для какого-либо статуса, как только заказ будет сброшен с этим статусом на другом VDU, заказ будет полностью убран с текущего устройства, независимо от количества выставленных статусов. Используется как функционал "забрать заказ в работу" при наличии нескольких станций с одинаковым набором заказов.
  • States                                   - статусы готовности блюда:
    1. None                         - заказ пришёл 
    2. Preparing                 - заказ готовится
    3. Ready                       - заказ готов
    4. Collect                      - заказ собирается 
    5. Collected                  - заказ собран
    6. Takeout                     - заказ отдан
  • Autodrop                              - автосброс заказа
    • Full Autodrop           - применяется совместно с параметром Autodrop, при включении при автосбросе заказ будет сброшен полностью, независимо от количества статусов
  • Drop confirmation               - подтверждение сброса заказа
  • Full drop one unpaid          - при включенном параметре при активации Drop one unpaid order заказ будет сброшен полностью, независимо от количества статусов

Appearance > ​Main view

В разделе Main view можно настроить отображение VDU.

  • View mode                                            - тип отображения. Может быть Table (таблицей) или Column (колонками)
    • Columns                                   - количество колонок
  • Line spacing                                        - отступ между строками блюд
  • Order spacing                                      - расстояние между заказами
  • Double buffered                                   - двойная буферизация. Включайте для устранения мерцания на медленных системах (WinCE-ARM).
  • Show streams on password screen  - включить редактирование фильтров по категориям до входа в настройки 
  • Height                                                   - высота экрана VDU
  • Width                                                    - ширина экрана VDU
  • Top                                                       - отступ сверху экрана 
  • Left                                                       - отступ слева экрана
  • Show buttons, show setting button   позволяет вывести на экран кнопки стрелок для удобной работы с помощью мыши или тач-панели и иконку для быстрого перехода в настройки
  • Show OrderNumber panel                 -  отображать панель с номерами заказов
  • Show summury panel                        - в правой половине экрана отображать панель с краткими сведениями

Appearance > Order view

В разделе Order view можно настроить отображение заказа.

  • Float Qnt                               - отображение количества блюд с одним знаком после запятой для весового или дробного товара
  • Historical                              - показывать в заказе удаленные блюда и модификаторы, перенос/разбиение заказа. Блюда, добавленные через 5 секунд не требуют перезагрузки VDU
    • Hide deleted orders             - скрывать удаленные заказы
  • Pack modifiers                    - отображение модификаторов
  • Start timer from first dish  - запускать таймер с первого блюда
  • Rise ready orders              - помещать готовые заказы перед выбранной группой. Группу можно выбрать в окошке справа.
  • Resort dishes                      - пересортировка блюд в заказе по группам печати. 
  • EQ Label type                      - тип метки электронной очереди. Можно выбрать латинские буквы, кирилические, цифры, по номеру Юнита (см. подробнее раздел Filtres > units) и по номеру стола.
  • Apply streams filter           - фильтр по группам печати также начинает работать для заказов сервис-печати. При включении следует проверить, что в макете в полях PrintGroup выставлена та же классификация, что и для FastFood протокола
  • Separate checks                - отдельные сессии заказа не объединяются в один заказ. Применимо к заказам сервис-печати
  • Ungroup streams              - разгруппировать потоки
    • Stream name as waiter    - задать имя потока по имени официанта
  • Show EQ label                   - показывать метку электронной очереди
  • Show Seq number            - показывать серийный номер
  • Show unit number            - показывать номер юнита
  • Show drop number          - показывать номер сброшенного заказа.
    • Reset ID after drop           - повторно устанавливать ID после сбрасывания заказа
  • Show combo comps Qnt   - показывать количество компонентов комбо блюд
  • Show combo Qnt              - показывать количество комбо блюд
  • Show Combo comps        - показывать компоненты комбо блюда
  • Use card number (last 4 sym)              - показывать последние 4 цифры номера карты вместо номера электронной очереди

Appearance > Fonts

В разделе Fonts можно настроить параметры шрифта для элементов экрана VDU - размер, ширину (нормальный, фиксированный), насыщенность (обычный, жирный) и начертание (прямой, курсивный). Для входа в раздел Fonts необходимо выбрать его с помощью клавиши "Вверх"\"Вниз" и подтвердить выбор нажатием клавиши "Выбор". Для возврата в главное окно настроек необходимо нажать клавишу "Сброс".
После входа в раздел отображается список элементов экрана VDU, для которых можно определить собственные параметры шрифта:

  • Font                   - шрифт
  • Encoding          - кодировка шрифта. Для правильной кодировки данных RK7 значение должно быть 1251 Windows Cyrillic.
  • Доступные параметры шрифта:
    • Начертание - прямой или курсивный (Italic) шрифт
    • Насыщенность - обычный или жирный (Bold) шрифт
    • Ширина - нормальный шрифт или шрифт с фиксированной шириной (Fixed)
    • Размер (высота)
  • Параметры шрифта, которые можно установить:
    • Page header - заголовок главного окна
    • Order header - заголовок заказа
    • Combo component - строка с наименованием компонента комбо-блюда
    • Combo - строка с наименованием комбо-блюда
    • Dish line - строка с наименованием блюда
    • Modi - строка с наименованием модификатора

Appearence > Colors

Настройка цветов.

  • Parked order color - окно запаркованного заказа
  • Second late timer - цвет шрифта и фона таймера после истечении второго времени задержки приготовления заказа
  • First late timer - цвет шрифта и фона таймера после истечении первого времени задержки приготовления заказа
  • Deleted dish - цвет шрифта для количества удаленного блюда (название удаленного блюда сохраняет красный цвет)
  • Changed Dish - цвет шрифта блюда, кол-во которого было изменено в процессе оформления заказа
  • Normal order color - окно активного заказа
  • Droped order color - окно сброшенного заказа
  • Payed order caption - заголовок окна оплаченного заказа
  • Not payed order caption - заголовок окна неоплаченного заказа
  • Order Number Panel - окно для ввода номера при сбросе заказа
  • Top panel - заголовок главного окна
  • Main Window - главное окно. Доступно только изменение цвета фона.

Interfaces

Во вкладке Interface > General настраивается подключение к r_keeper_7. Укажите в соответствующих полях:

  • Адрес и порт кассового сервера, который указывали в свойствах кассового сервера, раздела HTTP Server.
  • Пользователя с правами на HTTP Access и пароль.
  • Версию протокола — VDU Protocol. Версия должна совпадать с настройкой в драйвере VDU cash server interface
  • Нажмите значок  для проверки соединения. VDU должен выдать что всё ок:

Настройка Load Balancing нужна для балансировки заказов внутри ресторанов. Группа балансировки задается по ArbitrageID.

ArbitrageID - код группы. Группа - это набор VDU c одинаковым ArbitrageID. Для всей группы также должны быть одинаковы: VDUIDнабор групп печати и юнитов для отображения.
Внутри ресторана, как правило, один VDUID. Однако для каждого цеха бывает нескольких пакеров, и для балансировки заказов внутри цеха между несколькими VDU, задайте одинаковый 
ArbitrageIDБалансировка бывает по заказам и по блюдам.
Внутри группы нельзя использовать разную балансировку, если BusyLevelByDishes и BusyLevelByOrders оба отключены то балансировка отключена. Конфигурации должны быть либо "по блюдам", либо "по заказам", либо "обе выключены".

  • Info other VDU  drop - уведомлять другие устройства о сброшенных заказах. Информация об отмене статуса заказа возвращается так же для других станций, тех, где так же был отображен этот заказ. Если на этих станция заказ уже сброшен полностью, но включена опция Full return order, на этих станциях заказ так же вернется на экран с предыдущим статусом (если этот статус настроен для отображения). Работает для 40 последних заказов
  • Info R-keeper drop - уведомлять r_keeper_7 о сброшенных заказах
  • Accept drops - сбрасывать заказы, сброшенные на других устройствах.

Filters > Units

Система позволяет работать одному экземпляру VDU с несколькими кассами и нескольким экземплярам VDU с одной кассой. Для определения связи между кассой и VDU используется параметр VDUID, который устанавливается как в настройках VDU, так и в настройках кассовой станции.
Для ограничения списка станций, с которыми должно взаимодействовать VDU, используется раздел Units. Для входа в раздел Units необходимо выбрать его с помощью клавиши "Вверх"\"Вниз" и подтвердить выбор нажатием клавиши "Выбор". Для возврата в главное окно настроек необходимо нажать клавишу "Сброс". После входа в раздел необходимо включить параметр "Enable units configuration" с помощью клавиши "Выбор",  затем станет доступным поле для ввода идентификаторов кассовых станций, с которыми необходимо ограничить взаимодействие:

Порядок ввода идентификаторов кассовых станций:

  • Введите идентификаторы через пробел
  • Для RK7 идентификатором кассовой станции является код станции
  • Значения идентификаторов вводятся с помощью числовых клавиш, для ввода пробела используется клавиша "Выбор"
  • Для выбора станций в списке используются клавиши "Вверх"\"Вниз", подтверждение выбора - клавиша "Выбор"

Кроме ограничения взаимодействия для каждой кассовой станции можно определить свой цвет для заказов - для этого в списке станций напротив каждой записи есть выбор цвета. Существует возможность сделать на экране VDU отображение номера юнита отключаемым, для этого в VDU.ini необходимо изменить параметр DoNotShowUnitNum с OFF на ON.

Примечание: кодировка файла VDU.ini — UTF-8.

Использование VDU

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

Заказ должен появится в VDU. 

Если заказ появился, значит всё настроено верно и работает.

Коды состояний VDU

Код состояния VDU отображается в верхнем левом углу рядом с часами:

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

  • —  несовпадение протокола VDU и в RK7. В некоторых случаях может быть при несовпадении лицензии. Сверьте протокол в настройках VDU и менеджерской станции
  • N — нет пакетов. Это статус по умолчанию после запуска VDU
  • I   — пакет получен, но с отличным VDUID
  • L  — пакет получен, VDUID соответствует, но лицензия некорректная
  • — пакет получен, VDUID соответствует, лицензия корректная, но пакеты пришли от устройства, которое отключено на этом VDU

Примечание: Рекомендуется анализировать коды состояний VDU при использовании одного устройства, отправляющего данные на VDU.

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

Особенности настройки мобильных терминалов с VDU 

После сохранения заказа на мобильном терминале и использовании нескольких станций VDU, заказ появляется на всех экранах VDU и не фильтруется даже при включенных параметра в групповом разделе "Do not show" - фильтрация таких заказов работает только при наличии хотя бы одной активной сервис-схемы для ресторана. 
Важно: Отображение заказов на экранах VDU сразу после сохранения заказа на мобильном терминале работает только совместно с RK7.

После принятия заказа с мобильного терминала в конфигурации "Электронная очередь", заказ появляется на экране VDU в специальном статусе - убрать такой заказ нельзя до открытия его на кассе. После открытия и оплаты (или отмены) такого заказа на кассе, он удаляется с VDU без всяких задвоений. С помощью параметра EndQueTimeout можно настроить автоматический сброс неоплаченных заказов через установленное время.

Использование компьютерной клавиатуры

В служебных целях вместо специальной клавиатуры можно использовать стандартную клавиатуру - такая возможность поддерживается как для программного VDU, так и для VDU под WinCE.

Таблица соответствия клавиш специальной клавиатуры клавишам на компьютерной клавиатуре
Специальная
клавиатура
Компьютерная клавиатура Специальная
клавиатура
Компьютерная клавиатура
1 a Стрелка "Вверх" f
2 b Стрелка "Вниз"  m
3 c Стрелка "Влево" g
4 d Стрелка "Вправо" n
5 e Сброс o
6 h Возвр. p
7 i Парк. q
8 j Настр. r
9 k Копир. u
0 l Выбор s
    Ввод t
    Reset (долгий сброс) w

Примечание: для использования в VDU компьютерной клавиатуры должна быть включена английская раскладка и выключен Сaps Lock

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

Предполагается, что в системе настроена и работает стандартная сервис-печать.
Для настройки сервис-печати, связанной с VDU, необходимо:

  • Добавить новую классификацию и категории в разделе Меню > Классификации блюд
  • Выбрать параметр Все > Установочные > Связь с другими системами > KDS и VDU > Классификация для КДС и VDU и установить опцию "Ссылка" в значение классификации, определенной для работы с VDU
  • Перезапустить VDU и отправить с кассовой станции несколько блюд, сохранив их.
  • Войти в режим настройки VDU и настроить параметр "Do not show ". Выберите категории блюд, которые не должны обрабатываться на данном экране VDU

При включении параметра Классификация для КДС и VDU на сервис-чеке появится дополнительная секция со штрих-кодами, которые можно использовать для маркировки блюд.
Чтобы не выводить на печать штрих-коды необходимо отредактировать используемый макет сервис-чека. можно удалить бенд, либо исправить скрипт:

Вывод заказа на экран после сохранения 

Для вывода заказа на экран после сохранения или печати пречека необходимо настроить отправку заказов на VDU через сервис-печать.
Для настройки необходимо:

  • На кассовой станции добавить драйвер Print to TCP/IP printer (Windows)
  • В свойствах драйвера в разделе Опции настроить параметры:
    • Printer address -  IP-адрес компьютера, где установлен VDU
    • Printer port - любой (свободный) порт
    • Keep connect - установить в значение Preconnect.

Добавьте на драйвер любой принтер, очистите у принтера строки Encode. Далее добавьте макет сервис-печати из директории VDU (SP.mak). Настройте сервис-печать этого макета при изменении/добавлении и удалении блюд. Настройте добавленный принтер как XML- принтер. Удалите с кассовой станции VDU cash server interface

Настройка голосового движка SAPI4

Для настройки функции голосового оповещения о готовности заказа необходимо:

  1. Установить Infovox Desktop 2.220 Engine и голосовой модуль
  2. Пролицензировать программу, т.к. по умолчанию устанавливается пробная версия сроком на 1 месяц и по истечению этого срока, модуль работать не будет
  3. В установленном приложении Lexicon manager добавить словарь *.dic установленного голосового модуля на вкладке Lexicon>Voice Associations > Add Lexicon 
  4. В настройках VDU в разделе Interface > Sound выберите установленный движок и укажите скорость и текст воспроизведения.

Настройки также можно прописать в файле настроек VDU.ini

SAPIEngine=Alyona (Russian) SAPI4 22kHz  ; полное наименование звукового движка
SAPISpeed=85                             ; скорость воспроизведения. Оптимальная 80-100
SAPISpeakTxt=Заказ <EQLabel> готов       ; текст воспроизведения. В тексте можно добавить переменную <EQLabel>, при воспроизведении она будет заменена на номер электронной очереди.

Настройка электронной очереди

Актуальная версия

Актуальная версия электронной очереди называется QMS. Настраивать и подключать следует её. Статья по установке и настройке.

Устаревшая версия – EQ

Для настройки электронной очереди EQ необходимо:

  1. Откройте окно настроек. На обычной клавиатуре нажмите клавишу r, обязательно в английской раскладке.
  2. На вкладке 'Orders processing' выставьте 0, 4, 5 статусы заказа. Для 4 статуса задать отличающийся цвет.
  3. На вкладке 'Appearance/Order view' задайте параметр 'EQ label type' - как именно будет формироваться номер электронной очереди
  4. Если необходимо, на этой же вкладке выставьте галочку 'Show EQ number' - для отображения номера электронной очереди в заголовке заказа
  5. На вкладке 'Interfaces/Other programs' задайте путь к гостевому приложению (GuestApp) и время его опроса.

Для настройки выбора заказа стрелками и сброса выбранного заказа, необходимо на вкладке настроек 'Appearance/Main view' выставить галочку 'Border mode'. Параметр 'Order spacing' на вкладке 'Appearance/Main view' следует выставить больше нуля и чётным. Расстояние между заказами будет использовано для отрисовки рамки вокруг активного заказа.

ВложениеРазмер
История изменений 22.94 КБ

Настройка электронной очереди EQ

С 01.06.2020 продукт EQ больше не дорабатывается. Используйте QMS. Пользователям предоставляется скидка в 70% на переход.
Поддержка прекратится 31.12.2020.

 

 

Введение

Система предназначена для ускорения обслуживания гостей. Кассиры только принимают заказы, а сбор и выдачей заказов занимается отдельный персонал. Для этого в ресторане необходимо организация окна выдачи, куда и устанавливается решение электронной очереди.
Алгоритм работы следующий:

  • заказ на кассе принимается как обычно.
  • после оплаты клиенту выдается чек с номером заказа в очереди. Данный заказ в этот момент появляется на экране сборщика и гостевом мониторе в колонке «Готовящихся заказы». Одновременно на сервис принтере печатается сервис чек (опционально).
  • когда сборщик собрал заказ, он его отмечает на своем экране (нажатием на клавиатуре или если экран тач скрин – нажатием на заказ на экране). В этот момент заказ переходит в колонку «Готовые заказы» на гостевом мониторе.

Требования

Для Электронной очереди необходимо следующее оборудование:

  • Компьютер под управлением Windows7 с 2 видео выходами. На базе процессора i5. Подключен к локальной сети;
  • Гостевой монитор – размер экрана от 28” до 31”;
  • Монитор сборщика – размер экрана от 15”;
  • Клавиатура сборщика –подключается через USB (старые версии поддерживали RS232). Если экран сборщика тачскрин, клавиатура не нужна;
  • Принтер сервис печати – подключен к локальной сети (опционально);

В местах установки оборудования необходимо:

  • Компьютер + монитор сборщика:
  • Розетка 220В – 3 шт.
  • Подключение к локальной сети – 1 шт. 
  • Гостевой монитор:
  • Розетка 220В – 1 шт.
  • Сервис принтер:
  • Розетка 220В – 1 шт.
  • Подключение к локальной сети – 1 шт. 

Размещение элементов:

  • Компьютер – под прилавком
  • Монитор сборщика – на прилавке
  • Гостевой монитор – над прилавком
  • Сервис принтер – место удобное для сборщика. Рекомендуется место где хранятся пакеты для сборки заказов.

EQ.PNG

Рис. Схема взаимодействия модулей.
 

Настройка и запуск

Решение "Электронная очередь" представляет из себя разновидность VDU (rostvdu.exe) с возможностью запуска приложения для второго экрана (EQGuestScreen.exe).

Настройка мониторов

Экран сборщика – основной монитор
Гостевой монитор – второстепенный, как расширенный рабочий стол.

Установка программы

  1. Загрузить с FTP актуальные дистрибутивы ПО:
    1. Специализированная версия VDU ftp://ftp.ucs.ru/r-keeper/VDU/3.x.x
    2. Приложение для второго экрана ftp://ftp.ucs.ru/rk7/INSTALL/RK7_EQ
  2. Распаковать и скопировать содержимое дистрибутиово в произвольный каталог на компьютере, например D:\UCS\EQ
  3. Запустить файл rostvdu.exe, на клавиатуре RS232 (должна быть подключена к COM2) нажмите F1 и введите пароль 1.

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

Для старых версий VDU работают следующие клавиши:

"h" = "F1";
"f" = "Enter";
"i" = "F2";
"a" = "ESC";
"j" = "backspace";
"c" = "moving";
"space" = "F0";

В современных версиях VDU работают следующие клавиши:

1
2 b
3 c
4 d
5 e
6 h
7 i
8 j
9 k
0 l
вверх f
вниз m
влево g
вправо n
сброс o
возвр. p
парк. q
настр. r
копир. u
выбор s
ввод t
backspace 
(долгий сброс)
w
Важно: должен быть выставлен английский язык и выключен caps lock.
  1. В настройках VDU необходимо активировать лицензию. Лицензия генерируется на сервере лицензирования. Подробнее — в основной статье.

Для интеграции с РК7 обязательно прописать VDU ID и путь к приложению EQGuestScreen.exe.

Примечание: все настройки можно редактировать в файле VDU.ini.

Основные параметры:

  • Vdu id - уникальный идентификатор, для интеграции с РК7
  • GuestScreenApp – название программы для гостевого монитора.
  • UseCyrLabels – вместо кода станции принятия заказа в номере очереди использовать кириллицу.
  1. Настройте параметры гостевого монитора (EQGuestScreen.exe) в фаиле EQGuestScreen.ini
[DISPLAY]
Left=1024               ; координата левого угла запуска программы по горизонтали (ось Х). Проверить и прописать!
Top=0                   ; координата верхнего левого угла запуска программы по вертикали (ось Y) оставить 0
Width=1366              ; ширина гостевого монитора
Height=768              ; высота гостевого монитора
ShowGuestName=0         ; Показывать метку VDU
; <начало>  параметры по умолчанию для версий 1.0.0.155 и выше если эти параметры в файле настроек отсутствуют, то используются их значения по умолчанию
UseTimer=1                     ; 1=таймер показывается, 0=нет
NewHeaderFontSize=90           ; размер шрифта заголовка для готовящихся заказов 
NewNumberFontSize=60           ; размер шрифта номера заказа для готовящихся заказов
NewNameFontSize=60             ; размер шрифта имени покупателя для готовящихся заказов
NewDescriptionFontSize=40      ; размер шрифта дополнительной фразы для готовящихся заказов
ReadyHeaderFontSize=90         ; размер шрифта заголовка для готовых заказов
ReadyNumberFontSize=60         ; размер шрифта номера заказа для готовых заказов
ReadyNameFontSize=60           ; размер шрифта имени покупателя для готовых заказов
ReadyDescriptionFontSize=40    ; размер шрифта дополнительной фразы для готовых заказов
; параметры для версий 1.0.0.155 и выше <конец> 

[TEXT]                  ; дополнительная текстовая информация  
NewItemsHeader=ГОТОВЯЩИЕСЯ     
NewItemsText=подождите немного
ReadyItemsHeader=ГОТОВЫЕ ЗАКАЗЫ
ReadyItemsText=спасибо, приходите еще!

[SOUNDS]
New=New.wav            ; проигрывать файл при новом заказе
Ready=Ready.wav        ; проигрывать файл при готовом заказе
Out=                   ; проигрывать файл при выданном заказе
[LOGFILE]
Log=1                  ; вести лог
LogDir=                ; папка лога
  1. Запустить rostvdu.exe, далeе она сама должна запустить гостевой монитор. Также она отслеживает работу гостевого монитора. Если программа гостевого монитора выключится - rostvdu.exe запустит ее заново.

  2. Для гостевого монитора можно указать какие рекламные ролики показывать в режиме простоя. Настройки делать в файле EQAdverts.xml. Ролики должны быть в формате SWF (Adobe Flash).

  3. Для изменения фона или заголовков в гостевом мониторе необходимо изменить файлы изображений в папке \EQGuestScreen\Design\:

  • Background.png - фон
  • NewHeader.png - заголовок над новыми заказами
  • NewItem.png - фон кнопки нового заказа
  • ReadyHeader.png - заголовок над готовыми заказами
  • ReadyItem.png - фон кнопки готового заказа
    Важно: название и размеры (высота,ширина) файлов менять нельзя. 

Настройка RK7

В качестве номера в электронной очереди используется код станции (на которой был принят заказ) и последняя пара цифр с номера заказа. 

На фтп по пути ftp://ftp.ucs.ru/rk7/INSTALL/RK7_EQ/ лежат два макета (для финального чека - EQ_Final.mak и сервис печати - EQ_service check.mak), в которых есть примеры формирования номера в электронной очереди. В макете финального чека есть пример печати большого номера на фискальном принтере СПАРК. Текст формируется из знаков.

Примечание: в макете чека необходимо проверить наличие строк(и) с объявленными переменными (chnum, chnum0 и resstr) в скрипте Memo3. Если переменные отсутствуют, необходимо их добавить.

Рис. Добавление переменных в скрипт финального чека.

Эти знаки можно заменить на другие, например *.

В примере – представление номера с латинскими буквами. Для кириллицы необходимо в формуле заменить 65 на 192.

chnum0:=IntTostr(([System.Кассовыйсервер.Идентификатор] and $ffff) shl 16 or ([SeqNumber]  mod 10000));
chnum0:=Chr(([Пакеты.Станция.Код])+65-1)+'-'+copy((chnum0),length(chnum0)-1,2);

Для вывода заказов на экран сборщика – добавить к станции драйвер VDU. Выставить версия №2.

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

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

Примечание для версии EQGuestScreen 1.0.0.160

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

Примечание для версии RK 7.05.04.028 и выше

С версии 7.05.04.028 был реализован механизм кэширования макетов - теперь макет документа загружается только один раз, а затем используется повторно.

При использовании скриптов, которые изменяют сам макет, следует иметь ввиду следующий нюанс -  при повторном вызове состояние макета не такое же, как при первом вызове.

Например, скрипт для чека с электронной очередью  добавлял строки к memoХ, но не очищал содержимое memoХ в начале своей работы.

Есть два способа решения данной проблемы:

  • В свойствах макета установить опцию "Два прохода" - в таком случае кэширование макетов не будет использоваться
  • Модифицировать скрипт таким образом, чтобы учитывался факт кэширования - если скрипт изменяет свойства объекта, необходимо возвращать первоначальное значение свойства

Версия ПО "ElQue" 3.8.1 и выше

С версии "электронной очереди" 3.8.1 и выше появилась возможность указывать дополнительные статусы в заказах. А именно (пять статусов):

Рис. - Настройка статусов в свойствах клиента электронной очереди.

Статусы:

  • Заказ пришел. На данный момент опция недоступна для редактирования (требуется для балансировки заказов);
  • Готовка начата;
  • Заказ готов;
  • Сборка начата;
  • Заказ собран;
  • Заказ выдан;

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

Дополнительно, можно отметить что:

  • Электронная очередь переводит заказ в статус "Готово" - при наступлении 4 статуса (сбросили на этой машине или любой другой - неважно).
  • Полный сброс заказа происходит по статусу "Выдан".

Настройка заказов из очереди

1. О программе

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

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

2. Принцип работы

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

  • напечатан в качестве номера;
  • напечатан в качестве QR кода (у кассы должен быть считыватель QR кодов).

Принятый на мобильном терминале заказ отправляется сервером TMS на VDU и сохраняется в виде XML в опредленном каталоге для дальнейшего его поднятия на кассе РК7.

Визитка с номером заказа может быть брэндирована и выступать как дополнительный маркетинговый материал. Гость на кассе предъявляет бумагу с номером заказа. Кассир вводит номер (либо считывает QR код), на кассе открывается заказ, и гостю предлагают его оплатить. В открытый заказ можно вносить изменения, добавлять блюда, добавлять скидки.

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

Для заказа в очереди необходимо:

  • Оборудование:
    • Мобильный терминал на базе iPod (4 и 5 поколение).
    • Точка доступа WiFi
  • ПО:
    • TMS сервер
    • Мобильный официант
    • VDU

Требуемое ПО:

  • VDU – 3.2
  • RK7 – 7.4.21.299
  • TMS – 7.7.1.10
  • Или выше.

4. Установка

Фаилы хранятся на FTP:

ftp://ftpint.ucs.ru/r-keeper/WaiterNotepad/Current/TMS/RK7/

Мобильный официант на AppStore – искать RkMobWaiter

4.1. Настройка в RK7

Для приемов заказа в очереди используются 2 интерфейса кассового сервера:

  • XML интерфейс – для получения справочников для TMS сервера
  • Mobile Fast Food Interface – для открытия заказа на кассе

Примечание: если в ресторане несколько касс с собственными кассовыми серверами, XML-интерфейс нужен только на одном сервере, а Mobile Fast Food Interface на каждом сервере.

  • В интерфейсе Mobile Fast Food Interface в параметре DirName пропишите путь, такой же как и в TMS.ini

  • Создайте логический интерфейс в справочнике Сервис > Интерфейсы и свяжите с интерфейсом на кассовом сервере (рис.1A). Обязательно перезагрузите кассовый сервер.

Рис. 1A Логический интерфейс для Mobile Fast food interface

Примерная схема взаимодействия модулей приведена ниже на рис.2.

Рис. 2

  • Добавить MCR алгоритм, который будет ссылаться на интерфейс, назначенный на библиотеку Mobfastf.dll

Параметры алгоритма приведены в Рис. 3

Рис. 3

В маске обработки указать такое количество символов, какой длины будет номер заказа.

4.2. Настройка TMS

TMS настраивайте так же как и для режима мобильный официант, кроме параметров ниже:

[EXTSAVE]
Dir=d: \rk7\MobileSaveXML\

DeleteAfter = 60 - время в минутах хранения файлов с заказами в каталоге сохранения заказов ( может быть задан от 10 до 1440 минут, если меньше, то принимается равным 10, если больше - 60). Если не задан или задан равным 0, то каталог не очищается.

[VDU]
VDUID = 150                            ; ID VDU
LocalPort = 1113                       ; Порт (не менять)
RestCode  = 138440006                  ; Полный код ресторана
Waiter    = Конец очереди              ; Метка для заказа на VDU
ShowComboTitle = 0                     ; Показывать комбо контейнер

В фаиле mwnsettings7.xml настроить следующее:

FastFoodScanNumber="1"                 ; Использовать сканирование номера. 0 – не использовать
FastFoodDigNumber="4"                  ; Количество цифр в номере заказа

4.3. Настройка VDU

Заказы с очереди на VDU попадают от номера кассы с кодом 61. Можно настроить что бы заказы из очереди отображались другим цветом. Для этого на VDU нужно использовать настройку Filters > Units.

Заказы из очереди всегда отображаются после заказов с касс. Когда заказ из очереди открывается на кассе, он перемещается в очередь заказов с касс.

Что бы заказы с очереди, которые не были открыты на кассах не оставались на VDU вечно, можно настроить через какое время они сами исчезнут с экрана. Для этого нужно указать время в минутах в параметре EndQue Timeout, min

 

Рис. 4

Примечание: просроченные заказы «сбросятся» после появления нового заказа

Настройки интерфейса VDU смотрите на рисунке ниже.

Рис.5 Настройки интерфейса на кассе 

Настройка обратной связи между VDU и кассовым сервером

Настройка связи с r_keeper_7

Настройка обратной связи VDU c кассовым сервером RK7 (нужна версия VDU 4.0.3.19+ и RK 7.5.8.104+).

Работает обратная связь только с использованием значения параметра VDUVersion="3"!

Настройка кассовой станции

На кассу добавляем интерфейс VDU Fast Food Interface (ver.2).

В опциях драйвера выставить версию протокола VDU - "3"

Настройки HttpUser и HttpMode необходимо использовать, если для отправки заказа на кассовый сервер необходима авторизация другого работника, отличного от настроенного на VDU (настройка HttpUser и HttpPass перекрывает настройку CashServer Https User\Password при ОТПРАВКЕ информации о заказе от VDU на кассовый сервер

Отключить сообщение о готовности блюд. Для этого заходим в "Параметры работы предприятия" - "Сообщение офоицианту" - "Текст сообщения о готовности блюд")

В настройках параметра "Строковый" установить пустое значение

Настройка кассового сервера

Данные настройки необходимо произвести для КАЖДОГО кассового сервера в ресторане!

  • Настроить HTTPS XML на кассовом сервере   (http://tracker.ucs.ru/projects/-helpdesk-/wiki/R-keeper-7-xmlinterface-ru)
  • Добавить работника, под которым будет производиться авторизация на HTTP-интерфейсе, либо указать HTTPAuthMode = -1 в rkeeper.ini
  • Настроить на кассовых серверах HTTP SERVER 

Заполнить следующие поля:

  • BindAddress - обязательно для заполнения, иначе будет передаваться пустой адрес. Реальный IP адрес внутри подсети ресторана (127.0.0.1 использовать нельзя)
  • HttpDataPort - порт который будет слушать HTTP сервер
  • UseFreeListenPort - убрать галочку, HTTP сервер должен обязательно слушать конкретно указанный порт

Настройка VDU

Настроить связь с одним из кассовых серверов на VDU

Выполнить следующие настройки :

Настройки секции Cash Server (https)

  • Address - обязательно указать, иначе будет передаваться пустой адрес (соответствует значению BindAddress в настройках HTTP server r_keeper_7). Реальный IP адрес внутри подсети ресторана (127.0.0.1 использовать нельзя)
  • Port - порт который будет слушать HTTP сервер
  • User - имя работника под которым производится авторизация в HTTPS - интерфейсе (регистр важен)
  • Password - пароль работника под которым производится авторизация в HTTPS - интерфейсе

Если HTTPAuthMode = -1 оставить пустым или задать пользователя и пароль :

Остальные настройки:

  • Настроить VDU Portocol - из выпадающего списка выбрать 3 (Обязательно 3!)
  • Включить Need authorization (для передачи информации о статусах заказа KDSSetDishData3). Если указать User code и Password (код и пароль работника текущего ресторана) то запросы будут передаваться на кассовый сервер под определенным работником, иначе будут запрашиваться на старте:

  • User Code - код работника текущего ресторана, в котором используется VDU
  • Password - соответствующий работнику пароль
  • StationID - идентификатор кассовой станции реально существующей в ресторане
  • Установить галочку Accept drops - сброс заказа по нотификации с других VDU
  • Установить галочку Info R-Keeper drop - передавать информацию о заказе в r_keeper_7
  • Установить галочку Info other VDU drop - для передачи нотификации на другие VDU

Связь VDU и кассового сервера

Схема механизма взаимодействия VDU и кассового сервера:

Где MID* - связка кассовый сервер + кассовая станция r_keeper_7

Статусы и БД

Статусы монитора VDU

Статусы монитора VDU представлены на скриншоте ниже

После установки связи VDU и кассового сервера r_keeper_7 заказ появляется на мониторе CDU в статусе 0. При условии, что не установлена галочка "Show paid orderds only", появляются только оплаченные заказы

Описание статусов VDU в БД

В БД кассового сервера RK7 будут создаваться и заполняться поля: "Начало приготовления", "Окончание приготовления", "Забрано", "В сборке" и "Собрано" в таблице с информацией от VDU.

Таблица значений изменений статусов на VDU и их соответствие записям в базе SQL:

Список записей в базе SQL и их значения

  • Sentat - время оплаты заказа на кассе
  • Sentmanagerid - идентификатор работника, который осуществил оплату заказа на кассе
  • Initat - статус заказа на мониторе VDU изменился с 0 на 1 - время начала приготовления заказа.
  • Initmanagerid - идентификатор работника, зарегистрированного на VDU
  • Doneat - статус заказа на мониторе VDU изменился с 1 на 2 - время приготовления заказа.
  • Donmanagerid - идентификатор раюотника, зарегистрированного на VDU
  • Collectat - статус заказа на мониторе VDU изменился с 2 на 3 - время передачи заказа на сборку
  • Collectdat - статус заказа на мониторе VDU изменился с 3 на 4 - время сборки заказа
  • Collectmanagerid - идентификатор работника зарегистрированного на VDU, изменившего статус заказа
  • Takeat - статус заказа на мониторе VDU изменился с 4 на 5 - время, в которое выдан заказ
  • Takemanagerid - идентификатор работника, зарегистрированного на VDU
  • Cooktm = doneat - initat (секунды = 60 \ остаток секунд) - время приготовления заказа (указывается в минутах и секундах)
  • Visitid - идентификатор визита
  • Midserverid - идентификатор кассового сервера
  • Дополнительные записи в базе для парковки:
  • Startparkat - время начала парковки
  • Endparkat - время окончания парковки
  • Startparkmanagerid - идентификатор работника, зарегистрированного на VDU
  • Endparkmanagerid - идентификатор работника, зарегистрированного на VDU

Отправка заказов на монитор VDU

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

Утилита предназначена для отправки заказов через XML-интерфейс на монитор заказов VDU
Утилита посылает заказ на VDU (из каталога XMLDir) при получении в определенном каталоге (каталоге CmdDir) файла команды (имя файла - это номер заказа.xml)

  • VDU - ElQue_Vdu 3.5.1
  • r_keeper - RK7 7.5.4 и выше
  • Утилита VDUXMLPrinter2

Установка

Скачайте исполняемый файл VDUXMLPrinter2.
Запустите приложение. Нажмите кнопку Install

Рис.1 Параметры VDU XML Printer

 

После установки необходимо создать и прописать путь к следующим директориям:

  • Result Dir – каталог со статусами «отработанных» заказов
  • MobileFF Dir – каталог онлайн заказов
  • EQ NUMS DIR – каталог электронной очереди
  • ERROR FILES DIR – каталог ошибок RKPrintCheck.dll
  • XML DIR – каталог для заказов
  • Command Dir – каталог, для команд

Заполните параметры:

  • EQ LBL TYPE – формат заказа для электронной очереди
  • VDU ID – id VDU, должен быть указан id из настроек менеджерской
  • Unit NUM - код кассы, от которой создаются заказы
  • XML INTERFACE – ip-адрес кассового сервера и порт xml-интерфейса кассового сервера
  • SENDING PORT – любой свободный, открытый порт
  • TABLE CODE – код стола
  • DELREASON CODE – код причины удаления
  • MESSAGE TTL,s –  время жизни сообщения в секундах
  • VDU WAITER – имя кассира
  • Dlv. WAITER - имя курьера
  • Offline WAITER - имя

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

После заполнения настраиваем менеджерскую станцию R-Keeper7. Добавляем XML интерфейс на кассовый сервер. Прописываем порт который будет использовать R-Keeper для передачи данных на VDU устройство (рис.2)

Рис. 2 (Добавление XML интерфейса)

После необходимо создать новый интерфейс (вкладка Сервис-Интерфейсы) и привязать XML драйвер к созданному интерфейсу (рис.3)

Рис. 3

Для приемов заказа в очереди используются 2 интерфейса кассового сервера:

  • XML интерфейс
  • Mobile Fast Food Interface

Примечание: если в ресторане несколько касс с собственными кассовыми серверами, XML интерфейс нужен только на одном сервере, а Mobile Fast Food Interface на каждом сервере.

Рис. 4

Создать новый логический интерфейс в справочнике "Сервис-Интерфейсы", связать с интерфейсом на кассовом сервере. Обязательно перезагрузить кассовый сервер.

Рис.5

Добавить MCR алгоритм, который будет ссылаться на интерфейс, назначенный на библиотеку Mobfastf.dll

Рис. 6

В маске обработки указать такое количество символов, какой длины будет номер заказа.

Настройка VDU

Можно настроить что бы заказы из очереди отображались другим цветом. Для этого на VDU нужно использовать настройку UNITS SETUP.
Заказы из очереди всегда отображаются после заказов с касс. Когда заказ из очереди открывается на кассе, он перемещается в очередь заказов с касс. Чтобы заказы с очереди, которые не были открыты на кассах, не оставались на VDU вечно, можно настроить через какое время они сами «сбросятся» с экрана. Для этого нужно указать время в минутах в параметре EndQue Timeout, min

Рис. 7

Примечание: просроченные заказы «сбросятся» после появления нового заказа (любого).

Настройки интерфейса VDU смотрите на рисунке ниже

Рис. 8

Работа с утилитой

Важно: файл-команда заказа не должен содержать строк с пустыми ID.

Для запуска приложения выполнить VDUXMLPrinter.exe. Нажать кнопку Install, нажать кнопку Start. Для вывода заказа на экран VDU сформировать файл-команду заказа и положить его в «XML Dir», положить файл-команду в каталог «Command Dir».
После выполнения файла-команды FPrint в каталоге электронной очереди EQ NUMS DIR формируется файл с номером заказа для электронной очереди.

В качестве примера, имеем в качестве входных параметров заказ 17449.xml, следующего содержания (XML):

      <Order persistentComment="17449">
      <OrderType id="1"/>
<Session>
      <Payments>
      </Payments>
      <Course code="0"/>
      <Dish id="1000057" quantity = "1000">
      </Dish>
      </Session>
      </Order>

После получения команды FPrint в каталоге сформируется файл 17449.xml. В файле содержится номер для электронной очереди, в данном случае «D-49».

Настройка доставки

Добавлена поддержка Delivery. Пример заказа (XML)&

<Order persistentComment="17451">
      <OrderType id="1"/>
      <Session>
      <Payments>
      <Payment id="1" amount="1000000"/>
      </Payments>
         <Delivery deliveryState="1" startTime="2015-09-16T14:00:00" travelTime="1899-12-30T00:15:00" deliveryTime="2015-09-16T18:00:00"  zoneID="6" zoneName="KFC Автозаводская 2" orderPrefix="KFC_"/>
      <Course code="0"/>
      <Dish id="1000054" quantity = "1000">
      </Dish>
      </Session>
      </Order>

где:

  • deliveryState - Статус доставки
  • startTime - Время создания заказа
  • travelTime - Время в пути
  • deliveryTime - Ожидаемое время доставки
  • forwarderSendTime - Время отправки экспедитора
  • forwarderReturnTime - Время возвращения экспедитора
  • realDeliveryTime - Реальное время доставки
  • zoneID - ID зоны доставки
  • zoneName - Имя зоны доставки
  • orderPrefix - Префиск для имени заказа
ВложениеРазмер
vduxmlprinter2.rar951.63 КБ

Печать с VDU

Введение

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

При получении выбранного статуса заказа, на кассовый сервер будет отправляться запрос PrintDataXML с указанием назначения принтера и номер кассовой станции.
Текст запроса собирается из макета: файлы PrintMaket*xml, находящиеся в папке с VDU
PrintMaket.xml - основной файл.
В блоке [Dishes] — для каждого блюда вставляется строчка, собранная из макета соответствующего типа - файлы PrintMaket...xml

Макеты можно редактировать по своему усмотрению.

Настройка печати

  1. В менеджерской станции откройте Настройки > Печать > Назначения принтеров
  2. Выберите желаемый принтер и запомните его Идентификатор. Это будет ID назначения принтера в настройках VDU. В моём случае идентификатор равен 1.
  3. Перейдите в Сервис > Станции и Устройства
  4. Нажмите на желаемую кассу и скопируйте из свойств её идентификатор. Это будет ID принтера в настройках VDU. Идентификатор моей кассы — 15002.
  5. Откройте VDU и перейдите в Настройки > Интерфейсы > Сторонние программы
  6. Поставьте галочку Вкл в разделе Печатать по статусу
  7. Пропишите идентификатор принтера в поле ID назначения принтера и ID принтера. Перевод неверный, это не ID принтера, а ID кассовой станции.
  8. Выберите статус, при получении которого принтер будет печатать чек. 
  9. Нажмите ОК и перезапустите VDU
  10. Теперь при присвоении заказу указанного статуса, чековый принтер будет печатать чек с данными о заказе
  11. Пример чека ниже:

Текст запроса

Ниже приведён текст XSD-файла печати с комментариями. Он же приложен в виде к этой статье.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xs:complexType name="UnfiscalAttributes">
    <xs:annotation>
      <xs:documentation xml:lang="ru">Основной тэг нефискальной печати</xs:documentation>
    </xs:annotation>
    <xs:attribute name="Slip" type="xs:boolean" use="optional" default="0">
      <xs:annotation>
        <xs:documentation xml:lang="ru">Печать на бланке</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="CutAfter" type="xs:boolean" use="optional" default="0">
      <xs:annotation>
        <xs:documentation xml:lang="ru">Надо ли отрезать (завершить оформление документа) в конце</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:anyAttribute processContents="skip"/>
  </xs:complexType>
  <xs:attributeGroup name="uniTextAttributes">
    <xs:attribute name="FontNum" type="xs:nonNegativeInteger" use="optional" default="0"/>
    <xs:attribute name="Bold" type="xs:boolean" use="optional" default="0"/>
    <xs:attribute name="BigHeight" type="xs:boolean" use="optional" default="0"/>
    <xs:attribute name="BigWidth" type="xs:boolean" use="optional" default="0"/>
    <xs:attribute name="Inverted" type="xs:boolean" use="optional" default="0"/>
    <xs:attribute name="AltLang" type="xs:boolean" use="optional" default="0"/>
    <xs:attribute name="Tapes" use="optional" default="8">
      <xs:simpleType>
        <xs:restriction base="xs:int">
          <xs:enumeration value="0"/>
          <xs:enumeration value="1"/>
          <xs:enumeration value="2"/>
          <xs:enumeration value="3"/>
          <xs:enumeration value="4"/>
          <xs:enumeration value="5"/>
          <xs:enumeration value="6"/>
          <xs:enumeration value="7"/>
          <xs:enumeration value="8"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:attributeGroup>
  <xs:complexType name="uniTextBlock">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attributeGroup ref="uniTextAttributes"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="uniTextLine">
    <xs:attributeGroup ref="uniTextAttributes"/>
    <xs:attribute name="Text" type="xs:normalizedString" use="required"/>
  </xs:complexType>
  <xs:complexType name="uniTextPart">
    <xs:attributeGroup ref="uniTextAttributes"/>
    <xs:attribute name="Text" type="xs:normalizedString" use="required"/>
  </xs:complexType>
  <xs:complexType name="uniRawBlock">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="Encoding" use="required">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:enumeration value="No"/>
              <xs:enumeration value="Base64"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="uniBarCode">
    <xs:attribute name="Type" use="optional" default="EAN-13">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="EAN-13"/>
          <xs:enumeration value="Code-39"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="TextPosition" use="optional" default="No">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="No"/>
          <xs:enumeration value="Top"/>
          <xs:enumeration value="Bottom"/>
          <xs:enumeration value="Top&amp;Bottom"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="Value" type="xs:normalizedString" use="required"/>
  </xs:complexType>
  <xs:complexType name="uniBeep"/>
  <xs:complexType name="uniDrawer">
    <xs:attribute name="Number" use="optional" default="0">
      <xs:simpleType>
        <xs:restriction base="xs:int">
          <xs:enumeration value="0"/>
          <xs:enumeration value="1"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
  <xs:complexType name="uniLogo">
    <xs:attribute name="Number" type="xs:int" use="required"/>
  </xs:complexType>
  <xs:complexType name="uniPass">
    <xs:attribute name="Lines" type="xs:int" use="required"/>
  </xs:complexType>
  <xs:complexType name="uniWait">
    <xs:attribute name="MSecs" type="xs:int" use="required"/>
  </xs:complexType>
  <xs:complexType name="uniUnfiscal">
    <xs:complexContent>
      <xs:extension base="UnfiscalAttributes">
        <xs:sequence>
          <xs:choice minOccurs="0" maxOccurs="unbounded">
            <xs:element name="TextBlock" type="uniTextBlock"/>
            <xs:element name="TextPart" type="uniTextPart"/>
            <xs:element name="TextLine" type="uniTextLine"/>
            <xs:element name="RawBlock" type="uniRawBlock"/>
            <xs:element name="BarCode" type="uniBarCode"/>
            <xs:element name="Beep" type="uniBeep"/>
            <xs:element name="Drawer" type="uniDrawer"/>
            <xs:element name="Logo" type="uniLogo"/>
            <xs:element name="Pass" type="uniPass"/>
            <xs:element name="Wait" type="uniWait"/>
          </xs:choice>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:schema>
ВложениеРазмер
xsd-shema.zip1.2 КБ

Настройка контроля приготовления через штрихкоды

Версионность

Доступно, начиная с версий 7.4.21.289+, 7.5.2.98+, в которых добавлен новый MCR алгоритм Ident=126, name="Вызов официанта с XXXXX" (altname="Waiter call from XXXXX").

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

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

Примечание: для печати штрих-кода на сервис-чеке, в менеджерской станции РК7 необходимо заполнить параметр "Классификация для KDS и VDU" (справочник "Настройки - Параметры" группа "Установочные - Связь с другими системами - KDS и VDU - Классификация для КДС и VDU"). Включение данного параметра проверяет скрипт в предустановленном макете сервис-чека.

Порядок настройки

Для передачи имени кухни в текст сообщения официанту необходимо:

  1. Старый MCR алгоритм (Ident=122, name="Контроль кухни: вызов официанта") сделать неактивным.
  2. В свойствах каждого устройства COM Barcode reader на кассовой станции указать уникальный Device Identifier для каждого сканера ресторана.
  3. Новый алгоритм (ident=126, name="Вызов официанта с XXXXX") сделать активным, сделать его копию, в каждой копии поменять название MCR алгоритма и присвоить DeviceIdent= тому же значению, что и в Device Identifier в свойствах устройства COM Barcode reader на кассовой станции.

Примечание: Чтобы в оповещении о готовности выходило ещё и название блюда, нужно в параметре "Текст сообщения о готовности блюда" написать: "Блюдо %2:s готово для стола: %0:s". Подробнее в описании параметра.

Настройка связи с rk_reserv

Введение

ПО "Резервирование" расширяет возможности комплексов автоматизации на базе RK6 и RK7. Предназначено для контроля и управления столами заведения. Добавляет возможности предварительного резервирования (бронирования) столов.  Состоит из нескольких частей:

  • Сервер резервирования - rsvserv.exe (защищен лицензионным ключем - Guardant)
  • Рабочее (клиентское) приложение - reserv.exe
  • Отчетное приложение - bookrep.exe
  • Библиотека связи сервера резервирования со сторонним ПО - gater.dll

Документация по использованию данной системы в электронном виде - есть на ftp://ftp.ucs.ru/books или здесь - http://support.ucs.ru/ru/node/7263#header-11.

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

Для установки требуется:

  • Стандартный ПК офисной конфигурации под управлением ОС Windows.
  • На объекте должен быть уже установлен комплекс RK6 или RK7.
  • Имеются и кассы и кассовые серверы.
  • Заранее необходимо определиться с каким кассовым сервером будет работать система резервирования.

Установка сервера резервирования

Скачать с ФТП актуальную версию дистрибутива, например,  - ftp://ftp.ucs.ru/r-keeper/versions/RESERV/rsv10500.7z. Там же, содержаться информационные файлы content.txt и history.txt которые, рекомендуется просматривать, что бы быть в курсе новых версий, исправлений, доработок по данному программному продукту. 

Распаковать содержимое архива в отдельный каталог, на рабочий раздел HDD  например, - D:\RK7\RESERV (если, будет использоваться совместно с RK7) или D:\RK6\RESERV (если, будет использоваться совместно с RK6). Или просто в D:\RESERV. Содержимое каталога \RESERV после распаковки дистрибутива будет примерно следующим:
  • \BOOKREP  - Cодержит все необходимое для запуска отчетного приложения - BookRep.exe.
  • \GATER    - Cодержит интерфейсную DLL для связи сервера резервирования (бронирования) со сторонним ПО.
  • \HOSTESS  - Cодержит все необходимое для запуска самого приложения резервирования (бронирования) - Reserv.exe.
  • \SERVER   - Cодержит все необходимое для запуска сервера резервирования (бронирования) - rsvserv.exe.
Следующим шагом, необходимо сконфигурировать и запустить сервер резервирования.

Содержимое каталога \SERVER:

  • RESERV.DAT    - База данных сервера резервирования.
  • GrdVkc32.dll  - Библиотека поддержки лицензионного ключа Guardant (Stelth II).
  • Rtcp.dll      - Универсальная библиотека связи с сервером через TCP-протокол.
  • rsvserv.exe   - Сервер резервирования.
  • Uprsdb.exe    - Утилита апгрейда базы сервера резервирования.
  • RsvServ.ini   - Конфигурационный файл сервера резервирования

Отредактировать RsvServ.ini:

[Options]             - Раздел настроек.
Log=1                 - Писать ли лог-файл.
Database=RESERV.DAT   - Указание используемой БД.
Guardant=$(ID ключа)  - Для сервера можно указать с каким именно ключом ему работать (например, если к ПК подключено несколько ключей).

[LinkDLL]             - Раздел указания используемых модулей связи.
1 = RTcp              - Используемая библиотека связи.

[RTcp]                - Раздел настроек библиотеки связи.
Port = 7777           - Порт связи с сервером (указать уникальный).

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

Перед запуском сервера необходимо установить драйвер Guardant (www.guardant.ru) и подключить USB-ключ (Novex Stealth II) с прописанной в нем лицензией для ПО "Резервирование".

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

 

Запуск сервера - rsvserv.exe:

  • с ключем /desktop    - для запуска сервера в качестве приложения.
  • с ключем /install    - для установки сервера в качестве службы.
  • с ключем /uninstall  - для удаления сервера из списка служб.

Успешно запущенный сервер:

 

Обновление сервера

В новую сборку каталога \SERVER копируется база из рабочей (старой) сборки сервера и запускается утилита - UPRSDB.EXE (она доведет версию базы до версии сборки сервера в которой она была запущена). Апгрейд базы работает только на повышение.

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

Приложение резервирования может быть установлено как локально (на том же ПК, где и сервер), так и на любом другом ПК, в пределах ЛВС предприятия. Необходимо учесть, что приложение подключается одновременно к двум серверам - серверу резервирования и кассовому серверу Rk7 и соответственно работает с их базами, а так же (если используется совместно с RK6) - настраивается подключение и к менеджерской базе RK6 - \DB.

Примечание: интерфейс приложения оптимизирован под сенсорный экран  - при отсутствии тачскрина можно работать мышью, включив параметр Cursor=1 в Reserv.ini

Состав каталога \HOSTESS:

  • \RK6          - Содержит необходимые файлы для связи с RK6.
  • \RK7          - Содержит необходимые файлы для связи с RK7.
  • \SMS          - Содержит необходимые файлы для организации рассылки sms-оповещений.
  • borlndmm.dll  - Системный файл.
  • Rtcp.dll      - Библиотека связи с сервером резервирования.
  • Reserv.eng    - Файл локализации приложения с поддержкой английского языка.
  • RESERV.EXE    - Приложение резервирования.
  • Reserv.ini    - Основной конфигурационный файл приложения.
  • rkbd.ini      - Вспомогательный конфигурационный файл.
Настроить конфигурационный файл Reserv.ini:
[Options]          - Раздел настроек.
LogLevel=1         - Уровень детализации лога (0..3).
PushPinCol=3       - Номер столбца привязки в таблице столов (0..9)
SizePercent=100    - Масштабирование всех элементов интерфейса приложения (75..150).
FontName=Tahoma    - Используемый шрифт.
Cursor=0           - Включить (1), отключить (0) отображение указателя мыши.
SmsDll=ISMS.DLL    - Библиотека управления sms-рассылкой.
LinkDll=RTcp       - Библиотека связи с сервером резервирования.
LinkGate=1         - Номер набора параметров
Shutdown=0         - 0 - обычный выход из приложения, 1 - при выходе, завершение работы Windows.
Unmismatch=100     - Уровень безошибочности предсказаний длительности: 100 - означает вероятность ошибки 1/100

[RTcp]             - Раздел настроек используемой библиотеки связи.
Client1=Rk-Reserv  - Клиентское имя приложения.
Server1=127.0.0.1  - Указать IP ПК, на котором запущен сервер резервирования.
Port1=7777         - Указать порт сервера резервирования.

Каталог \HOSTESS необходимо дополнить модулями поддержки Fast Report. Иначе не будет возможности строить отчеты и работать с печатными формами. Для этого, с ФТП скачать архив - ftp://.../r-keeper/versions/OTHER/fr302.7z и распаковать его содержимое в рабочий каталог программы.

Далее, настраивается связь с той системой (с RK6 или RK7), совместно с которой будет использоваться ПО "Резервирование".

Настройка связи с r_keeper_7

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

В каталог \HOSTESS скопировать все содержимое каталога \HOSTESS\RK7.

Настроить ICAS.INI:

[Options]                - Раздел настроек.
LogLevel=2               - Уровень детализации лога (0..2).
Server=127.0.0.1:2240    - IP-адрес ПК, где запущен кассовый сервер RK7 (MIDSERV.EXE) и порт xml-интерфейса (см.ниже).
Key=2240                 - Криптографический ключ, если используется и указан в RK7 (см.ниже).

Настройка сервера версии 2.0.1 и выше 

С версии v.2.0.1 - сервер резервирания также как и клиентское приложение, стал  использовать для своей работы и подключения к RK библиотеку ICAS.DLL.

  • До версии 2.0.1 - подобной настройки не требовалось.

Таким образом, необходимо продублировать действия по настройке ICAS.DLL в том числе и на сервере. Т.е.:

  • Скопировать содержимое каталога \RESERV\HOSTESS\RK7 в каталог \RESERV\Server.
  • Продублировать настройки ICAS.INI сделанные в клиенте (или просто скопировать настроенный ранее ICAS.INI из каталога \HOSTESS в каталог \SERVER).

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

  • В "Менеджерской RK7" - Сервис\Станции и Устройства  - на требуемый кассовый сервер "повесить" отдельный xml-интерфейс в свойствах которого указать уникальный порт связи (Port) для резервирования и CryptKey (если нужен), эти же параметры указываются в ICAS.INI (см.выше):

  • В Сервис\Интерфейсы, создать отдельную копию с xml-интерфейса, переименовать, сделать активным, и указать для кассового сервера драйвер xml-интерфейса созданный в предыдущем пункте:

  • Запустить кассовый сервер (MIDSERV.EXE) и убедиться что интерфейс подгружен:

  • При необходимости, настроить планы залов в RK7 стандартным образом (примерно по той же схеме, как и при связке с RK6) -  создать столы, разместить на плане, указать количество мест. Добавить атрибуты столов и присвоить им картинки:

  • В свойствах столов, который будут использоваться для размещения резервирования, установить опцию "Бронирование разрешено" в секции [Основное]:

 

  • В "Типах столов" - каждому столу присвоить нужные атрибуты:

  • Вывести ярлык приложения Reserv.exe на рабочий стол. Дать название, например, - "Резервирование".
  • Запустить серверы (rsvserv.exe, midserv.exe), запустить приложение - Reserv.exe и проверить его работу.

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

Каталог \BookRep необходимо дополнить модулями поддержки Fast Report. Иначе не будет возможности строить отчеты и работать с печатными формами. Для этого, с ФТП скачать архив - ftp://ftp.ucs.ru/r-keeper/versions/OTHER/fr302.7z и распаковать его содержимое в рабочий каталог программы.

Настроить BookRep.ini:

[Options]          - Раздел настроек.
LinkDll=RTcp       - Использумый модуль связи с сервером резервирования.
LinkGate=1         - номер набора настроек.
Log=1              - Писать (1) или нет (0) лог-файл.

[RTcp]                    - Раздел настроек используемого модуля связи.
Client1 = BookingReport   - Под каким именем подключаться к серверу резервирования.
Server1 = 127.0.0.1       - IP-адрес ПК на котором запущен сервер резервирования.
Port1 = 7777              - Порт для подключения к серверу.

Вывести ярлык приложения BookRep.exe на "Рабочий стол". Дать название, например, - "Отчеты резервирования".

Запустить, проверить работу.

Настройка связи с двумя системами лояльности

Введение

Иногда при использовании одной системы лояльности, например ПДС, возникает необходимость работы с новой системой, например R-Keeper CRM. Если новая система лояльности использует свои уникальные карты, номера которых не пересекаются с номерами старой системы, то все настраивается достаточно стандартно (два MCR-алгоритма, два логических и два физических интерфейса). Различными в данном случае могут быть не только карты, но и устройства (для одной системы используют магнитные карты, для другой - бесконтактные).

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

Например, 2 кассы стоят в игровой зоне и тогда карта должна работать как платежная и еще 2 кассы стоят в ресторанной зоне и тогда карта должна работать как дисконтная.

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

Настройка

Предположим у нас есть карты, номера которых разделили на 2 группы, т.к. 2 системы лояльности.

На карте прошито следующее: 778=07150000=НомерКарты.

Группа 1 - карты, номера которых попадают в диапазон от 3000000 до 3100000 включительно.

Группа 2 - карты, номера которых попадают в диапазон от 3100000 до 3200000 включительно.

Тогда для первой группы карт MCR-алгоритм будет выглядеть следующим образом:

function MCR1000158(DeviceSignal: Integer; DeviceIdent: Integer; var Parameter: String): Boolean;

var CardCode: integer;

begin

  if pos('778=07150000=', Parameter) = 1 then 

  begin

    delete(Parameter, 1, 13);

    CardCode:= StrToInt(Parameter);   

    if ((CardCode>=3000000) and (CardCode<=3100000)) then 

    Result:=true else  Result:= false;

  end;

end;
 
А для второй группы карт MCR-алгоритм будет выглядеть так:
 
function MCR1000159(DeviceSignal: Integer; DeviceIdent: Integer; var Parameter: String): Boolean;

var CardCode: integer;

begin

  if pos('778=07150000=', Parameter) = 1 then 

  begin

    delete(Parameter, 1, 13);

    CardCode:= StrToInt(Parameter); 

    if ((CardCode>3100000) and (CardCode<=3200000)) then 

    Result:=true else  Result:= false;

  end;

end;
Если необходимо, чтобы данный MCR-алгоритм проверялся только в режиме оплаты, то необходимо вставить проверку:
if (RKCheck.Valid = true) then ...

Настройка привязки MCR-алгоритма к интерфейсу происходит стандартным способом. Схематично изображено на рисунке ниже.

Рис. Настройка MCR-алгоритма №1

Рис. Настройка MCR-алгоритма №2

Переключение на Универсальную кассу Kinoplan Premiera

Введение

Данное описание тестировалось на версиях r_keeper  7.6.4.208 и Premiera 4.0R4.48

В этой статье рассмотрим процесс настройки механизма обмена данных между кассовой станцией r_keeper_7 и Kinoplan Premiera

Настройки со стороны r_keeper_7

Настройка формы для кассовой станции

Загружаем на компьютер форму из прикрепленного файла switcherfromrk7tocinema_new.rar

Далее открываем кассовую станцию r_keeper_7 и переходим во вкладку "Сервис > XML Импорт/экспорт". После открытия в панели быстрого доступа у нас появляется три новых элемента "Load XML file", "Add items", "Save XML file".

Теперь необходимо загрузить в r_keeper_7 ранее скаченную форму. Нажимаем "Load XML file" и выбираем файл формата *xml

После открытия окна с добавленной формой нажимаем кнопку "Add items"

Далее форма будет сохранена в справочнике "Настройки - Графический интерфейс > Формы > Заказ > Редактирование заказа(быстрый чек)

Создание скрипта

Переключение между двумя программами осуществляемся через скрипт. Поэтому следующим шагом будет создание нового скрипта. Переходим в справочник "Сервис > Скрипты" и в разделе "Контроль кассовых операций" создаем новый скрипт со следующим содержимым

procedure CheckOperation1000459(Operation, Parameter: integer; var ValidResult, CallNextTime: boolean);
var 
srv_request: string;
begin
  if operation=127 then
  begin
  HttpGet('http://127.0.0.1:8787/orderguid='+RkCheck.CurrentOrder.GUIDString+'&mode=5', srv_request);
  end;
end;   

В строке HttpGet указывается адрес и порт сервера Kinoplan Premiera (о настройках данных параметров в соответствующем разделе)

Примечание : Первая строка Procedure должна быть дефолтной

Привязка скрипта к схеме форм

Переходим в справочник "Настройки > Графический интерфейс > Схемы форм" и создаем копию используемой схемы форм

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

Настройка использования форм

После выполнения предыдущих действий переходим в справочник "Настройки > Графический интерфейс > Использование схем форм" . Выбираем ранее созданную схему формы и переходим в ее свойства. Теперь нам необходимо заменить форму в назначении "Редактирование заказа (быстрый чек)

Далее необходимо добавить новую схему форм в использование

Создание наценки

Для создания наценки переходим в справочник "Деньги - Скидки и наценки" и создаем новую НЕРАСПРЕДЕЛЯЕМУЮ наценку. Указываем ее уникальный код, который в дальнейшем будет присвоен параметру "Non-fiscal markup code" в интерфейсе "Cinema Switcher" на кассовой станции.

Выставляем флаги у наценки:

  • Нефискальная операция
  • Искл. из доходов (появится, когда выберете "нефискальная операция")
  • Фискально снаружи
  • Изменяемое значение

Для наценки обязательно необходимо создать нулевую детализацию во вкладке "Детализация"

Примечение: можно добавить вторую наценку, убрать у нее флаг "Нефискальная операция" и значение этой наценки внести в поле интерфейса "Cinema Switcher" параметр "Fiscal markup code". Тогда эта составляющая заказа Kinoplan Premiera будет пробиваться на фискальном регистраторе в виде фискальной наценки. Возможность используется для фискализации "Дополнительных услуг" на кассе Kinoplan Premiera, например 3D очки или какой либо сопутствующий билету товар

Добавление и настройка PDS интерфейса на кассовом сервере

Для добавления интерфейса переходим в справочник "Сервис > Станции и устройства". Выбираем нужный кассовый сервер и во вкладке "Устройства" добавляем PDS interface.

Задаем уникальное имя параметру PDS Server Name, а для параметра "Pass ALL Receipt XML data" выбираем значение "Yes, always (fail if impossible)

В справочнике "Сервис > Интерфейсы" создаем новый логический интерфейс, путем копирования существующего "Персональный дисконтные системы (ПДС). Это необходимо для того, чтобы новый интерфейс работал через pdsempty.dll.

И связываем его с физическим PDS interface. Далее сохраняем изменения и перезагружаем кассовый сервер.

Добавление и настройка XML интерфейса на кассовой станции

Для добавления интерфейса необходимо зайти в справочник "Сервис > Станции и Устройства" и выбрать ту кассовую станцию с которой будет взаимодействовать касса Kinoplan Premiera. 

Далее во вкладку устройства добавляем XML interface и прописываем ему уникальный свободный порт.

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

Добавление и настройка CinemaSwitcher

Также на кассовую станцию необходимо добавить интерфейс "Cinema Switcher" и заполнить параметр "Non-fiscal markup code" (данный параметр должен соответствовать коду ранее созданной нераспеделяемой наценки) или "Fiscal markup code" (обычно применяется для кинотеатров вне территории Российской Федерации)

Примечание: "Fiscal markup code" должен равняться 0

Примечание: в настройки интерфейса Cinema Switcher добавлен параметр Purchase dish code (код блюда выкупа для оформления возврата билетов)

Создание нового назначения принтеров

В справочнике "Настройки > Печать > Назначение принтеров" создаем новое назначение принтеров, с произвольным названием, например "Для Премьеры". 

Для данного назначения в свойствах кассовой станции выбрать принтер "Не печатать"

Создание блюд и добавления новой классификаций

В справочнике "Меню > Меню" создаем новую категорию блюд (допустим "для кинотеатра") и в ней создаем 2 блюда - Билет и Очки 3D. У блюд обязательно настроить следующие параметры

  • Открытая цена
  • Цена основая = 1 (Цена на билет будет формироваться из модуля "Kinoplan Premiera"
  • Разрешить выкуп
  • Код блюда произвольный

Примечание: Проверьте, что в настройках блюда "Билет" в разделе "Классификация" для созданной классификации "Для билетов" выбрана категория "Не печатать". Это нужно для того, чтобы данное блюдо не проходило через фискальный регистратор в кассе r_keeper_7

Данным блюдам присваиваем уникальный код и ограничиваем доступ к этим блюдам тем кассирам, которые будут работать на "Универсальной кассе" для того, чтобы они вручную не смогли его пробивать.

Для этого переходим в справочник "Персонал > Права" и создаем новое право "Право на блюдо"

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

Выбор причины удаления

В справочнике "Заказ > Причины удаления" необходимо посмотреть либо изменить код причины удаления, которая будет использоваться по умолчанию при удалении позиций на "Универсальной кассе" из кассового модуля Kinoplan Premiera

Создание пользователя

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

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

О настройке монитора покупателя читайте статью https://support.ucs.ru/ru/node/6303

Код валюты в r_keeper_7 должен совпадать с ID валюты в Kinoplan Premiera (можно посмотреть только через БД)

Если универсальная касса периодически подвисает при передаче нотификаций из r_keeper_7 в модуль Premiera, то необходимо в менеджерской Premiera во вкладке "Внешние модули" в подменю "Станции > Принтеры Билетов" выбрать принтер и в поле "Порт" нужно указать принтер печати билетов как сетевой.

Настройки со стороны Kinoplan Premiera

Указываем порт "ПО Премьера" в соответствии с настройкой в адресной строке скрипта и прописываем порт XML интерфейса который мы добавляли на кассовую станцию r_keeper_7

Далее переходим в настройки менеджерской станции Premiera и вписываем следующие коды из r_keeper_7:

  • Код блюда "Билет"
  • Код блюда "3D очки"
  • Код блюда "Товар Премьера"
  • Код причины удаления
  • Код и пароль пользователя (заведенного для работы с универсальной кассой)

Настройка FarCards

Для работы данной связки необходимо установить отдельный экземпляр FarCards который использует библиотеку Extdll.dll. Архив прикреплен в конце статьи.

После распаковки архива, открываем файл Extdll.ini и вставляем в него строку 

[MAIN]
Url = http://127.0.0.1:7788/guid=%checkguid%&mode=%checkmode%&orderguid=%orderguid%
Сохраняем изменения и переходим к файлу farcards.ini. В блоке [pds_netk] редактируем параметр NetServerName. Он должен соответствовать имени PDS Interface который вы добавили на кассовый сервер r_keeper_7.
После сохранения запускаем FarCards.

Работа с бонусными баллами

Частичная оплата заказа в режиме универсальной кассы не допускается! В кассе r_keeper_7 этот функционал просто заблокирован.
Для оплаты билетов на кассе Премьеры полностью за бонусные баллы необходимо создать новую «как бы виртуальную» безнальную валюту в r_keeper_7, где ID новой валюты будет равна ID бонусной валюты в Премьере. Далее проделать следующие шаги:
1.    В «Меню – Классификации блюд» добавить новую классификацию «Наценка Премьеры» и одну новую категорию (например, так же «Наценка Премьеры»).
2.    В новой безнальной валюте выставить:
  • Новую классификацию в соответствующем поле «Классификация».
  • Тип фискальности выставить «Суммарно с вычитанием». (выставляется только с дилерскими правами)
  • Автозаполнение «Вся сумма».
Функционал работает следующим образом – в кассе Премьеры производятся все необходимые манипуляции с бонусной картой при оплате бонусами, вплоть до добавления в заказ соответствующей валюты. При переключении на кассе R-keeper необходимо будет сразу закрывать заказ на новую виртуальную безнальную валюту. При попытке добавить в заказ какие-то дополнительные товарные позиции – касса будет выдавать ошибку, так как оплачивать реальные товары виртуальной валютой не верно.
Схема оплаты бонусными баллами заказов в r_keeper_7 никак не изменяется при данной настройке и может работать в штатном режиме.
 
 
Настройка UCS Премьеры для работы в режиме универсальной кассы описана в соответствующем разделе Справочника Премьеры

Файлы для скачивания

ВложениеРазмер
switcherfromrk7tocinema_new.rar17 КБ
farcards.zip1.81 МБ

Настройка mobile fast food HTTP interface

Введение

В данной статье рассматривается настройка выдачи интернет заказов на кассах FastFood, через Mobile fast food HTTP interface.

Файл с xml запросами

Настройки в r keeper 7

На основной кассовый сервер, куда сохраняются все онлайн заказы, необходимо добавить mobile fast food interface for delivery (http server). Укажите значение Deletion Mode - Delete on load, чтобы после загрузки на вторичный кассовый сервер заказ удалялся с главного.

После добавления интерфейса, нужно его привязать к логическому интерфейсу. Для этого переходим во вкладку Сервис > Интерфейсы , создаем новый логический интерфейс и связываем их

Далее на втором кассовом сервере добавьте новый интерфейс mobile fast food interface HTTP

В разделе Опции - FilesURL - пропишите строку:

https://ipaddr:httpport/rk7api/v1/if/{GUID}/mbff_getorder/

В которой:

  • ipaddr - адрес основого кассового сервера, на котором сохраняются онлайн заказы
  • httpport - HTTPS порт
  • GUID - GUID логического интерфейса основного кассового сервера, на котором установлен драйвер mobile fast food interface for delivery http server. В данном случае это Mobile FF_Order

Далее нам нужно привязать этот интерфейс к логическому интерфейсу. Заходим Сервис > Интерфейсы и создайте новый. К нему привяжите mobile fast food HTTP второго кассого сервера

Далее необходимо создать и настроить MCR алгоритм. Зайдите в Сервис > Обработка сигналов устройств - MCR алгоритмы и создайте новый.

К нему привяжите mobile fast food interface второго сервера.
Далее на основной кассовый сервер необходимо добавить новый XML-интерфейс

Прописываем уникальный свободный порт. Далее переходим в Сервис > Интерфейсы и создайте новый интерфейс. Привязываем к нему добавленный к кассовому серверу xml_interface.

На основном кассовом сервере создается заказ, для переключения заказа в режим ReadOnly используется внешнее свойство ReadOnly с value = true \ false.

ВложениеРазмер
getrkquery.pdf895.05 КБ

Связь связи c Print-n-Stick

 

Введение

Print-n-Stick - утилита для автоматической печати этикеток.

В данный момент не распространяется. 

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

Для работы Print-N-Stick отдельной лицензии не требуется. 

Порядок установки и настройки Print-n-Stick:

Установка, настройка и запуск WEB-версии

1 Запустите инсталятор Print-N-sticksetup.exe и установите утилиту

2) Откройте менеджерскую станцию и сделайте следующие настройки:

  • Cоздайте новую привелегию на объект с именем HTTP_Port (находится Сервис => Менеджерская станция => Привелегии на объекты)
  • Откройте свойсва кассового сервера. Во вкладке "HTTP ограничения" выберите тип "HTTP_Port" в строчках HTTP_API, Web интерфейс, XML интерфейс. В HTTP Server => HTTP Data Port прописываем любой свободный порт. И запоминаем его. 
  • Откройте свойства группы XML-Editing. Во вкладке Менеджерские ограничения => Привелегии на объекты проставьте галочки напротив пунктов: HTTP_Port, Отчеты UCS, Тип цены основная, Фискальные отчеты

 

  • Создайте нового работника в группе XML-Editing (находится Персонал => Работники). Задайте код карты и пароль.

3) Запустите утилиту Print-n-Stick.

В трее кликните на иконку правой кнопкой мыши. Нажмите на кнопку «Показать/скрыть». Вы попадете в настройки соединения. В настройках:

  • Выбираем принтер для печати этикеток
  • Ставим галочку напротив пункта «Автозагрузка с Windows»
  • В IP  прописываем IP компьютера, на котором установлен кассовый сервер R_Keeper_7.
  • В «порт» прописываем тот порт, который мы прописали в настройках кассового сервера. 
  • В «логин» и «пароль» вписываем значения, которые мы задавали в настройках работника XML.

4) Сохраняем. Перезагружаем компьютер. Запускаем сервер справочников и кассовый сервер R_keeper_7. Запускаем Print-n-Stick. Проверяем соединение с помощью кнопки «Тест соединения». Если соединение установлено, запускаем веб-версию Print-n-Stick.

Для этого в строку браузера вставьте строку вида https://127.0.0.1:40000?source=rk7, где «127.0.0.1» - это IP кассового сервера R_Keeper_7, а «40000» - порт, который вы прописывали в настройках веб-порта Print-N-stick. Перед вами будет следующее окно. Это значит, что все работает и запущено.

5) Создаем дополнительное поле для информации для этикеток.

  • Открываем менеджерскую станцию Настройки => Настройка => Расширенные свойства. Выбираем пункт «Свойства для справочников».
  • Вписываем название «Информация для печати этикеток»
  • Вписываем системное имя на английском «information_for_printing_of_labels»
  • Выбираем в списке типов: 2 элемента: «Модификатор» и «Элемент меню» 
  • Делаем тип активным.

 

  • В приложении Print-N-Stick выбираем вашу кассу и в расширенном свойстве «Информация для печати этикеток».
  • В менеджерской станции заходим в меню и открываем любое блюдо. Находим раздел «Расширенные свойства» или  «Fytended». в информации для печати этикеток вписываем необходимый текст.

Добавляение кнопки «Печать этикеток» в модуль кассы

  • Заходим в Станцию менеджера => Настройки => Параметры => Установочные => Связь с другими системами => Сервисы.
  • Выбираем свободный сервис, даем ему имя и url. URL вида https://127.0.0.1:40000?source=rk7, где «127.0.0.1» - это IP кассового сервера R_Keeper_7, а «40000» - порт, который вы прописывали в настройках веб-порта Print-N-stick.

  • Затем данный пункт появится в главном окне кассы, в блоке «Сервисы»

Настройка макета наклеек

Для правки макета, зайдите в настройки Print-n-Stick и нажмите на кнопку «Правка макета...»

Далее мы можем редактировать макет с помощью утилиты «FastReport». Обратите внимание, что баркоды не поддержаны данным ПО.

Уведомление об изменениях в заказах через httpordernotify

Введение

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

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

Список команд, пересылаемых интерфейсом, ограничен, и приведен ниже.

Схема работы

После старта драйвер находится в ожидании событий от кассы, либо завершения работы кассового сервера.

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

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

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

Пример сообщения после загрузки и инициализации кассового сервера:

<?xml version="1.0" encoding="utf-8"?>
<a RestCode="199990093" DateTime="2020-01-14T15:38:23" Situation="1" seqnumber="1" guid="{9ECCB1B5-97EE-4B88-9840-8568F05586D0}" name="Started" ShiftNum="1" ShiftDate="2019-11-18T00:00:00">
<Server id="15002"/>
<Item/>
</a>

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

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

<?xml version="1.0" encoding="utf-8"?>
<a RestCode="199990093" DateTime="2019-12-18T17:17:58" Situation="1" seqnumber="1" guid="{9ECCB1B5-97EE-4B88-9840-8568F05586D0}" name="Started" ShiftNum="1" ShiftDate="2019-11-18T00:00:00">
<Station id="15003" code="1" name="MM_CASH" NetName="MM_CASH_169058"/>
<Server id="15002" code="15002" name="MM_MID" NetName="MM_MID"/>
<Item/>
</a>

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

Указанный в примере guid константой не является и может меняться.

Поддерживаемые команды, передающиеся драйвером (атрибут Situation):

Situation Событие
1 Старт кассового сервера или кассовой станции
3 Изменение заказа
4
Расчет заказа
5
Закрытие чека
9
Закрытие заказа
10
Блокировка кассовой станции (logoff)
11
Создание нового заказа
12
Открытие существующего заказа
13
Сохранение заказа
14
Удаление чека
18
Закрытие кассовой станции
21
Логин на кассовую станцию
24 Переход в состояние печати чека

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

Примеры XML

Авторизация на кассовой станции

<?xml version="1.0" encoding="utf-8"?>
<a RestCode="199990093" DateTime="2019-12-18T17:18:00" Situation="21" seqnumber="3" guid="{81A89081-D394-4070-BD37-A8E54CCA7B56}" name="Login" ShiftNum="1" ShiftDate="2019-11-18T00:00:00">
<Station id="15003" code="1" name="MM_CASH" NetName="MM_CASH_169058"/>
<Server id="15002" code="15002" name="MM_MID" NetName="MM_MID"/>
<Waiter id="1" code="7" name="Администратор">
<Role id="100007" code="7" name="Администраторы"/>
</Waiter>
<Item/>
</a>

Создание нового заказа

<?xml version="1.0" encoding="utf-8"?>
<a RestCode="199990093" DateTime="2019-12-18T17:18:33" Situation="11" seqnumber="13" guid="{833F0492-E8ED-4F34-81BC-8A9F4D73A995}" name="New Order" ShiftNum="1" ShiftDate="2019-11-18T00:00:00">
<Station id="15003" code="1" name="MM_CASH" NetName="MM_CASH_169058"/>
<Server id="15002" code="15002" name="MM_MID" NetName="MM_MID"/>
<Waiter id="1" code="7" name="Администратор">
<Role id="100007" code="7" name="Администраторы"/>
</Waiter>
<Order visit="477823977" orderIdent="256" guid="{763C7F09-875A-438A-B6CB-25F7D3F74741}" url="http://code.ucs.ru/qr?id=209A9A2B872A4728BEC8F0B09C667E6A763C7F09875A438AB6CB25F7D3F74741B6995A91" orderName="8888888888" locked="1" version="0" crc32="0" orderSum="0" unpaidSum="0" discountSum="0" totalPieces="0" seqNumber="1" paid="1" finished="0" persistentComment="" nonPersistentComment="" openTime="2019-12-18T17:18:32">
<Creator id="1" code="7" name="Администратор">
<Role id="100007" code="7" name="Администраторы"/>
</Creator>
<Waiter id="1" code="7" name="Администратор">
<Role id="100007" code="7" name="Администраторы"/>
</Waiter>
<OrderCategory id="10033" code="1" name="Основная"/>
<OrderType id="10069" code="9001" name="не выбрано"/>
<Table id="1000259" code="93" name="8888888888"/>
<Station id="15003" code="1" name="MM_CASH"/>
<Guests count="1">
<Guest guestLabel="1"/>
</Guests>
</Order>
<Session uni="2" line_guid="{39271E37-867D-41FF-99B8-59CB182323E9}" state="1" sessionID="2" isDraft="0" remindTime="2019-12-18T17:18:00" startService="2019-12-18T17:18:33" printed="0" cookMins="0">
<Station id="15003" code="1" name="MM_CASH"/>
<Author id="1" code="7" name="Администратор">
<Role id="100007" code="7" name="Администраторы"/>
</Author>
<Creator id="1" code="7" name="Администратор">
<Role id="100007" code="7" name="Администраторы"/>
</Creator>
<Course id="1" code="1" name="Готовить позже"/>
<PriceScale id="3" code="1" name="Основная"/>
<TradeGroup id="7" code="1" name="По умолчанию"/>
</Session>
<Item ClassName="TOrder"/>
</a>

Настройка

Добавляем драйвер HTTP Order Notify на кассовый сервер

Здесь нужно определить три параметра:

Название Описание и возможные значения
Log File Путь к файлу, который будет использоваться в качестве лога действий драйвера. Может отсутствовать, но в этом случае будет затруднено выявление проблем при работе
LogLevel Уровень логирования, может принимать одно из трех значений:

Значение Описание
0 - errors only В этом режиме в лог попадают только самые важные сообщения (например информация о загрузке интерфейса), либо сообщения о произошедших ошибках: превышение количества событий в очереди, сбой отправки данных на HTTP сервер и т.п.
1 - input xmls and errors В этом режиме в дополнение к режиму errors only добавляются некоторые важные сообщения, например старт отправки XML на адрес HTTP-сервера
2 - max log Наиболее полный режим логирования, содержит максимально подробную информацию о работе драйвера, включая входящие и исходящие XML, текущее состояние очереди отправки и др.
DestURLs HTTP-адрес, на который будет производится отправка данных. Задается в общепринятом формате адресов URL. Может содержать только один адрес. При необходимости отправки данных на несколько HTTP-серверов для каждого из них должен быть добавлен свой драйвер HTTP Order Notify

Решение проблем

При работе драйвер добавляет информацию о своей работе в лог для упрощения локализации возникших проблем при работе. Регулярно возникающая проблема - данные не приходят на принимающий HTTP-сервер. Здесь следует проверить корректность ввода адреса в параметре DestURLs драйвера и работоспособность HTTP-сервера. При невозможности отправить данные в логе будут сообщения, содержащие в себе подстроку "HTTP: Post error", например:

18.12.2019 16:25:32:343 HTTP: Post error: Socket Error # 10061

Часто встречающиеся коды ошибок:

Код HTTP

Описание
10061 Connection refused - невозможно соединиться с сервером
10054 Connection reset by peer - соединение сброшено сервером

В этом случае необходимо проверить настройки HTTP-сервера

В сообщениях вида:

SEND_THREAD: Signal [Send] ENTER, items in queue: 19

содержится информация о текущем количестве объектов в очереди. При достижении максимального значения в логе будет сообщение:

XML: Can't add command. Max queue size: 256

Настройка передачи данных по оплатам онлайн

Общая информация

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

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

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

Состав дистрибутива

В состав  дистрибутива входят следующие модули:

  • ExportXML_SVC.exe  - основной исполняемый модуль
  • sqlite3.dll - библиотека для работы с локальной СУБД SQLite
  • RK7XML.dll - интерфейсная библиотека для взаимодействия  с кассовым сервером R-Keeper v7 посредством XML-интерфейса
  • Monlib.dll и RNBOPEN.DLL - интерфейсная и транспортая библиотеки соотв. для для взаимодействия  с кассовым сервером R-Keeper v6
  • Monlib.ini - конфигурационный файл для библиотеки  Monlib.dll

Важно: Для использования библиотеки Monlib.dll требуется программный лицензионный ключ Monlib.key - подробности в разделе "Лицензирование"

Расположение дистрибутива на FTP-сервере ftp://ftp.ucs.ru/r-keeper/Tools/ExportXML/

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

R-Keeper v7

На момент последней редакции статьи, для использования совместно с R-Keeper v7, модуль не требовал  лицензирования, но "время жизни" основного исполняемого файла  ExportXML_SVC.exe ограничено датой 18.03.2015 - после указанной даты модуль перестанет функционировать.В будущем планируется внедрение общей системы лицензирования.

Настройка

Основные настройки

Важно: Актуальные параметры для подключения к внешней информационной системе необходимо запрашивать у Заказчика услуги!

Для входа в режим настройки необходимо запустить ExportXML_SVC и нажать кнопку "Настройки":

Основные параметры задаются на закладке "Основное":

  • Выгрузка чеков
    • WSDL - адрес для доступа к внешнему сервису через интерфейс WDSL, например https://dex.pulkovo-airport.com:7047/Airport/WS/Codeunit/CheckInfo
    • URL - адрес для доступа к внешнему сервису через интерфейс SOAP, например https://srvr-127.local.newpulkovo.ru:7047/Airport/WS/ReplaceWithAPercentEncodedCompanyName/Codeunit/CheckInfo
    • Service - имя сервиса, например CheckInfo - актуальное значение уточнять у Заказчика услуги
    • Port - имя порта, например CheckInfo_Port - актуальное значение уточнять у Заказчика услуги
    • Логин - имя пользователя для доступа к сервису, предоставляется Заказчиком услуги
    • Пароль - пароль для доступа к сервису, предоставляется Заказчиком услуги
  • Часовой пояс - текущий часовой пояс, требуется для корректной работы с внешним сервисом
  • Подобный лог - запись подробного лога работы
  • Сохранять XML - сохранение на жестком диске XML-файлов, отправленных на внешний сервис 
  • Неактуальные данные - параметры управления накопленной информацией в БД:
    • Число дней - период в днях, за который необходимо хранить накопленные данные
    • Время удаления - время суток, когда происходит проверка и очистка данных

 

Примечание: Все параметры хранятся в базе данных db.db, которая автоматически создается при первом запуске приложения 

Настройка оплат

Для корректного формирования данных необходимо настроить соответствие типов оплат (валют) между R-Keeper и внешней системой:

  • запустить ExportXML_SVC.exe, войти в настройки и переключиться на закладку R-Keeper
  • в разделе "Оплаты по чеку" по правому клику мыши вызвать меню и выбрать пункт "Добавить"
  • заполнить параметры:
    • Название валюты RK - наименование валюты, как заведена в редакторе (RK6) или менеджерской (RK7)
    • Currency - соответствующее название валюты во внешней системе, возможные значения уточнять у Заказчика услуги
    • Method - метод оплаты для валюты, возможные значения уточнять у Заказчика услуги
  • в разделе "Умолчания для оплат" заполнить значения параметров Currency и Method , которые будут использоваться по-умолчанию для валют, для которых не будет найдено соответствие из раздела "Оплаты по чеку" либо если оплата по чеку отсутствовала
  • для сохранения параметров нажать кнопку "OК" и перезапустить ExportXML_SVC

r_keeper_7

Для настройки ExportXML_SVC для совместной работы с RK7 необходимо:

  • в менеджерской добавить XML-интерфейс на кассовый сервер, задать порт и при необходимости ключ шифрования (CryptKey)
  • запустить ExportXML_SVC.exe, войти в настройки и переключиться на закладку R-Keeper
  • в разделе "Кассовая система" выбрать пункт "R-Keeper 7" и заполнить параметры подключения к XML-интерфейсу кассового сервера - IP-адрес, порт и ключ шифрования (CryptKey), если такой параметр установлен на стороне кассового сервера
  • заполнить соотв. оплат, см. выше
  • при необходимости изменить значение параметра "Частота опроса кассы"
  • заполнить параметры VendorID (идентификатор организации) и ObjectID (идентификатор торговой площадки), значение необходимо получить у Заказчика услуги
  • для сохранения параметров нажать кнопку "OК" и перезапустить ExportXML_SVC

Запуск приложения

Приложение можно запустить в следующих режимах:
  • запуск без параметра - используется для настройки параметров и/или ручного запуска сбора данных
  • с параметром /autostart  - запуск в качестве приложения (desktop) и автоматический запуск сбора данных
  • с параметром /install - установка приложения в качестве сервиса, после старта сервиса сбор данных запускается автоматически
  • с параметром /uninstall - удаление установленного сервиса
 

Настройка приложения RKPager на базе ОС "Android" (v.2.3 и выше)

Введение

  • Использование данной технологии совместно с RK7 (RK6) и TMS дает возможность рассылать сообщения на мобильные устройства при отсутствии в ресторане ПО "RkMobWaiter".  
  • Приложение реализовано для мобильных устройств на платформе "Android" (далее пейджер).
  • Сообщения могут быть отправлены с кнопок официанта, менеджерской станции, KDS и других приложений RK, поддерживающих отправку сообщений.
  • Текстовое сообщение на пейджере может сопровождаться звуковым оповещением о получении сообщения (проигрывание мелодии), виброрежимом или голосовым воспроизведением сообщения.
  • Каждое пейджинговое устройство закрепляется за конкретным официантом в настройках системы.
 

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

  1. Wi-Fi роутер.
  2. Мобильное устройство под управление ОС Android 2.3 и выше.
 
Примечание: тестировалось и гарантировано работает на версии  http://support.ucs.ru/ru/node/7897

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

  1. Должны быть установлены RK7.5.3.xx или выше или RK6.
  2. Должен быть установлен и пролицензирован (на одно подключение) TMS. Количество используемых android-пейджеров при этом, не ограничено. Версия TMS-сервера не ниже чем  7.3.10.
  3. ПО RKPager.

Настройка TMS

  1. TMS установить, пролицензировать и настроить на связь с RK7 (или RK6) стандартным образом.
  2. В составе TMS должен присутствовать конфигурационный файл pgsettings.xml (лежит в одной папке с TMS).

Параметры - pgsettings.xml

<?xml version="1.0" standalone="yes"?>

<SETTINGS>
<SERV IP="172.22.4.78" PORT="812" SSID="mobwaiter2"> //  (IP TMS сервера и порт = порт TMS сервера + 2 = 810+2) 
<APs>
<AP SSID="mobwaiter2"/> // (указывается предпочитаемый Wi-Fi роутер, можно прописать несколько строк, если их несколько)
<AP SSID="showroom"/>  
</APs>
</SERV>
<Messages SoundFile="Sms_2.wav"/>  // (проигрываемая мелодия при получении сообщения)
</SETTINGS>

Примечание: параметры IP и порта TMS в pgsettings.xml нужны для загрузки настроек на RKPager.apk.

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

  1. Скачать приложение с ФТП (ftp://ftp.ucs.ru/r-keeper/WaiterNotepad/Current/Pager/RKPager_v201.apk) и установить на телефон (мобильное устройство с платформой Android и поддержкой Wi-Fi).
  2. Запустить приложение. Зайти в настройки.
  3. Для входа в настройки системы надо нажать на кнопку "Настройки" в программе, выбрать пункт «Настройки» и ввести пароль для входа - 051791 (если потребуется, зависит от версии). 
  4. Для ввода новой записи следует нажать кнопку «+». Для редактирования текущей записи следует выбрать эту запись.
  5. В поле для названия (верхнем поле) следует указать название TMS-сервера (зала, этажа, и т.д.). Это название отображается вместе с сообщением, чтобы понимать откуда пришло сообщение (рис.1).
  6. В поле «Сервер» указать IP-адрес TMS сервера и порт, в нашем случае 812 (Pager работает на порте TMS + 2).
  7. В поле «Логин» – код официанта, для которого будет настроен этот пейджер.

Примечание: RKPager может работать одновременно с несколькими TMS-серверами. В окне настроек будут отображаться все настроенные TMS-серверы.

 
Рис.1
  1. Если связь с TMS-сервером будет прервана (ушли из зоны видимости, выключен TMS и прочее), то на экране появится сообщение: "Нет подключения к серверу".

Примечание: что бы очистить список сообщений, нужно в приложении нажать на кнопку устройства "Настройки" и выбрать - "Очистить список".

Примечание: TMS опрашивается приложением каждые 5 секунд. Изменить указанный таймаут нельзя.

Дополнительно - Настройка звуковых оповещений

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

Параметры - TMS7.ini/TMS2.ini

[SPEECH]  //  если проговаривание сообщения не используется, то эти настройки делать не надо.
; использовать голос
Use=1
; индекс используемого голоса
Voice=16     //  нужно подобрать самим нужный голос для проговаривания сообщений.
  • Для подбора нужного голоса запустить утилиту txt2speech.exe(папка \utils\). При ее запуске определятся несколько вариантов голоса, которые установлены в операционной системе и их индексы (номера). Некий текст будет воспроизведен разными голосами и можно выбрать наиболее подходящий.
 
 
Рис.2
 
; скорость проговаривания
Rate=4
; префикс для идентификации источника голосового сообщения
Pref=Красный зал (или любое название, соответствующее нужному TMS) – настройка префикса для сообщения при голосовом воспроизведении сообщения.
  • Используется только в случае проговаривания сообщений и указывает источник сообщения (с кого TMS-сервера отправлено). Источник сообщения указывается в названии TMS-сервера,  но при получении сообщения он будет только в виде текста и проговариваться не будет.
  • При этой настройке, при проговаривании сообщения, сначала будет озвучен префикс «Красный зал», а потом текс самого сообщения. Т.е. фактически это дублирование текстовой информации для голоса.

Настройка связи с системой тарификации бильярд

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

1. Добавить драйвер интерфейса "UCSEthernetRaterforwindowsprotocol 2010 " на закладку "Устройства" кассового сервера.
В свойстве «IP Address» указать ip-адрес релейного блока PoolJet v.4.

Own port - локальный порт для интерфейса. Не путать с портом устройства, который всегда 18251.

Рис.1

2. Создать логический интерфейс в справочнике "Сервис\Интерфейсы"
Интерфейсы создаются по количеству релейных блоков.
В разделе "Файлы библиотек" данного интерфейса:
- указать для кассового сервера добавленный в пункте 1 драйвер.
- в поле «Общее имя DLL» прописать TAR2Eth.dll

Рис.2

3. Создать тарифы для игры в бильярд в справочнике "Меню\Тарифы"
Если справочник "Меню\Тарифы" неактивен, необходимо в разделе «Настройки/Параметры/Связь с доп. системами и оборудованием» установить галочку в поле свойства «Логический».

Рис.3

4. В справочнике "Настройки\Столы и залы\Планы залов и столы" в тарифицируемых устройствах нужно создать столы (новые тарифицируемые устройства) в свойствах которого указать:
- в разделе "Основные\Номер дорожки" соответствующий данному столу разъем релейного блока.
- в разделе "Основные\Логическое устройство" соответствующий данному столу созданный в пункте 2 логический интерфейс.
- в разделе "Основные\Тариф" соответствующий данному столу созданный в пункте 3 тариф.

Рис.4
 

5. При возникновении проблем с включением/выключением можно воспользоваться утилитой TestUDP.

Запустите ее и проверьте при каких настроках в тест UDP у вас включаются/выключаются столы.

Примечание: если в TestUDP номер блока = 1, то в кипере работают дорожки 1-8, если номер блока = 2, то дорожки в кипере работают начиная с 9-й по 16.

Максимум 8 блоков по 8 дорожек!

Рис.5