Детальные настройки сервера и клиента KDS
Предупреждение
С 01.06.2020 продукт KDS больше не дорабатывается, поддержка прекратилась 31.12.2020. Используйте KDS Pro.Введение
Основная статья по установке и настройке системы KDS доступна по ссылке. Перед прочтением данной статьи обязательно к ознакомлению.
Система KDS может полностью заменить сервис-печать или использоваться совместно с ней. Является более удобной, т.к. предполагает отображение на экранах повара и официантов заказов в различных вариантах и управление приготовленными или выдаваемыми заказами или отдельными блюдами.
Предлагаются к использованию несколько экранных форм повара (для готовящихся заказов) и несколько экранных форм официанта (для выдаваемых заказов).
Все заказы, сформированные на кассе, после сохранения отображаются на экране повара. Повар на своих экранах может управлять готовящимися заказами/блюдами (удалять после приготовления), а официант на своих экранах просматривать, анализировать степень готовности заказа (например: сколько блюд из заказа уже готово) и управлять готовыми заказами/блюдами (удалять их с экрана, когда они будут забраны – отданы клиенту). Также возможно вместо удаления блюда/заказа отображать их другим фоном, оставляя на экране.
Для анализа работы кухни может быть использовано номинальное (теоретическое) время готовки блюда, устанавливаемое на карточке блюда. В этом случае, после того, как заказ/блюдо будет приготовлен, система зафиксирует время фактического приготовления блюда, а после того, как заказ будет выдан, система зафиксирует время, прошедшее с момента его приготовления до его выдачи. Разница между этими показателями покажет эффективность работы кухни и официантов в отчете "Работа кухни".
Поддержан режим «Одновременной подачи», т.е. когда все блюда из одной сессии заказа должны быть приготовлены одновременно, а также стандартный режим «Подача по мере готовности».
Особенности системы 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 - предельный размер лог-файла (Мб)
Настройки экранов
При первом запуске клиента настройки экранов считываются из файла 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" необходимо выбрать форму отображения блюд или заказа на экране 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 останутся только те, которые удовлетворяют условиям запроса и будут иметь цвет, соответствующий текущему статусу. Не удовлетворяющие запросу на экране отображаться не будут. Поэтому при выборе блюда или заказа, блюдо или заказ будут или удаляться с экрана или изменять свой цвет в соответствии с приобретенным статусом.
- К использованию предлагается несколько стандартных вариантов, но пользователь может и самостоятельно создать необходимый запрос.
После передачи блюда с кассы на 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 |
|
9 | opCustom |
|
На рисунке ниже показаны дополнительные поля при использовании операции "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 |
|
2 | History screen |
|
3 | Way of marking |
|
Пример, настройки нумерации окон:
Рис. Варианты нумерации окон
- Уникальное значение в пределах экрана (если номер 1 сброшен, то он может быть присвоен следующему заказу)
- По номеру заказа RK
- По номеру пакета RK7
Таблица №2 - Остальные параметры "Screens Settings"
№ п.п. | Параметр | Описание |
---|---|---|
4 | Barcode Scanner port |
|
5 | Barcode prefix |
|
6 | Mark first record by F1/Done |
|
7 | Confirmation on mark record |
Важно! Сообщение будет отправлено независимо от выбранной экранной формы, принципа подачи, операции и места в области заказа. Т.е. если выбрали пункт "Msg for waiter", то отправляемое сообщение будет содержать текст из настроек RK: например, "готово стол № ХХ" или "Вызов с кухни».
|
Отображение диалогового окна:
Рис. Дополнительный запрос на подтверждение действия и отправка сообщения официанту
- При использовании ARM, если включена эта настройка, то обязательно должна быть включена и следующая (Use ARM-compatible confirmation window)
Рис. Настройка для ARM-контролера
Рис. Диалоговое окно подтверждения
- Под каждой кнопкой выведена подсказка, что надо нажать на клавиатуре повара, т.к. в случае с ARM, сенсорный вариант ввода (TS) не работает.
- На экран выводится лишь картинка, которая не является полноценным клиентом.
Таблица №3 - Остальные параметры "Screens Settings"
№ п.п. | Параметр | Описание |
---|---|---|
8 | Use ARM-compatible confirmation window |
|
9 | Send a message to the waiter when Ready dish (RK6 only) |
|
10 | Move marked record to top |
|
11 | Show some last operation |
|
Пример использования параметра "Show some last operation":
Рис. Выбор количества последних отображаемых операций
Рис. Параметры лога
- На экране при таких настройках будет отображаться 5 строк лога. Следующая операция отобразится последней в списке, а первая строка из списка при этом удалится.
Рис. Отображение настроенного лога операций на экране
Таблица №4 - Остальные параметры "Screens Settings"
№ п.п. | Параметр | Описание |
---|---|---|
12 | Group By: Print Group(True)/Order Number(False) |
|
13 | Sound file or beep theme |
|
14 | Duration of sound |
|
15 | Use letter enumerate | В этом поле определяется необходимость а Буквенных метках (спец. идентификаторах) заказа (нужна буква или нет – A, B, C, D). |
16 | Static letter number |
|
17 | Zoom |
|
18 | Join By Order |
Пример отображения заказа при использовании параметра "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 (шифр можно увидеть в 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=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 |
|
2 | Station Name |
|
3 | Alarm Time (minutes) |
|
4 | Alarm Time Color |
|
Пример:
Рис. Настройка параметра "Alarm Time Color"
Таблица №2 - Параметры "General Settings".
№ п.п. | Параметр | Описание |
---|---|---|
5 | RS-232 Port |
|
6 | RS-232 Baud |
|
7 | Use Scheduler |
|
Пример:
Рис. Пример настройки параметра "Use Scheduler"
Таблица №3 - Параметры "General Settings".
№ п.п. | Параметр | Описание |
---|---|---|
8 | Refresh Screens (milliseconds) |
|
9 | Refresh data (milliseconds) |
|
10 | Time to delay command (seconds) |
|
11 | Localization |
|
Дополнительные настройки клиента 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".