Ускорение построения интерактивных отчётов
На скорость построения отчетов влияют следующие факторы: состояние БД SQL; корректная настройка службы агрегатов; способ, которым строится отчет.
Перенос r_keeper_7 на другой компьютер
Краткое описание переноса серверов r_keeper_7 на другие компьютеры
Установка Menuboard Pro
Введение
В статье описана установка и настройка продукта Menuboard Pro
Системные требования
Минимальные системные требования ниже:
- Процессор — 2-х ядерный
- Оперативная память — 2 ГБ
- Места на жестком диске — 2 ГБ
- Операционная система — Windows 7 32/64 и старше
Настройка избранных блюд
Введение
В статье описана настройка "избранного" — списка блюд, к которому можно обращаться с кассовой станции. Там же можно из списка добавлять и удалять блюда. При нажатии кнопки Получить избранное — блюда добавляются к текущему заказу.
Для работы схемы понадобятся:
- XML-интерфейс на сервере справочников, доступный с кассы
Настройка XML-интерфейса
Оплата чаевых по QR-коду
Введение
В статье описана настройка печати QR-кода в пречеке со ссылкой на страницу SberTips.
Реализация
Ссылка должна быть вида
https://app.sbertips.ru/{waiterCode}?orgid={orgId}&src=3
Для генерации ссылки на оплату необходимо получить в макете параметры:
- waiterCode – уникальный код официанта в системе SberTips
- orgId – код организации в системе SberTips
Для получения кода официанта и кода заведения в системе SberTips необходимо:
- Перейдите в меню Настройки > Настройка > Расширенные свойства
Работа с защищенным XML-интерфейсом r_keeper_7 по подписке
Общая схема работы
- Для работы с xml-интерфейсом и выполнения команд SaveOrder, PayOrder необходимо дополнительно передавать информацию о лицензии LicenseInfo.
- Лицензия заводится и генерируется на сервере лицензирования, при этом в локальной БД ИНТЕГРАЦИИ в зашифрованном виде должны сохраняться учетные данные необходимые для выполнения запросов к СЛ: токен, id активной лицензии, порядковый номер запроса seqNumber.
- Для ИНТЕГРАЦИИ нужно использовать один из имеющихся продуктов в СЛ (см. таблицу ниже). ВАЖНО: продукт определяется в в соответствии с типом ИНТЕГРАЦИИ.
Продукты с xml-saas | ProductGUID |
---|---|
R-Keeper модуль XML-интерфейс для CRM 12 мес ПО | f2af3b7e-4225-4e36-b72d-c65e7b9a04c6 |
R-Keeper модуль XML-интерфейс для CRM 1мес ПО | fb4ba8ec-ea17-4268-a05d-cad9a598ab95 |
R-Keeper модуль XML-интерфейс для KDS 12 мес ПО | 9a55a4a4-c2b4-412b-a558-90d8a8443850 |
R-Keeper модуль XML-интерфейс для KDS 1мес ПО | 5674248a-06f5-4116-916f-09b1383f80a2 |
R-Keeper модуль XML-интерфейс для Доставки 12 мес | 310bc5c7-b0ca-4790-bdeb-afe0d9cf516b |
R-Keeper модуль XML-интерфейс для Доставки 1мес ПО | c4fc346f-df29-4083-b611-49eb275544e8 |
R-Keeper модуль XML-интерфейс для Киоск 12 мес ПО | 1c09f192-7938-4b17-9db5-f78856c633ad |
R-Keeper модуль XML-интерфейс для Киоск 1мес ПО | dc79065a-2e33-47ee-85d7-a375444f7835 |
R-Keeper модуль XML-интерфейс для Приложения 12 мес ПО | 655cee55-7bcd-4826-b6e0-a8ccf2017ef3 |
R-Keeper модуль XML-интерфейс для Приложения 1мес ПО | 4458d8b1-0019-4025-8c7a-60a83ad64b66 |
Авторизация
Для запросов к системе лицензирования требуется авторизация. Для этого нужны:
- userName - логин интегратора (дилера)
- password - пароль интегратора (дилера)
- token - токен безопасности (токен выдается на Интегратора - на все его интеграции. Для получения токена отправьте письмо с запросом на integrations@ucs.ru)
В заголовке запроса должен быть передан параметр usr. Правило его формирования:
usr : Base64(userName + «;» + lowercase(md5(userName+password)) + «;» + lowercase(md5(token)))
Запрос id лицензии
Для получения id лицензии к СЛ выполняется запрос GetLicenseIdByAnchor
GetLicenseIdByAnchor?anchor=6:<productGUID>#<restCode>/17
Где
- productGUID - GUID продукта
- restCode - код ресторана
Пример заполнения якоря для продукта "R-Keeper модуль XML-интерфейс для Приложения 12 мес ПО" для объекта 199999993
6:655cee55-7bcd-4826-b6e0-a8ccf2017ef3:199999993/17 ВАЖНО: символы ": # /" в строке должны быть экранированы!! (: - %3A # - %23) т.е. запрос будет иметь вид: https://l.ucs.ru/ls5api/api/License/GetLicenseIdByAnchor?anchor=6%3A655cee55-7bcd-4826-b6e0-a8ccf2017ef3%23199999993/17
ВАЖНО: для положительного ответа на объекте должна быть подтверждена заявка на указанное ПО и сгенерирована активная лицензия.
В ответ получим информацию об активной лицензии
{"id":"fe4e4c5a-3037-4f0c-8216-7b98be6d87bb","expirationDate":"2020-03-26T00:00:00","qty":1.0}
Полученный id должен сохраняться в БД ИНТЕГРАЦИИ и передаваться при заполнении LicenseInfo в атрибуте licenseToken. Обновление id нужно выполнять каждый раз при старте ИНТЕГРАЦИИ и при периодических проверках лицензии, например, каждые 30-90 минут либо при ошибках выполнения запроса перед повтором.
Заполнение LicenseInfo
При отправке команд SaveOrder, PayOrder, MakeRetunGoods ИНТЕГРАЦИЯ проверяет наличие в БД информации о лицензии (id лицензии), если id найден в xml запрос добавляется дополнительный элемент LicenseInfo.
<LicenseInfo anchor="6:655cee55-7bcd-4826-b6e0-a8ccf2017ef3:199999993/17" licenseToken="fe4e4c5a-3037-4f0c-8216-7b98be6d87bb"><LicenseInstance guid="instance_guid" seqNumber="0"/></LicenseInfo>
- anchor - якорь лицензии
- licenseToken - id лицензии
- guid - уникальный guid экземпляра приложения (При первом старте интеграции должен быть сгенерирован автоматически, в дальнейшем хранится локально и передается в каждом запросе)
- seqNumber - порядковый номер запроса. При первом вызове для нового guid должен быть 0, увеличивается при каждом запросе. в ИНТЕГРАЦИИ должно быть реализовано хранение текущего seqNumber в оперативной памяти или локальной БД. Для получения актуального значения на старте приложения можно использовать команду GetXMLLicenseInstanceSeqNumber, но эту команду нельзя выполнять слишком часто.
XSD схемы запросов можно посмотреть на ftp://tp.ucs.ru/rk7/ForDealers/XMLInterface/XML-Schemes
5.6.6 Ввод номера стола
Окно для ввода номера стола (см. Рис. 171) появляется сразу после выбора типа заказа и настраивается в менеджерской киоска в разделе «Настройки»-«Основные настройки» (см. 5.3.1 Основные настройки) с помощью параметров:
- ВВОД НОМЕРА СТОЛА:
- Да – показывать окно для ввода номера стола;
- Нет – не показывать окно для ввода номера стола;
- КОД ТИПА ЗАКАЗА, ДЛЯ КОТОРОГО СЛЕДУЕТ ПОКАЗАТЬ ВЫБОР СТОЛА – код типа заказа, для которого следует показать выбор стола.
Рис. 170
Рис. 171
Настройка интеграции с Grafana
Введение
В статье описана интеграции r_keeper_7 и аналитическим приложением Grafana.
Установка Grafana
Grafana доступна для различных систем — Linux, Windows и других. Установка тривиальна и подробно описана на странице скачивания. Для нашем примере будет установка на Windows.
- Скачайте установщик со страницы загрузки
- Запустите установщик
- Готово!
Синхронизация справочников базами данных
Введение
В статье описана настройка новой синхронизации между базами данных r_keeper_7
Описание синхронизации
Описание ini-файлов
rk7srv.INI
[DBSync]
; Включение ведения второй базы SQLiteCMN для общей (основной) и локальной баз справочников,
; и записи их журнальных файлов и бэкапов для работы механизма синхронизации базами.
; После запуска в этом режиме, сервер справочников сделает рядом с файлом базы rk7.udb файл rk7.udb.SQLite
; и папку, в которой будет накапливать резервные копии, журнальные файлы и файл настройки фильтрации
; для передачи клиентским приложениям. Подробнее о ней см. ниже, в описании параметра OutputPath.
; По умолчанию это папка DBSync\outgoing в папке с базой данных.
; Сетевой доступ к этой папке у нас автоматически обеспечивается по протоколу WebDAV,
; для чего каждым сервером запускается свой nginx, доступ к которому автоматически прокидывается
; сквозь HTTP-интерфейс сервера. Если в ini клиентских приложений им не задан статический ReqSourceURL (см. ниже),
; хост и порт для подключения к нему клиентские приложения по умолчанию выясняют у сервера сами, подключаясь к нему по сетевому имени.
; Для проверки можно подключаться к этой папке, например, web-браузером, по URL вида https://<http host>:<http port>/rk7api/v1/dbsync/
UseDBSync = 1
; Папка, в которую будут попадать созданные файлы бакапов, журналов и файл настройки фильтрации.
; Можно не задавать, так как по умолчанию - это папка DBSync\outgoing\ рядом с файлом собственной базы данных справочников
; сервера справочников. Клиентские приложения берут из неё файлы для обновления своих баз.
; Доступ к ней они получают либо через встроенный WebDAV, либо напрямую как к папке в файловой системе, либо любым другим способом.
; OutputPath = <DataBasePath>DBSync\outgoing
; Через столько транзакций делать бэкап. По умолчанию, через каждые 1000 файлов журнала.
; BackupOnVersionsDelta = 2000
; После накопления какого суммарного размера журнала (в процентах от размера последнего бэкапа) делать новый бэкап.
; По умолчанию, 30% - новый бэкап будет сделан, когда суммарный размер файлов журнала,
; появившихся после создания последнего бэкапа, достигнет 30% от размера этого последнего бэкапа.
; BackupOnJournalSizeMultiplier = 30
; После достижения какого суммарного объёма файлов журнала стирать из OutputPath самые старые из них.
; Задаётся в процентах от размера последнего сделанного бэкапа, по умолчанию 300.
; То есть, по умолчанию, файлов журнала будет храниться три размера базы.
; BackupMaxTotalSizeMultiplier = 300
; Минимальное время хранения файлов журналов в часах
; По умолчанию журналы хранятся не менее 8 часов
; MinSaveJournalHours = 8
; После достижения какого количества бэкапов стирать из OutputPath самые старые из них.
; По умолчанию хранится два бэкапа - последний и, на всякий случай, предыдущий
; BackupCountLimit = 2
; Для защиты обмена файлами через http можно задать системный пароль, значение параметра должно начинаться с ":"
; ServerLoginInfo = :<Password>
; Включение режима откладки nginx. 1 — включить. По умолчанию — 0.
; NginxDebug = 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- …
- следующая ›
- последняя »