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

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

Состав системы

Система состоит из следующих программных модулей:

  • Dbmangr.exe - сервер KDS. Дистрибутив на фтп dealers/r-keeper/KDS/Server.rar
  • KdsClient.exe - клиент KDS системы, предоставляющий экраны пользователям. Дистрибутив на фтп dealers/r-keeper/KDS/Client.rar
  • UPDConsol.exe - генератор базы данных KDS. Дистрибутив на фтп dealers/r-keeper/KDS/db.rar
  • Сoding.exe- генератор пароля и имени пользователя для подключения к БД. Дистрибутив на фтп dealers/r-keeper/KDS/Encoding.rar
  • СУБД Interbase (поддерживаются любая версия).

Настройка в Менеджерской RK6 (E_Rest32.exe)

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

Подготовительные работы

Установка Interbase

На серверном ПК

Как отмечалось выше, система KDS поддерживает любую версию Interbase. Процедура установка Interbase ничем не отличается от стандартных случаев.
После установки сервера Interbase рекомендуеnся проверить, что системные переменные TEMP и TMP имеют короткие пути (например, C:\WINDOWS\TEMP). Также следует проверить, что библиотека GDS32.DLL находится в системной диртектории Windows (WINDOWS\SYSTEM32) -рекомендуется удалить библиотеку GDS32.DLL из диртектории, куда установился Interbase.

Примечание: современные версии KDS используют СУБД Firebird 2.5.

На клиетском ПК 

Для работы клиентского приложения KDS требуется клиентская библиотека GDS32.DLL. Для версии Interbase 4.1 ее можно взять в дистрибутиве из директории Install\INTERBASE\CLIENT\GDS и скопировать в системную директорию Windows (WINDOWS\SYSTEM32). Для остальных версий Interbase необходимо установить с помощью дистрибутива Interbase Client

Важно! Библиотека GDS32.DLL для сервера и слиента различается по функционалу и не является взаимозаменяемой.

Создание базы данных KDS

В дистрибутиве KDS нет готовой базы данных - ее необходимо создать. Для этого предназначен скрипт создания базы данных KDSDB.SQL. Предполагается, что на инсталляцию будет отдаваться именно он, а пользователь/установщик будет сравнивать структуры с существующей базой данных для обновления структуры. Связанно с тем, что у некоторых клиентов уже есть IB разных версий c учетными записями типа SYSDBA:wwx Для заполнения новой структуры предоставляются дополнительные скрипты.

Для создания БД можно использовать приложение UPDConsol.exe. Приложение не понимает длинных путей, так что в идеальном варианте нужно создать директорию в корне диска (например D:\Updcontrol), скопировать в нее KDSDB.SQL и UPDConsol.exe. После запуска приложения База данных создается в этом же каталоге.

Установка и настройка сервера KDS (dbmangr.exe)

Dbmangr.exe (далее DBMAN) устанавливается как сервис. Для этого необходимо запустить файл dbmangr.exe с ключем /install :

Dbmangr.exe /install

После этого сервер KDS будет зарегистрирован в виде службы. 

Далее необходимо настроить конфигурационный файл FSVDU.INI:

Database=C:\KDS\KDS4.GDB – путь к базе данных KDS, может быть сетевым, например Database=SERVER:C:\KDS\KDS4.GDB
Dbuname=E5EBE5F8F6F3 - имя пользователя Interbase для подключения к БД KDS4.GDB. Генерация имени пользователя и пароля осуществляется программой Coding.exe -см. ниже.
Dbpass=DFD3C5C8D7C6DDD7CB – пароль для подключения к БД KDS4.GDB, сгенерированный с помощью утилиты Coding.exe -см. ниже
Charset=none

ServerName=RLSERV – NetBios имя кассового сервера
NBName=KDS_Client_Unique – Уникальное NB имя KDS для подключение к кассовому серверу.
CountDishTime=OFF
D201=VBP
EGroup=
OneLine=ON
ShowStartCooking=OFF
Waiter=OFF

MaxSymb=G
PackLines=ON
PrintGoups=H
PrintGroups=1 

Важно! для подключения к кассовому серверу текущий номер адаптера (Lana number) должен быть нулевым.
После выполнения необходимых настроек необходимо зайти в свойства установленной службы RKKDSSrv и в свойствах службы выбрать режим запуска «Автоматический». Затем можно запустить службу или просто перезагрузить компьютер.

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

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

Клиент KDS представляет собой исполняемый файл KDSCLIENT.EXE. Настройки осуществляются в конфигурационном вайле KDSCLIENT.INI.

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

  • kdsclient.exe – клиент KDS
  • kdsclient.ini – конфигурационный файл
  • dishlist.dll
  • RS232Mon.dll
  • fullorder.dll
  • readyorder.dll
  • wfullorder.dll

Формы экранов KDS:

  • dline.fr3
  • dishlist.fr3
  • wfullorder.fr3
  • fullorder.fr3
  • wtkout.fr3

Настройки kdsclient.ini 

database=KDS4.GDB - путь к базе данных KDS. Как правило, БД находиться на сервере, поэтому путь прописывается через IP адрес. Например: database=192.168.196.17:c:\KDS\DATABASE\kds.gdb

dbuname=E5EBE5F8F6F3 – имя пользователя. Аналогично настройке в файле FSVDU.INI.
dbpass=DFD3C5C8D7C6DDD7CB – пароль. Аналогично настройке в файле FSVDU.INI.

rs232port=com6 – номер порта для подключения клавиатуры KDS
rs232baud=9600 – скорость порта клавиатуры KDS

Настройка форм экранов

Секции [@SCREEN] в конфигурационном файле kdsclient.ini определяет экраны KDS, разрешенные к показу на отдельно взятой станции KDS. Комментируя (или удаляя) секцию мы можем запретить показ экрана на станции. В конфигурационном файле может быть указано несколько разделов [@SCREEN] - в таком случае на станции KDS будут доступны все указанные экраны. 

Каждая секция [@SCREEN] состоит из следующих переменных:

  • Report - указывается файл формы экрана (FastReports). Например, Report=dishlist.fr3
  • Name - название экрана, которое отображается в нижней части формы. Например, Name=CardDish(Kitchen) или Name=Готовые заказы
  • SQL - SQL запрос для вывода соответсвующей форме информации. Данный параметр стоит изменять только в том случае, если вы четко понимаете, что делаете. Например, Select * from BaseView where (ready<0) and (finishcook<0) %s order by ID,LineID,IID
  • Operation - определяет, какие операции будут доступны на данном экране KDS. Может принимать значения 0,1,2 и 3: 0 - операции не доступны, 1- можно только отметить готовность блюда, 2 - оповещение о готовности всего пакета (заказа), 3 - операция "забора" блюда официантом (если KDS станция используется для официантов)
  • STATION - подстановки для разных цехов...
  • ConfirmationOnTake - подтвержения операции "забора" блюд (официантом или поваром). Актуально для KDS станции с сенсорным экраном, на которой все операции производятся нажатием на экран
  • AutoClose - определяет поведение экрана при наличии в очереди блюд (пакетов) в количестве, превышающем максимальное кол-во видимых на экране станции. При значении AutoClose=0 блюда в очереди, которые не помещаются на экран, будут оставаться невидимыми. При значении AutoClose=1 блюда в очереди, которые не помещаются на экран, будут "вытеснять" блюда, которые на данный момент являются первыми в списке на экране. Значение AutoClose=1 актуально для станций, которые не имеют никаких средств для управления, т.е. нет ни клавиатуры KDS, ни сенсорного экрана.

Примечание: Если экран не должен отображаться на станции его можно удалить или закомментировать - для это этого надо поставить любой знак, например "-" ("минус") в начале секции: [-@SCREEN]

Пример стандартных экранов для кухни

[@SCREEN]
Report=dishlist.fr3
Name=CardDish(Kitchen)
SQL=Select * from BaseView where (ready<0) and (finishcook<0) %s order by ID,LineID,IID
Operation=1
ConfirmationOnTake=0
AutoClose=0

[@SCREEN]
Report=dline.fr3
Name=LineDish(Kitchen)
SQL=Select * from BaseView where (ready<0) and (finishcook<0) %s order by ID,LineID,IID
Operation=1
STATION=
ConfirmationOnTake=0
AutoClose=0

[@SCREEN]
Report=fullorder.fr3
Name=OrderPack(Kitchen)
SQL=Select * from BaseView where (ready<0) %s order by ID,LineID,iid
Operation=2
STATION=
ConfirmationOnTake=0
AutoClose=0

[@SCREEN]
Report=WFullOrder.fr3
Name=FullOrdrer(Waiter)
SQL=Select * from BaseView where (TakeOut<0) order by ID,LineID,IID
Operation=3
STATION=
ConfirmationOnTake=0
AutoClose=0

[@SCREEN]
Report=ReadyOrder.fr3
Name=RedyOrders(Waiter)
SQL=Select * from BaseView where (ready>0) and (TakeOut<0) %s order by ID,LineID,iid
Operation=3
STATION=
ConfirmationOnTake=0
AutoClose=0

Пример экранов для для официантской станции KDS

Экран отображает только неготовые заказы:

[@SCREEN]
Report=Неготовые заказы / Not Ready Orders
SQL=Select * from BaseView where (ready<0) order by ID,LineID,IID
Operation=3
ConfirmationOnTake=1 

Экран отображает только готовые заказы:

[@SCREEN]
Report=Неготовые заказы / Not Ready Orders
SQL=Select * from BaseView where (ready>0) order by ID,LineID,IID
Operation=3
ConfirmationOnTake=1

Экран отображает готовые и неготовые (выделены серым цветом) заказы:

[@SCREEN]
Report=Все заказы / Full Orders
SQL=Select * from BaseView order by ID,LineID,IID
Operation=3
ConfirmationOnTake=1 

Экран отображает готовые и незабранные заказы и позволяет "забрать" их (с подтверждением):

[@SCREEN]
Report=Готовые (незабранные) заказы / Ready (Not Take Out) Orders
SQL=Select * from BaseView where (ready>0) and (TakeOut<0) order by ID,LineID,iid
Operation=3
ConfirmationOnTake=1 

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

Редактор форм (fast-report)

Находясь в экране KDS можно нажать на клавиатуре кнопку [D] - откроется окно редактора FastReports с возможностью редактирования непосредственно самого экрана

Важно! Формы экранов KDS рассчитаны на разрешение экрана 1024х768.

Обновления

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