Введение

В системе 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]"/>

6. Ширину и высоту QR-кода можно настраивать, редактируя значения в параметрах Width и Height

7. В результате должны получиться такие настройки:

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

9. Нажмите кнопку  внизу страницы для сохранения изменений

10. 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

7. Выглядеть это должно так:

8. Нажмите Оk, чтобы сохранить изменения

9. Закройте дизайнер макетов

10. В результате, на чеке будет печататься QR-код, который можно отсканировать на клиенте KDS PRO. После сканирования, заказ со статусом Приготовлен будет сбрасываться.

11. Чек из приложенного макета с QR-кодом будет выглядеть так: