Билеты, классификации, макеты
Как это работает
В рамках ProGate можно генерировать разные виды билетов, манипулируя параметрами времени жизни билета и лимита проходов по билету.
Для этого в rkeeper'е должны быть заведены блюда «билеты», для каждого вида билетов должен быть отдельно настроенный макет сервис-печати.
При сервис печати билета, в макете происходит запрос к серверу, который генерирует код из 12 символов, и записывает их в штрихкод/QR-код.
Важно! Редактировать макеты можно только их менеджерской(rk7man), которая в локальной сети с ProGate! При сохранении макета идёт обращение к серверу, без связи - редактор меню зависает.
Рассмотрим вариант «безлимитного» билета(нет лимита на кол-во проходов, лимит времени 720 минут).
Создание блюда "билета"
- Переходим Редактор → Меню → Меню
- Создаем группу меню «Билеты»
- В группе создаем блюдо «Безлимит»
- Указываем необходимые параметры, не относящиеся к ProGate (цену и т.д.)
Создание классификаций
- Создаем новую классификацию «Печать билетов».
- В ранее созданной классификации создаем категорию «Безлимит».
- Добавляем в эту категорию ранее созданное блюдо.
Создание макетов
Важно! Вне бэнда «Блюда» нельзя ничего вставлять, это сделано для того, чтобы была возможность делать 1 заказ на несколько билетов.
Важно! В конец бэнда «Блюда» обязательно надо добавить «мемо» с текстом
<EndRoll>
Макет удаления
Для возможности деактивации ранее сгенерированных билетов, нужно добавить макет удаления.
- Переходим в Редактор → Настройки → Печать → Документы и макеты.
- Выбираем раздел «Сервис-печать» и создаем новый макет, называем «Макет удаления».
- Устанавливаем статус «Активный».
- Двойным нажатием по пустому месту в макете добавляем новую глобальную переменную «data» типа «string».
- Добавляем обязательный «Мемо», в нижнее поле вписываем следующий код:
HTTPGet('http://IP:Port/api/v1/guest/delete?service_print=' + IntToStr([Блюда.ServicePrintNum])+ '&source_line=' + IntToStr([Блюда.SourceLineNumber]), data)
IP и Port заменить на ip сервера на котором запущен ProGate и порт который указан в настройках ProGate
- Сохраняем макет
Макет печати билета
Для печати новых билетов нужно создать новый макет билетов.
- Переходим в Редактор → Настройки → Печать → Документы и макеты.
- Выбираем раздел «Сервис-печать» и создаем новый макет, называем «Печать безлимит».
- Устанавливаем статус «Активный».
- В редакторе макета добавляем готовый бэнд «Блюда».
- Двойным нажатием по пустому месту в макете добавляем новую глобальную переменную «data» типа «string».
- Добавляем обязательный «Мемо», в нижнее поле вписываем следующий код:
HTTPGet('http://IP:Port/api/v1/guest/getcode?service_print=' + IntToStr([Блюда.ServicePrintNum]) + '&source_line=' + IntToStr([Блюда.SourceLineNumber]) + '&passes=0&lifetime=720', data)
IP и Port заменить на ip сервера на котором запущен ProGate и порт который указан в настройках ProGate. Так-же обратите внимание на параметры «passes=0 и lifetime=720» в тексте кода, они отвечают за кол-во разрешенных проходов и время действия(в минутах) нового билета соответственно. (passes=0 разрешает безлимитный проход через турникеты)
- Добавляем в верхнее поле следующий код :
<barcode [data]>
- Сохраняем макет
Привязываем макет
- Переходим в Редактор → Настройки → Печать → Сервис схемы.
- Создаем новую сервис схему.
- В ранее созданной схеме создаем новый сервис-чек.
- Устанавливаем параметры: Название, Статус.
- В разделе «Основное» устанавливаем параметры: Макет, Макет удалений привязывая ранее созданные макеты.
- В разделе «Ограничения» устанавливаем параметр «Классификация» на «Печать билетов» и выбираем билет для которого будет печататься этот макет.
- В разделе «Печать» выбираем принтер на который будут печататься билеты.
- Сохраняем