Диагностика — iiko¶
С чего начинать¶
Основной журнал плагина:
Рядом лежат журналы самого iikoFront, они нужны, когда плагин вообще не загрузился:
| Файл | О чём |
|---|---|
plugin-Broni.Front.Plugin.log |
работа плагина: поиск брони, расчёт и применение скидки, отправка счетов |
api.log |
подключение плагинов к хосту front.api |
cash-server.log |
обнаружение плагинов и разбор Manifest.xml |
Быстро посмотреть последние ошибки:
Плагин не загружается¶
В журналах нет ни одного упоминания плагина¶
iikoFront его не нашёл. Проверьте по порядку:
- Структура каталога.
Manifest.xmlдолжен лежать по пути…\Front.Net\Plugins\Broni.Front.Plugin\Manifest.xml. Лишний вложенный уровень — самая частая причина. - Точка в начале имени папки.
.Broni.Front.Plugin— это выключенный плагин, уберите точку. - Тот ли каталог iikoFront. Если на сервере несколько установок iiko, убедитесь, что плагин попал в каталог используемой.
- Перезапуск. Плагины подхватываются только при старте iikoFront.
cash-server.log ругается на манифест¶
Файл Manifest.xml повреждён или изменён. Распакуйте архив заново, не редактируя
его содержимое.
В api.log — отказ по лицензии¶
Причины по частоте:
- Модуль front.api не включён в лицензии площадки. Самая частая причина. Включается на стороне iiko — обратитесь в поддержку iiko от имени площадки.
- Изменён
Manifest.xml. Идентификатор лицензионного модуля (LicenseModuleId, см. Обзор) приходит в архиве уже проставленным — файл не редактируется вручную. Если его правили, распакуйте архив заново. - Если оба пункта проверены, а отказ повторяется — обратитесь в
поддержку со строкой из
api.log.
Плагин загрузился, но скидка не применяется¶
В журнале есть [dryRun] would apply …¶
Всё работает правильно, плагин просто в проверочном режиме. Значит, в
%APPDATA%\Broni.Front.Plugin\venue.config кто-то добавил служебный параметр
dryRun со значением true — по умолчанию его там нет. Удалите эту строку (или
поставьте value="false") и перезапустите iikoFront —
проверочный режим.
Про заказ вообще ничего не пишется¶
Плагин не связал заказ с бронью. Причины по частоте:
- Стол не сопоставлен. Заказ открыт на столе, который в Брони не привязан к этому же столу. Проверьте сопоставление столов в личном кабинете партнёра.
- Заказ открыт без брони. Гость пришёл не по брони — это штатная ситуация, скидки быть не должно.
- Бронь не в зеркале. Бронь создана только что, а синхронизация ещё не
прошла. Подождите минуту либо убедитесь, что
mirror.backendFallback=true.
В журнале — «бронь найдена», но скидка нулевая или не применена¶
- Время вне интервала действия брони. У каждой брони свой интервал; допуск
на расхождение часов задаётся
mirror.windowGraceMinutes(по умолчанию 30 минут). Проверьте, что часы кассового сервера идут верно. - Тип скидки не найден. Название в iikoOffice должно совпадать с
discountTypeNameпосимвольно, включая регистр. После правки в iikoOffice выгрузите изменения на кассы. - Несовпадение способа расчёта. При
applyMode=flexibleSumскидка в iikoOffice должна быть с расчётом «гибкая сумма»; приpercent— процентной. - У кассира нет права на скидку. Проверьте права роли в iikoOffice.
Скидка применяется не к тому счёту¶
Убедитесь, что заказ открыт именно на забронированном столе и что стол не был перенесён после открытия заказа.
Проблемы со связью¶
В журнале — ошибки синхронизации зеркала¶
Проверьте с кассового сервера:
Если порт закрыт — вопрос к ИТ-специалисту ресторана: нужен исходящий HTTPS. Часто мешает корпоративный прокси или фильтрация в антивирусе.
Адрес сервера в настройках проверять не нужно — плагин берёт его из своей сборки. Убедитесь, что установлен рабочий дистрибутив, а не сборка для тестового стенда: при старте плагин пишет в журнал строку вида
Найти её в журнале:
Select-String -Path "$env:APPDATA\iiko\CashServer\Logs\plugin-Broni.Front.Plugin.log" -Pattern "Plugin starting"
channel=stable — рабочий дистрибутив, он обращается к https://broni.io.
channel=dev — сборка для тестового стенда: она ходит на тестовый контур, а не
на broni.io. В этом случае скачайте рабочий архив заново, см.
Установку.
Скидки продолжают работать
Обрыв связи не мешает применять скидки: условия уже в зеркале. Восстановится связь — зеркало догонит само.
В журнале — ошибка авторизации (401/403)¶
Токен площадки неверен или отозван. Скопируйте posToken из личного кабинета
заново, целиком, без пробелов по краям, в
%APPDATA%\Broni.Front.Plugin\venue.config. Перезапустите iikoFront.
Если строки posToken в файле нет вовсе или файл пуст — проверьте, тот ли это
файл: путь к прочитанному venue.config плагин пишет в журнал при старте.
Счета не уходят, очередь растёт¶
Каталог очереди — %APPDATA%\Broni.Front.Plugin\checks. Файлы в нём копятся,
пока нет связи, и уходят сами после восстановления. Ничего удалять не нужно.
Если очередь растёт при живой связи — соберите журнал и обратитесь в поддержку.
Что приложить к обращению в поддержку¶
- Файл
plugin-Broni.Front.Plugin.log(при возможности — сlogLevel=Debugи воспроизведением проблемы). - Версию плагина и версию iikoFront.
- Номер брони и время, когда скидка должна была примениться.
- Скриншот счёта, если скидка применилась неверно.
Ошибки мы видим и без обращения
Плагин автоматически сообщает нам о своих внутренних ошибках — с версией, настройками и версией ОС. Содержимое счетов и данные гостей при этом не передаются. Обращение всё равно ускоряет разбор: мы будем знать, какую именно бронь смотреть.