Введение

В статье описана настройка печати QR-кода для оплаты чаевых SberTips.

Настройка расширенных свойств

На чеке печатается QR-код со ссылкой. Ссылка должна быть вида:

https://app.sbertips.ru/{waiterCode}?orgid={orgId}&src=3

Для генерации ссылки на оплату необходимо получить в макете параметры:

  1. waiterCode – уникальный код официанта в системе SberTips
  2. orgId – код организации в системе SberTips

Для получения кода официанта и кода заведения в системе SberTips необходимо:

  1. Перейдите в меню Настройки > Настройка > Расширенные свойства > Свойства для справочников
  2. Создайте 2 расширенных свойства: Код SberTips и Код заведения SberTips. Укажите название и системное имя. Системные имена приведены ниже:
    • для кода — CodeSberTips
    • для кода ресторана — RestCodeSberTips

  3. Добавьте каждому свойству список типов Class Info:Работник. Для этого:
    1. В поле Список типов нажмите на кнопку 
    2. Откроется выбор списков типов. Нажмите правой кнопкой мыши на белом поле > Добавить элемент
    3. Выберите слева категорию Работники
    4. Внутри категории выберите тип Работник
    5. Нажмите ОК
    6. Повторите пункты 1-5 для другого расширенного свойства
  4. Сохраните изменения и перезапустите менеджерскую станцию
  5. Перейдите в меню Персонал > Работники
  6. Выберите официанта и заполните ему поля Код SberTips и Код ресторана SberTips. Используйте только числа:
  7. Сохраните изменения.

Настройка печати QR-кода

Для этого нужно создать новый или отредактировать имеющийся макет пречека.
  1. Перейдите в меню Настройки > Печать > Документы и макеты
  2. Откройте группу Расчет с покупателем > Пречек
  3. Нажмите правой кнопкой мыши на Пречек или Пречек 36 в зависимости ширины чековой ленты и сделайте копию существующего макета
  4. Нажмите 2 раза в поле [Дизайн макета] чтобы открыть редактор макетов
  5. Добавьте в нижний бэнд мемо
  6. К мемо добавьте скрипт ниже. 
    Важно: скрипт настроен на мемо под номером 7 — memo7. В вашей настройке необходимо указать номер вашего мемо.
var sQR, wCode, sum, orgId, orderId: string;
begin
wCode := [System.Официант.КодSberTips];
orgId := [System.Официант.КодзаведенияSberTips];
if (wCode <> '') then
begin
sQR := 'https://app.sbertips.ru/' + wCode + '?org='+ orgId;
Memo7.text := ' Чтобы оставить чаевые официанту,' + Char(#10)
+ ' Отсканируйте QR-код' + Char(#10)
+ ' <QRCode ' + sQR + '>' + Char(#10)
+ ' или зайдите на ' + Char(#10)
+ ' https://app.sbertips.ru/' + Char(#10)
+ ' и введите код получателя:' + Char(#10)
+ ' ' + Char(#10)
+ ' ' + wCode + '#' + orgId + Char(#10)
+ ' ' + Char(#10)
+ ' SberTips - сервис безналичных' + Char(#10)
+ ' чаевых от Сбербанка.' + Char(#10) + Char(#10)
+ ' Спасибо! Ждем Вас снова!';
end;
end
В скрипте берутся данные официанта, который выполняет печать пречека. Если необходимо использовать код официанта-создателя заказа, то строки
wCode := [System.Официант.КодSberTips];
orgId := [System.Официант.КодЗаведенияSberTips];
необходимо заменить на:
wCode := [Заказы.Основнойофициант.КодSberTips];
orgId := [Заказы.Основнойофициант.КодЗаведенияSberTips];
Два варианта выделить код официанта в пречеке.
Заменить строку на:
+ ' <BoldOn ' + wCode + '>' + '#' + orgId + Char(#10)
+ ' <H1 ' + wCode + '>' + '#' + orgId + Char(#10)
  1. В свойствах бэнда со скриптом задайте двойную высоту и ширину. Это изменит шрифт всего блока о чаевых — проверьте, подходит ли такой вариант вам
  2. Нажмите ОК и сохраните изменения
  3. Замените шаблон пречека в используемой схеме печати.
В настройках оборудования необходимо задать размер QR-кода с помощью параметра:
Для фискальных регистраторов:
BarcodeHeight = 200
Для принтеров с драйвером EPSON
QRCodeXYSize = 200
В результате на пречеке официанта, у которого заданы свойства Код SberTips и Код заведения SberTips будет печататься QR-код со ссылкой на страницу оплаты.