external:доставка:02_dlvhatch

Это старая версия документа!


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 подлежит обязательному лицензированию. Подробнее о лицензировании можно прочесть в статье «Лицензирование»

ВНИМАНИЕ! Для лицензирования модуля необходимо запустить его в оконном режиме (см запуск программы)

ВНИМАНИЕ! Модуль использует отложенную инициализацию системы лицензирования.

При открытии пользовательского интерфейса сразу после запуска ПО, на главном экране будет отображено соответсвующее сообщение.\\

Не рекомендуются выполнять каких либо действий до инициализации системы лицензирования.

Кнопки на форме в случае запуска в оконном режиме станут активны спустя 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


[SORT]
;Начиная с версии DH v3.0.6.1222
;Параметры сортировки блюд для API запроса /getmenu
;возможные значения - name - сортировка по имени, code - сортировка по коду
;сортировка категорий (работает только при указании идентификатора КЛАССИФИКАЦИИ в rkMenuCateg)
categ=name
;сортировка блюд
dish=name

[SERVER]
;Порт локального сервера доставки. Должен быть свободен (не занят другим ПО). Этот порт надо открыть в брандмауэре на машине где установлен DH   
Port=11011
;Домен сервера (!не трогать!)
Domain=delivery


;Токены для доступа в 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»

  • external/доставка/02_dlvhatch.1594625712.txt.gz
  • Последние изменения: 2020/07/13 10:35
  • Данила Матюшев