Смена статуса заказа по QR-коду
Введение
В системе KDS PRO есть возможность изменять статус заказа по QR-коду.
Для этого вам понадобится USB сканер QR-кодов, работающий в режиме HID-клавиатуры и подключенный к клиенту KDS PRO.
В статье рассматривается печать чека после присвоения заказу статуса Приготовлен.
Настройка через XML-макет
Первый способ, который мы рассмотрим — печать QR-кода через изменение XML-макета чека.
Для правильной работы необходимо, чтобы в менеджерской станции был создан принтер, на который будут посылаться отредактированный макет чека.
Назначение принтеров
- Откройте менеджерскую станцию и перейдите в меню Настройки > Печать > Назначение принтеров
- Нажмите правой кнопкой мыши и выберите пункт Новое назначение принтера
- Укажите название — KDS PRO
- Сохраните и закройте меню Назначение принтеров
- В настройках кассовой станции появится новая строчка — KDS PRO в разделе Назначение принтеров.
- Назначьте в этом поле предварительно настроенный и работающий принтер — он будет печатать QR-коды для KDS PRO. Прочитать подробнее о принтерах можно в статье настройка кассовой станции.


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

- Пролистайте до раздела Печать и нажмите кнопку Добавить

- В настройках печати:
- Укажите название, например, Печать чека с QR-кодом
- Выберите кассу из выпадающего списка
- Выберите статус, при получении которого будет печататься чек. Мы выберем Приготовлен
- Выберите назначение принтеров — ранее созданное, т.е. KDS PRO
- Выберите что печатать на чеке — заказ или блюдо. Обратите внимание, что в зависимости от выбора, необходимо будет редактировать соответствующий макет чека. Мы выберем Заказ.

- Поставьте галочку Включено
- В XML-запрос блюда или заказа добавьте текст QR-кода:
<BarCode Width="200" Height="200" Type="QRCode" TextPosition="Bottom" Value = "[QRCode]"/>
6. Ширину и высоту QR-кода можно настраивать, редактируя значения в параметрах Width и Height
7. В результате должны получиться такие настройки:

8. Обратите внимание, что строку <Barcode... необходимо вставлять до закрывающего тега </Unfiscal> — иначе печать QR-кода работать не будет.
9. Нажмите кнопку
внизу страницы для сохранения изменений
10. QR-код должен печататься на чеке.
Пример чека блюда с QR-кодом:

Пример чека с QR-кодом для заказа:
Настройка через редактирование макета чека
Другой вариант печати QR-кодов это изменение макета чека.
Настройка макета
К заявке приложен файл макета пречека с QR-кодом. Этот макет будет печатать QR-код, после сканирования которого, закзаз со статусом приготовлен сбрасывается на клиенте.
По желанию, можно импортировать его целиком или отредактировать существующий.
Процесс импорта макета описан в статье о редактировании макета чека.
Чтобы добавить QR-код в существующий макет:
- Создайте копию желаемого макета чека
- Отредактируйте дизайн созданного макета — добавьте новый виртуальный бенд
- Создайте на нем мемо
- Отредактируйте мемо — добавьте в него скрипт:
- В верхней части напишите [qr_code]
- В нижней части добавьте скрипт:
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
end7. Выглядеть это должно так:
8. Нажмите Оk, чтобы сохранить изменения
9. Закройте дизайнер макетов
10. В результате, на чеке будет печататься QR-код, который можно отсканировать на клиенте KDS PRO. После сканирования, заказ со статусом Приготовлен будет сбрасываться.
11. Чек из приложенного макета с QR-кодом будет выглядеть так: