====== DeliveryHatch (настройки сервера доставки) ======
===== Описание =====
DeliveryHatch (далее DH) - сервер доставки, реализующий механизмы работы с базой гостей, пользовательским интерфейсом и API r-keeper
**Поставка:**
/domains -Набор веб-страниц, релизующих пользовательский интерфейс
/python -Портативная сборка интерпретатора Python (v3.4.4 для поддержки winXP)
DeliveryHatch.exe -Исполняемый файл
DeliveryHatch.ini -Файл конфигурации сервера
Delpyne.dll -Адаптер интерпритатора Python
LicSystem.dll -Библиотека системы лицензирования
msvcr100.dll -Служебная библиотека
RK7XML.dll -Библиотека связи с системой r_keeper v7
Server.bin -Параметры сервера лицензирования
sqlite3.dll -Движок файловой базы данных
**Модуль DH подлежит обязательному лицензированию.** Подробнее о лицензировании можно прочесть в статье "[[:external:minidlv2:лицензирование|Лицензирование]]"
**ВНИМАНИЕ! Для лицензирования модуля необходимо запустить его в оконном режиме (см запуск программы)**
**ВНИМАНИЕ! Модуль использует отложенную инициализацию системы лицензирования.\\
При открытии пользовательского интерфейса сразу после запуска ПО, на главном экране будет отображено соответсвующее сообщение.\\** Не рекомендуются выполнять каких либо действий до инициализации системы лицензирования.\\
Кнопки на форме в случае запуска в оконном режиме станут активны спустя 10-15 секунд после запуска программы.
**ВНИМАНИЕ! Антивирусы (Касперский, WindowsDefender и другие) могут ругаться на библиотеку LicSystem.dll (а так же и на другие модули).** \\
Связано это с тем что применяется технология обсфускации кода, что вызывает ложные срабатывания со стороны антивирусных программ. Рекомендуется добавить папку с установленной мини-Доставкой в исключения Антивируса.
===== Файл конфигурации =====
В поставку включен текстовый файл конфигурации "DeliveryHatch.ini" посредством редактирования которого и производится настройка модуля DH.
**Описание параметров:**
DeliveryHatch.ini:
[RK]
;IP адрес !КАССОВОГО СЕРВЕРА!
rkAddr=192.168.1.100
;Порт XML интерфейса !КАССОВОГО СЕРВЕРА!
rkPort=12501
;Код стола из справочников rk7
rkTable=1
;Код станции из справочников для создания заказов
rkStation=1
;Код категории заказа из справочников rk7 для заказов на доставку (может совпадать с rkTACateg)
rkDlvCateg=2
;Код категории заказа из справочников rk7 для заказов на вынос (может совпадать с rkDlvCateg)
rkTACateg=1
;Код интерфейса системы лояльности из справочников rk7 (если в заказах на доставку должна автоматически применяться карта гостя номер которой записан у него в анкете)
rkPDSInterface=1
;Идентификатор (не код!) классификации блюд из редактора меню. Блюда, принадлежащие к любой категории внутри этой классификации
;будут доступны через API (на сайте). Название группы блюд в API (на сайте) = названию категории внутри этой классификации.
;Устаревшее поведение параметра: для версий DeliveryHatch младше, чем v3.0.6.1222 в этом параметре указывался идентификатор категории блюд внутри классификации.
rkMenuCateg=3074
;Идентификатор(не код!) категории блюд из справочников rk7 для пометки блюд как "популярные"
rkHitCateg=3585
;XML порт КАССОВЫХ СТАНЦИЙ (Должен быть одинаковым на всех)
rkCashXMLPort=22331
;Код валюты для приема внешней оплаты заказа (Проходит как предоплата)
rkPayCode=1
;Код причины внесения денег для внешней оплаты
rkPayReasonCode=2
;Фильтровать модификаторы для интернет-заказов по весу (0 - все модификаторы, 1 - только с весом> 0)
rkFilterModiWeights=1
;Параметры уведомлений о новых заказах в Telegram
[TELEGRAM]
;Токен Telegram бот`а. Если пусто - уведомления отключены.
token=
;Список ID чатов для уведомлений, разделенных запятыми. Поддерживаются группы, супергруппы и личные чаты.
chatsToNotify=
[SORT]
;Начиная с версии DH v3.0.6.1222
;Параметры сортировки блюд для API запроса /getmenu
;возможные значения - name - сортировка по имени, code - сортировка по коду
;сортировка категорий (работает только при указании идентификатора КЛАССИФИКАЦИИ в rkMenuCateg)
categ=name
;сортировка блюд
dish=name
[SERVER]
;Порт локального сервера доставки. Должен быть свободен (не занят другим ПО). Этот порт надо открыть в брандмауэре на машине где установлен DH
Port=11011
;Домен сервера (!не трогать!)
Domain=delivery
;Callback-url по-умолчанию, не обязательное поле.
;На указанный URL будет отправляться POST JSON уведомление об изменении статуса заказов.
;Указывается в формате: https(s)://IP:PORT/path
Status_callback=
;Токены для доступа в API v2. Они же нужны для интеграции с готовым сайтом. Токен нужно придумать самостоятельно.
;Одна строка-один токен.
;Токен обязательно должен заканчиваться символом "="
;Символ "=" обозначает окончание токена и не принадлежит ему.
;Т.е. в запросах токен использовать БЕЗ знака "="
[APITOKEN]
deliverytoken=
[LOG]
;Уровень логирования. Больше значение - подробнее логи
LogLevel=1
;Возраст .log файлов для удаления в днях
OldLogs=7
;Логировать используемую оперативную память
LogMem=1
==== Настройки функционала ====
В файле domains\delivery\const\const.py собрана дополнительная конфигурация модуля.
# За сколько дней до окончания лицензии выдавать предупреждение (выделяется цветом)
lic_warning_days=3;
# Использовать ПДС? (1-да, 0-нет)
usePDS=1;
# Режим отправки электронного чека
# (0 - нет, 1 - да, по умолчанию выкл, 2 - да, по умолчанию вкл)
eCheck=1;
# Использовать Виртуальную клавиатуру? (1-да, 0-нет)
useVKB=1;
# Интервал работы Доставки (время на которое можно принимать заказы)
# Минимальное время на которое можно принять заказ
dlvFrom = "10,00"; # чч,мм не меньше чем 00,00
# Шаг времени
dlvPeriod = 30; # шаг интервала в минутах
# Максимальное время на которое можно принять заказ
dlvTo = "23,55"; # чч,мм не больше чем 23,55
# Язык интерфейса (локализация)
lng='rus'
# lng='en'
# Dadata - Подсказки адресов
# Описание этих настроек: https://wiki.carbis.ru/doku.php?id=external:minidlv2:dadata
# API ключ
DADATA_API_KEY = ""
# Базовый город для поиска адреса
DADATA_BASE_CITY = "Москва"
===== Запуск программы =====
DeliveryHatch.exe поддерживает запуск в качестве настольного приложения и работы в качестве службы.\\
Для запуска приложения в оконном режиме запустите приложение с ключем "/desktop"\\
Этот режим предусмотрен для возможности лицензирования ПО, а так же для случая, если по той или иной причине не возможна работа приложения в фоновом режиме (в режиме службы)
DeliveryHatch.exe /desktop
Для установки или удаления приложения как службы используйте ключи /install и /uninstall соответственно
DeliveryHatch.exe /install /*Установить службу*/
DeliveryHatch.exe /uninstall /*Удалить службу*/
**Установка и удаление службы возможны только с правами администратора**
После установки службы необходимо ее запустить через встроенное приложение Windows: "services.msc"\\
Отображаемое имя службы: "Carbis Delivery Hatch"