Обратите внимание, что продукт закрыт и снят с поддержки с 01.01.2021. Рекомендуем перейти на актуальную версию Delivery. Для облегчения перехода описан процесс миграции со старых версий.

Общие сведения

Delivery7 состоит из двух основных модулей - Оператор (Operator.exe) и Диспетчер (SDispatcher.exe), которые используют одну и туже БД и приложение, отвечающее за лицензирование - DlvServ.exe. 

Модуль Оператора позволяет принять заказ - сформировать информацию о клиенте (ФИО, адрес, телефон) и информацию по заказу (блюда, скидки, способ оплаты). Настройки прописаны в файле Operator.ini.

Модуль Диспетчера позволяет обработать заказ от момента запуска его на производства до момента его закрытия. Настройки прописаны в файле MSConfig.ini.

Примечание: перед первым запуском системы необходимо частично в ручную отредактировать данные ини-файлы. В дальнейшем редактирование параметров возможно из программы.

Примечание: Доставка работает только совместно с системой R-Keeper CRM и R-Keeper 7.

Delivery7 общается с R-Keeper 7 и R-keeper CRM с помощью запросов, прописанных в файлах XML.

В дистрибутиве для модуля Оператора и Диспетчера есть соответствующие папки с xml:

  • \CSQuery    - запросы для R-keeper CRM
  • \RK7Query  - запросы для RK7
  • \LogXMLS   - логи (отправленные данные пишутся в файлах, начинающихся с SET_, полученные - GET_)
Примечание: в R-Keeper CRM помимо имеющихся "Классификаторов ПО" необходимо будет добавить еще Классификатор ПО для Доставки, т.е. в лицензии для одного ресторана, осуществляющего доставку минимальное число терминалов = 3: Монитор автоматических операций, РК7 и ДоставкаРК7.

Delivery7 использует R-Kepeer 7 в качестве инструмента для создания и оплаты заказа, а также прочих операции применительно к заказу: печати пречека/чека/накладной, редактирования и удаления.

R-Keeper CRM выступает в качестве инструмента, где хранится и редактируется информация о клиенте (его ФИО, адрес, контакты, счета и другое).

Состав пакета

Инсталляционный пакет лежит на нашем ftp в папке \Delivery/RK7\. Брать рекомендуется самую последнюю версию.

Рекомендуется создать отдельную папку на несистемном жестком диске, например D:\UCS\DELIVERYRK7\ и в нее копировать содержимое архивов с ФТП.

Примечание: исключить в названиях промежуточных папок точки, русские буквы.

В итоге структура должна быть как в таблице ниже.

Таблица 1. Структурная схема модулей доставки

уровень 1уровень 2Комментарии
 D:\UCS\DELIVERYRK7\


\AuthSrv\папка с сервером доставки

\CCTransport\папка с транспортом (для колл-центра)

\Db\папка с БД и скриптом для ее создания/обновления

\DictionaryEditor\папка с Редактором зон доставки (для колл-центра)

\Operator\папка с модулем "Оператор"

\Operator\find.xmlфайл с шаблоном запроса для поиска клиента по критериям (адресу, имени, телефону и т.д.)

\SDispather\папка с модулем "Диспетчер"

\Expeditor\папка с модулем "Экспедитор"

\Rk7Cash\папка с кассовой станцией РК7 (модуль из РК7)

Обновление

Примечание: при обновлении программы с текущей версии (например 3.0.1.110 ) на следующую версию (например, 3.1.1.120) необходимо полностью заменить старый дистрибутив на новый, включая базу данных, если не нужна история по старым заказам. Старые ини-файлы сохранить для переноса значений параметров в новые.

Если необходимо сохранить данные по заказам (историю заказов), то старую БД не удаляем, а обновляем с помощью скрипта (\DB\UpdateTo_НоваяВерсия.sql). 

Примечание: при обновлении более старой версии на новую нельзя просто взять и заменить старый Operator.exe (или SDispatcher.exe) на новый. Этого будет недостаточно. Так же нельзя использовать старый Operator.ini и MSConfig.ini в новой версии. 

Версионность

Минимальные версии RK7:

[Доставка 3.0.1.ХX]  -  [RK 7.4.20.14]; 

[Доставка 3.1.1.ХX]  -  [RK 7.4.21.001];

[Доставка 3.1.2.ХX]  -  [RK 7.5.2.124];

[Доставка 3.1.3.68+]  -  [RK 7.5.2.159+]  -  [CRM 5.05+];

[Доставка 3.1.3.118+]  -  [RK 7.5.3.211+]  -  [CRM 5.08+] - [DLVSERV 1.0.2.25];

[Доставка 3.1.3.120+]  -  [RK 7.5.3.256+]  -  [CRM 5.08+]  - [DLVSERV 1.0.2.37] ;

[Доставка 3.1.3.152+]  -  [RK 7.5.5.107+]  -  [CRM 5.09.04.02+]  - [DLVSERV 1.0.2.37] ;

Более актуальную информацию ищите в Readme.txt с дистрибутивом на ФТП.

Рекомендуется устанавливать самую последнюю версию доставки.

Обязательные подготовительные работы (установка СУБД, драйверов, библиотек)

Установка СУБД

На машине, где будет находиться база данных программы Delivery7 и на которых будут запускаться модули доставки, установите сервер  Firebird 2.5 (обязательно 32bit).

В 64-разрядных ОС устанавливать Firebird необходимо с правами администратора и использовать пакет для авто-установки (обязательно 32 bit*, Windows executable installer for full Superclassic/Classic or Superserver с официального сайта  http://www.firebirdsql.org/en/firebird-2-5-2/), чтобы произошла корректная регистрация служб и библиотек!

При возникновении ошибок в 64-разрядных ОС Windows 7 связанных с невозможностью загрузить библиотеку Gds32.dll, необходимо проверить ее наличие в системной папке C:\Windows\SysWOW64\. Если там ее нет, то скопировать файл fbclient.dll из папки ../Firebird/Bin/ и переименовать его в Gds32.dll.

Примечание: Версия FireBird 3.0 не поддерживается, ни 32х ни 64х разрядные.

Создание БД

В качестве базы данных рекомендуется использовать готовую базу DeliveryRK7.FDB из дистрибутива, которая лежит в папке /DB/.

Там же лежит скрипт DeliveryDB.SQL для ее создания (например, с помощью IBexpert.exe). Достаточно запустить IBExpert и выполнить скрипт (меню "Инcтрументы -> Редактор скриптов" или Ctrl+F12).  

Установка драйвера DBExpress


На машинах, где будут запускаться приложения Delivery7, необходимо установить DBExpress (на ftp в папке //Delivery/RK7/DbExpressInstallation.7z).

Инсталляция библиотеки CinemaUF.dll

На компьютере, где установлен сервер Firebird, скопируйте файл CinemaUF.dll (на ftp в папке /dealers/Delivery/RK7/CinemaUF.dll.zip) в директории, указанные ниже.

Примечание: библиотека CinemaUF.dll только для 32-х разрядных приложений Firebird, поэтому устанавливаем или проверяем, что используется только 32-битный Firebird.

Полный путь следующий: c:\Program Files (x86)\Firebird\Firebird_2_5\UDF\CinemaUF.dll

Borlndmm.dll

Рекомендуется проверить наличие данной библиотеки в системной папке.

Для 32-битных ОС - это папка C:\Windows\System32\, для 64-битных ОС - это папка  C:\Windows\SysWOW64\.

Dbexpida.dll

Примечание: на машине, где будет работать оператор и диспетчер необходимо установить dbxida.dll (ftp://ftp.ucs.ru/Delivery/RK7/dbxida270.7z).

Лицензирование

Для работы Delivery7 необходима лицензия, причем лицензированию подлежит каждый из модулей (оператор, диспетчер и экспедитор).

Примечание: Лицензию активирует, хранит и проверяет Сервер авторизации - DLVServ.exe.

Примечание: Лицензия привязывается к ключу и коду ресторана. В старых версиях лицензия к коду ресторана не привязывалась.

Начиная с версии сервера доставки 1.0.2.21 изменился процесс лицензирования. Описание читайте ниже. Возможно использование данной версии сервера в рамках Доставки версии 3.1.3.103 и выше. 

Сервер версии 1.0.2.25 работает с версией доставки 3.1.3.110. Теперь будет происходить проверка кода ресторана кассы, работающей с доставкой!

Путь на ФТП: ftp://ftp.ucs.ru/Delivery/RK7/DLVServ/DLVSRV1.0.2.21.7z

На всех компьютерах, где будут запускаться приложения оператора или диспетчера, установите или проверьте наличие драйвера Guardant Novex.

Примечание: Начиная с версии R-Keeper 7.5.3.211+ для Доставки можно использовать кассовую станцию с типом Урезанная версия (для доставки). С версий 7.5.4.Х для использования такого типа станции необходимо включить параметр "Доставка"(справочник Настройки - Параметры). Такого типа станция не "отъедает" лицензии пролицензированного кассового сервера.

Если необходимо использовать такого типа станции на новом/отдельном кассовом сервере, то для такого кассового сервера необходимо сгенерировать лицензию с нулевым количеством станций (на сайте l.ucs.ru при генерации лицензии количество станций ставим 0).

Лицензирование Dlvserv.exe версии 1.0.2.21

Примечание: для работы Dlvserv.exe версий 1.0.2.21 и выше необходим ключ защиты. Лицензия в ключ не пишется, а лишь привязывается к нему. Лицензия хранится в реестре.

Порядок лицензирования сервера:

1. Сделать заявку для объекта на сайте l.ucs.ru для соответствующего ПО: RK7 Delivery operator, RK7 Delivery dispatcher, RK7 Delivery expeditor;

2. Скачать с ФТП сервер версии 1.0.2.21 (ftp://ftp.ucs.ru/Delivery/RK7/DLVServ/DLVSRV1.0.2.21.7z) и запустить как приложение; Развернуть окно сервера;

3. Заполнить следующие поля в блоке "Параметры сервера": порт и периодичность опроса. Порт необходим для подключения клиентов к серверу, периодичность опроса - интервал опроса ключа и проверки лицензии.

4. Заполнить следующие поля в блоке "Оператор": 

Объект  - полный код ресторана (объекта) - 9 цифр (метка [1] на рисунке ниже);

Ключ  - номер ключа(hex) (метка [2] на рисунке ниже);

Запрос - код запроса, который генерирует Сервер доставки при нажатии кнопки в конце строки (метка [3] на рисунке ниже). Данный запрос необходимо вносить на l.ucs.ru при генерации лицензии.

Лицензия  - код лицензии, полученный на сайте лицензирования l.ucs.ru для ПО RK7 Delivery operator (метка [4] на рисунке ниже);

Количество, Дата окончания  - заполнятся автоматически после ввода лицензии.

5. Повторить действия пункта 4 для блока "Диспетчер". Запрос и лицензия для Диспетчера будут другими, т.к. для Диспетчера используется мастер-лицензия для ПО  RK7 Delivery dispatcher.

6. Повторить действия пункта 4 для блока "Экспедитор". Запрос и лицензия для Экспедитора будут другими, т.к. для Экспедитора используется мастер-лицензия для ПО RK7 Delivery expeditor.

7. В дальнейшем Сервер доставки можно установить в качестве службы. 

Лицензирование Dlvserv.exe версии 1.0.2.25

При продлении мастер лицензии, необходимо удалить лицензию с виртуального ключа.

Особенности данной версии:

  • Работает с версиями R-Keeper 7 выше 7.5.2.476 или 7.5.3.131;

  • У сервера появилось имя (должно быть уникальное);

  • Добавлена проверка корпорации в лицензии и на кассах;

  • Добавлена возможность запуска нескольких серверов на одной машине;

  • Для установки сервера как службы с определенным именем используем следующий синтаксис: DLVServ.exe -install -NAME:имя службы;

  • Для удаления сервера из служб с определенным именем используем следующий синтаксис: DLVServ.exe -uninstall -NAME:имя службы;

  • При первом запуске сервер самостоятельно перенесёт данные о лицензиях с версии 1.0.2.21 (если это будет в той же системе)

Примечание: В данной версии сервера изменен протокол работы с программами (оператор, диспетчер, экспедитор). Работает, начиная с доставки 3.1.3.110, с более ранними версиями работать не будет. Начиная с этой версии, при изменении путей к серверу данные о лицензии будут утеряны.

После первого запуска сервера обязательно поменять имя сервера и порт. Также это следует сделать, если на одной машине планируется запустить несколько экземпляров серверов.

Про особенности лицензирования для колл-центра читайте в п.2 статьи Доставка для нескольких ресторанов.

Настройки в r_keeper 7

  1. В менеджерской станции в справочнике "Сервис - Станции и устройства" создать новую кассовую станцию в ресторане, в котором планируется использовать ПО DeliveryRK7. 
Примечание: данная станция будет работать на одной машине вместе с Оператором и Диспетчером.
  1. В свойствах данной станции выбрать Тип ОС = Windows,  Тип станции = Урезанная версия (для доставки). Если такой тип станции отсутствует, то необходимо включить логический параметр Доставка (UseDelivery) в справочнике "Настройки - Параметры".
  2. Для данной кассовой станции  обязательно настроить печать чеков и пречеков  (выбрать принтер).

  3. Если необходим формат А4 для счет-фактур, то выполнить действия, описанные здесь

  4. Добавьте XML interface for windows на вкладку "Устройства" кассовой станции  (рисунок ниже). Пропишите в секции «Опции» для параметра «Port» свободный порт (в дальнейшем это значение необходимо прописать у параметра «inRKPort=» в ini-файлах системы Delivery). Так же можно присвоить значение параметру «CryptKey» (его же следует прописать у параметра «stRKPas s=» в ini-файлах системы Delivery).

  5. Добавьте  XML interface for windows  на вкладку "Устройства"  кассового сервера и свяжите с новым логическим интерфейсом, являющимся копией предустановленного . Обязательно перезагрузите кассовый сервер. Пропишите в секции «Опции» для параметра « Port » свободный порт (в дальнейшем это значение необходимо прописать у параметра « inRKMidPort =» в MSConfig.ini). Так же можно присвоить значение параметру « CryptKey » (его же следует прописать у параметра « stRKMidPas s =» в MSConfig.ini).

  6. Настройте сервис-печать

Примечание: начиная с версии РК7.5.4.182 для корректной работы модуля Диспетчер в менеджерской станции необходимо настроить сервис-печать. Если сервис-печать не используется, то нужно создать "мнимую" сервис-печать с печатью сервис-чеков на принтер "Не печатать".
  1. Создать два новых типа заказа (справочник "Заказ - Типы заказа") и привязать к используемой категории заказа (отметьте(галочкой) типы заказа, которые будете использовать для доставки). Возможно потребуется добавить новую категорию заказа (по желанию клиента), т.к. по-умолчанию их может не быть. В любом случае, необходимы два обязательных типа заказа - "с собой" и "с доставкой", связанных с используемой на кассе доставки категории заказа.

Рис. Категории и типы заказа для нужд доставки.

  1. В справочнике "Сервис - Операции" в группе "Пользовательские операции" найти операцию с  идентификатором = 920  ("Пользовательская операция 10"). Переименуйте ее на "Изменение состояния заказа в Доставке"  и выставите галочку у "Контроль доступа", чтобы данную операцию можно было редактировать в свойствах Роли, созданной для Доставки.

Рис. Редактирование пользовательской операции (id=920) в справочнике "Операции".

Рис. Редактирование привилегии "Изменение статуса заказа в Доставке" в свойствах роли.

  1. Добавьте две кнопки на кассу для переключения на оператора и диспетчера. Как это сделать написано в статье с дополнениями .

Настройки в r_keeper CRM

Примечание: в R-Keeper CRM помимо имеющихся "Классификаторов ПО" необходимо будет добавить еще Классификатор ПО для Доставки, т.е. в лицензии для одного ресторана, осуществляющего доставку минимальное число терминалов = 3: Монитор автоматических операций, РК7 и ДоставкаРК7.

1. Если не установлен R-keeper CRM, то перейдите по ссылке , чтобы ознакомиться с инструкцией по установке системы  R-keeper CRM .

2. Произвести настройку связи R-Keeper CRM с R-Keeper 7. Подробнее об этом читайте здесь в статье Настройка связи CRM 5 c RK7.

3. Создайте новый «классификатор ПО» для Доставки в Редакторе карт (Cards_Editor.exe). Код данного классификатора в дальнейшем необходимо присвоить параметру «stCSKey=» в файле  Operator.ini  и  MSConfig.ini.

Рис. Добавление нового классификатора ПО для Доставки в редакторе карт R-Keeper CRM

4. Проверьте, чтобы в "Редакторе карт" были заполнены практически все справочники, особенно: типы контактов, типы адресов, города и улицы, группы владельцев,  т.к. именно из этих справочников будут браться данные при редактировании информации о клиенте в Операторе.

Примечание: для корректной работы всем клиентам необходимо добавлять счет потрат (см.п.3.1 руководства пользователя).

Настройка модуля "Оператор" 

  1. Распаковать содержимое Operator.7z из дистрибутива устанавливаемой версии.

  2. Создать папку RK7Cash и скопировать в нее файлы, необходимые для запуска кассовой станции; проверить работу станции;

  3. Отредактировать файл RunCash.cmd в папке Operator. Прописать путь к каталогу с кассовой станцией из п.2; Проверить работу файла;

  4. Отредактировать файл Operator.ini, а именно:

  • заполнить все параметры в секции [Servers] - описание параметров дано ниже;

  • прописать путь к файлу RunCash.cmd из п.3 в секции [StartPrograms], убрав комментарии ";"  вначале строки: stPrg1=d:\UCS\DeliveryRK7\Operator\RunCash.cmd.

Примечание: перед запуском модуля оператора необходимо, чтобы сервер доставки, фаркардс и сервера системы R-Keeper CRM были запущены. В версии ниже 3.1.2.Х касса запускалась только в ручную.

       5.Запустить Operator.exe и в настройках донастроить систему, а именно:

  • заполнить параметры в блоке "рабочие параметры": использование карт, работе на тач-скрине и другие;

  • заполнить параметры в блоке "Типы заказа": проставить соответствие (если среди доступных значений для выбора нет значений "с доставкой" и "на вынос", то выполнить требования  пункта о создании типов заказа);

  • заполнить параметры в блоке "Значения по умолчанию": тип адреса, тип контакта, страна, город (если значений нет, то выполнить требования  пункта 4 для системы R-Keeper CRM);

  • заполнить параметры в блоке "Адрес ресторана для MapPoint" - это будет точкой А при прорисовке маршрута на картах.

Примечание: практически все настройки, прописанные в ini-файле, доступны для редактирования в приложении Operator.exe в пункте "Настройка". Параметры автоматически перепишутся в operator.ini. Названия пунктов меню меняются только в operator.ini.

Рис. Отображение параметров в настройках программы и в operator.ini

В ini-файлах в названиях параметров есть своеобразный префикс, который подсказывает значение какого типа должно быть присвоено параметру. Например:

  • stDBServer ~  string DBServer ~ строковый тип
  • inAuthPort ~  integer AuthPort ~ целочисленное значение
  • boUseTypeDelivery ~ bool  UseTypeDelivery ~ логический тип (1-true, 0-false)
  • tiDefWayTime ~  time  DefWayTime ~ время
  • daStatDateFrom ~ date  StatDateFrom ~ дата

Примечания: 

  • комментарии в ини-файле нельзя прописывать на той же строке, что и параметр;
  • изменение любого параметра, будь то в ini-файле или в самой программе, требует обязательной перезагрузки Оператора;
  • категорически запрещается менять параметры, значения которых вы не знаете; 

Описание основных параметров

СекцияНазвание параметра

Ограничение по версии

(0-обязателен всегда

< - младше

+ - и выше)

ОписаниеПримечание
[Servers]stDBServer0полный путь к базе Delivery (следует использовать базу, созданную согласно пункту о создании БД).если на машине стоит несколько экземпляров Firebird, то прописать порт. Если запускаем еще одного оператора на другой машине, то прописываем путь к базе в следующем виде: stDBServer=\\192.168.0.100\C:\RK7\DeliveryRK7\DB\DELIVERYRK7.FDB
stDefCharSet0кодовая страница для БД Deliveryкак правило параметр не меняют, но если БД создается скриптом, то проверить кодировку, указанную в скрипте
dbuname0закодированное имя пользователя SYSDBA для БД Delivery

кодируется с помощью приложения Coding.exe из папки установки, 

как правило параметр не меняют, но если БД создается скриптом, то проверить имя, указанное в скрипте

dbpass0закодированный пароль masterkey

кодируется с помощью приложения Coding.exe из папки установки, 

как правило параметр не меняют, но если БД создается скриптом, то проверить пароль, указанную в скрипте

stAuthIP0порт, прописанный в приложении DLVServ.exe
inAuthPort0IP-адрес машины, где установлено приложение DLVServ.exe
stBoundIP3.1.3.110ip адрес, с которого будет подключаться клиент к серверу авторизацииважный параметр при разрывах, что бы сервер не воспринимал одного клиента как нескольких. Должна быть прописана таже подсеть, что и у stAuthIP
inBoundPort3.1.3.110порт, с которого будет подключаться клиент к серверу авторизации

stRKServer0IP-адрес кассовой станции RK7 (с загруженным xml-интерфейсом)как правило параметр не меняют (=127.0.0.1)
inRKPort0порт xml-интерфейса на кассовой станции RK7
stRKPass0пароль xml-интерфейса кассовой станции RK7 (CryptKey)как правило параметр не меняют
inInetExtSource0параметр передается на сервер РК7 для идентификации заказа как заказа, сделанного из отдельного модуля "интернет-заказы для доставки"(=31) или "виртуальная карта"(=41).значений может быть несколько, перечислять через ";". Для Виртуальной карты параметр является константой и всегда равен 41.
inDLVExtSource0параметр передается на сервер РК7 для идентификации заказа как сделанного через программу "доставка".значение не рекоммендуется менять.
strk7table0код стола из менеджерской станции RK7 (используется для заказов в Delivery)
inrestid0идентификатор ресторана в менеджерской станции RK7, в состав которого входит кассовая станция для оператора.
inrk7category0код категории заказа в RK7 (меню "Заказ->Категории заказа") (применительно к заказам для Delivery).если работаем в режиме Call Centre, то код категории заказа указывать не надо (inrk7category=0)
inPersonalRole0идентификатор роли (группы работников) в RK7. Если = -1, то отобразит всех работников ресторана.если работаете с рестораном "X", то и весь персонал нужно использовать из ресторана "Х" 

stCSServer0IP-адрес машины, где установлен сервер авторизации R-keeper CRM
inCSPort0внешний порт TCP для подключений к  R-Keeper CRMкак правило параметр не меняют
stCSKey0код классификатора ПО для Delivery из R-keeper CRM. заводится в редакторе карт R-Keeper CRM.
stCSGlobal< 3.0.1.1042внешняя лицензия приложения R-keeper CRM. Короткий код, который генерируется для R-Keeper CRMдля версий 3.0.1.1042 и выше его прописывать не нужно!
stCSUser0ид работника. Не изменять! как правило параметр не меняют
stCSUnit0ид юнита(устаревшее) Не изменять!как правило параметр не меняют
inCSGroup0идентификатор группы владельцев в R-keeper CRMв данную группу сохраняются клиенты, добавленные в операторе
inCSIdent3.1.1.X+идентификатор логического интерфейса в менеджерской станции РК7 для СРМ (Сервис->Интерфейсы)
inRK7ColorShem3.1.2.Х+позволяет менять цветовую схему модуля оператора. Возможные значения:
"-1" используется из доставки
"-2" текущая с кассы
"id цветовой схемы" - конкретная с кассы

inAccountForCount3.1.3.108+счет для получения количества заказов
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[Settings]stMapUses3.1.2.X+выбор типа карт

рекоммендуем настраивать через программу
о настройки карт Google читайте ниже 
для использования карт яндекс необходимо обратиться в техподдержку за необходимой информацией по настройке

stGMapKey3.1.2.X+ключ для карт гугл
dtDefProdTime=30.12.1899 0:16:000время приготовления заказаПо-умолчанию это 16 мин. Прибавляется к времени принятия заказа. Данный параметр не рекомендуется менять в ini-файле, особенно для долгосрочных заказов (на завтра, послезавтра). Редактируем в модуле Оператора. Пример: в понедельник принимают заказ на среду, то dtDefProdTime=02.01.1900 0:16:00
boRestBeforeOrder=0
обязательно ли назначение ресторана до перехода к заказу
inWidthResolution=10240прописать согласно рабочему разрешению (ширине) рабочей машины с оператором   
boAutoWaitTime=0   3.1.3.136+опция расчета ожидаемого времени доставки в пути при дополнении заказаразрешен расчет минимального времени доставки, рассчитывается как для нового заказа 
boKeepOldWT=03.1.3.136+опция расчета ожидаемого времени доставки в пути при дополнении заказарасчет времени доставки идёт как старое время начала приготовления + время приготовления + время в пути (работает только с включенной boAutoWaitTime)
stPhoneMask3.1.3.110+маска ввода номера телефонаподробнее ниже
boZoneBeforeOrder3.1.3.120+обязательное пределение зоны доставки  до перехода к заказудля сетевой доставки
inPrecisionLevel3.1.3.152+Точность геокодирования при определении координат адреса (-1 отключено, 0 - абсолютно точно, 1-до номера дома, 2-до улицы)
boUSE_GPX3.1.3.132+использовать сервер GPX для определения зон доставки
boCheckDLVRestWoking

3.1.3.154+

проверять расписание работы ресторанов1-да, 0-нет
boAlwaysSMS

3.1.3.154+

назначать отправку смс для нового телефона1-да, 0-нет
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[WindowPos]inWindowLeft

3.1.3.132+

координата верхнего левого угла окна (Х)


inWindowTop3.1.3.132+координата верхнего левого угла окна (У)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[STARTPROGRAMS]

stPrg1


полный путь к исполняемому файлу для запуска программы 1полный путь к файлу RunCash.cmd
stPrg2
полный путь к исполняемому файлу для запуска программы 2полный путь к файлу SDispatcher.exe
stPrg3
полный путь к исполняемому файлу для запуска программы 3полный путь к файлу SipModule.exe (если используется)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

[SwitchUnitsCaptions]  

Переключение между окнами 

stRKCash='RK7CASH'0название дескриптора окна кассы РК7
stSDispather='Диспетчер (Менеджер)'0название дескриптора окна модуля Диспетчера
stExpeditor='Список заказов для доставки'
название дескриптора окна модуля Экспедитора
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[DLV_TYPES]inDefaultTypeDelivery=00тип доставки, который будет использоваться по умолчанию: 0-с доставкой, 1-с собойРедактировать параметры лучше через форму настроек.  См. рис. ниже
boUseTypeDelivery=1 0использование типов доставки (1-да, 0-нет)
in20=10040480идентификатор типа заказа "С доставкой" из РК7.
in21=1004020 0 идентификатор типа заказа "С собой" из РК7
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[Address]stCountry_our0название страныДля позиционирования на нужном городе GoogleMap необходимо прописать адрес ресторана в данной секции (для оператора и диспетчера) 
stState_our0название области
stCity_our0название города
stStreet_our0название улицы
stHouse_our0№ дома
stBuilding_our0№ строения
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[Printers]stExportType3.1.3.154+формат экспорта печатуемого макетадопустимые форматы: графические - pdf,xls,html, xml (необходим установленный excel на машине где установлен центральный кассовый сервер), текстовые - txt, xml
inRK7PrintLayOut3.1.3.154+идентификатор макета печати

                         . 

Получение доступа к картам Google


Для получения доступа к картам google необходимо:

  • Иметь учетную запись на google;
  • Зайти на  https://code.google.com/apis/console;
  • В сервисах установить использование "On" для картографических служб (используется Google Maps API v3);
  • В закладке API Access скопировать API Key: ХХХХХХХХХХХ;
  • Прописать в ini этот ключ или в настройках программы

Примечания: 

  • Для  бесплатного (безключевого) использования допустимо только 25000 запросов в день. Для большего количества запросов необходима бизнес лицензия; 
  • При прокладке маршрута используется несколько запросов к maps.google;
  • Пример использования других карт получать через службу поддержки.

Рис. Настройка карт Гугл в версии 3.1.2.Х

Включение отображения списка станций метро

Для отображения списка станций метро в карточке клиента модуля Оператор необходимо выполнить следующее:

  1. в Редакторе карт R-Keeper CRM добавить в справочник "Города и улицы" список станций метро. В последних версиях R-Keeper CRM 5.08 список присутствует по-умолчанию;
  2. в настройках оператора включить параметр "Использовать справочник метро" (в operator.ini параметр boHave_Subway=1);

в файле CDSAddressesC.ini изменить свойство Visible="False" в секции [OrderAllForms.AdressesView/AdressesViewSUBWAY_ID: TcxGridDBCardViewRow] на значение Visible="True":

[OrderAllForms.AdressesView/AdressesViewSUBWAY_ID: TcxGridDBCardViewRow]
 = 
BeginsLayer="True" 
AlignmentHorz=1 
Index=16 
Visible="True" 
SortOrder="soNone" 
SortIndex=-1 
WasVisibleBeforeGrouping="False"
DELPHI

Настройка определителя номера (MailSlot; COM,TCP port; SipModule)

Для настройки определителя номера можно использовать следующие варианты соединения, которые поддерживает Operator.exe:

  1. Соединение с использованием MailSlot
  2. Соединение через COM port
  3. Соединение через TCP port
  4. С помощью софта: sipModule, CallSoft (SIPModule.exe)


Соответственно необходимо произвести соответствующие настройки и задать правильные параметры в Operator.ini:

СекцияНазвание параметра

Ограничение по версии

(0-обязателен всегда

< - младше

+ - и выше)

ОписаниеПримечание

[CallerID]

boUseCallID=1

0

включить определитель номера в любом случае, если он нужен


 

inCallPort=23777

0

Порт RS232 или TCP


 

inCallBaud=115200

0

Скорость порта RS232


 

boDTR=1

0

Включение/отключение соответствующих параметров для RS232


 

boRTS=1

0


 

 

stCountryCode=+7 

0

код страны, отрезается в ascpars dll


 

stMailSlot=\Software\UCS\ATS    

0

Mailslot или путь к реестру


 

stInitParm=

0


 

 

boUseTCPSrv=0

0

включение/отключение TCP сервера для получения телефонного номера


 

boUseCallSoft=1

0

если используем специальный софт, например SipModule


 

stPhonePrefix=+7 

3.1.3.118+

префикс который будет добавлен в начало номера при его определении

например +7, даже если АТС его удаляет

stCMDNewCall=NewCall: 

0

команда нового входящего звонка при boUseTCPSrv=1


 

stCMDEndCall=EndCall: 

0

команда окончания звонка при boUseTCPSrv=1


 

stDevName

0

список устройст для передачи в ascpars.dll


boKeepMissedCall=13.1.3.136+хранение в списке входящих звонков пропущенных вызововпо-умолчанию = 1

[CallSoftCaller]


stAuthID3.1.3.141+Идентификатор авторизации для SipModule v.2.1.2.0 требуется у некоторых провайдеров

stpbx_IP=127.0.0.1

0

ip адрес телефонной станции


 

inpbx_Port=5060

0

порт подключения к АТС


 

stpbx_NatIP=

0

NAT адрес если используется


 

stpbx_Login=login

0

имя пользователя (учетная запись виртуального номера) для регистрации на АТС


 

stpbx_Pass=password

0

пароль (учетная запись виртуального номера) для регистрации на АТС


 

stpbx_DefRefPhone=number

0

реальный номер с которым работает оператор на софт-фоне или телефоне


 

stsipM_IP=127.0.0.1

0

IP адрес SIPModule.exe


 

insipM_Port=4505

0

Port SIPModule.exe


 

stLic=

0

Лицензия на  SIPModule.exe

достаточно наличие файла с лицензией в рабочем каталоге оператора

  • Для соединения через COM-порт (RS232i) необходимо задать:
  • inCallBaud=115200
  • boDTR=1
  • boRTS=1

АТС передаёт на RS232-порт компьютера данные о звонке.
Для получения результатов работы АТС (в частности stDevName) используется программа MonCom.exe (//Delivery/RK6/Archive/225.7/MonCom.zip) - после совершения нескольких звонков сохраненные данные (с кратким пояснением с каких номеров телефонов осуществлялся звонок) высылаются разработчику или создается соответствующий запрос на трекере (http://tracker.ucs.ru) с вложением результатов проверки.
Разработчик рассматривает протокол -  если он разбираем логически, то расширяет ascpars.dll для обработки данной АТС, если же нет, то ведётся диалог!

  • Для TCP-соединения, необходимо заполнить следующие параметры:
  • boUseCallID=1                            ;; включение определителя номера
  • inCallPort=23777                       ;; этот порт будет слушать Operator.exe для входящих пакетов
  • boUseTCPSrv=1                        ;; включение режима для TCP-IP
  • stCMDNewCall=NewCall:        ;; формат входных пакетов для нового звонка
  • stCMDEndCall=EndCall:          ;; формат данных пакета для окончания звонка


Формат входящих данных должен быть следующим: 'NewCall:'+CHAR(2)+'[номер телефона]'+CHAR(10)  или  'EndCall:'+CHAR(2)+'[номер телефона]'+CHAR(10).

  • Для соединения через MailSlot нужно прописать параметру 'stMailSlot' значение (имя почтового слота, будет создан программой Operator.exe).


Этот протокол используется для подключения IP АТС, в том числе разработки компании UCS.
В этом случае слушается mailslot в который помещает данные сторонняя программа.
На текущий момент поддерживаются два протокола:
а) CALL:xxxxxxxxxxxx - входящий вызов
     END:xxxxxxxxxxxx - окончание вызова
 б) (любые символы кроме цифр) xxxxxxxxxxxx - входящий вызов
     END:xxxxxxxxxxxx - окончание вызова

  • Для использования CallSoft необходимо настроить секцию [CallSoftCaller] и включить параметр boUseCallSoft=1  в секции [CallerID]

СИП-Модуль (SIPModule)  имеет ограниченный срок эксплуатации без наличия действительного файла лицензии - 6 дней.
Файл лицензии необходим для каждого PC где происходит эксплуатация модуля и является уникальным.
Лицензия генерируется на основании уникального кода предоставленного модулем, который можно получить средствами программного обеспечения использующего модуль (в данном случае в модуле Оператора, в нижнем правом углу главного окна). Так же можно воспользоваться программой  SipM_GetLic.exe (на ftp в папке //Delivery/sipGetLic.7z), которая, если запущен SipModule, вернет запрос на лицензию (см.рисунок ниже). Запросы на генерацию лицензий (и предоставление уникальных файлов с кодами) происходит компанией UCS по электронной почте. Полученный файл с лицензией необходимо кинуть в папку оператора.

SipModule  также можно запустить с параметром  debug  для просмотра входящих соединений и настроек модуля (SipModule.exe debug).

Рис. Запрос для лицензии, возвращаемый утилитой sipGetLic

Обязательное условие для АТС - это поддерживание и использование SIP-протокола для телефонии.

Примерная схема работы определителя номера с использованием SipModule.

Есть телефон(обычный sip или другой softphone) - он реальный (например 001). Заводится виртуальный телефон для CallSoft. Звонок приходит на виртуальный, например 002. SipModule определяет его и говорит модулю Оператор. Программа оператор находит или не находит клиента с таким номером. Специалист в программе выставляет курсор на нужного клиента и нажимает "принять звонок", происходит перевод звонка на реальный номер(001). Аналогично происходит вызов (звонок с 002 на нужный номер, при поступлении флага о поднятии трубки перевод на 001).

Маска ввода номера телефона в карточке клиента

Примечание: только для версий 3.1.3.110+

Начиная с версии 3.1.3.110 появилась возможность задлать маску ввода номера телефона, настроив параметр stPhoneMask  в секции  [Settings]   файла   Operator.ini.

Например, для номера  +7(495)123-45-68  маска будет следующей (8|\+7)(\(\d{3}\))\d{3}\-\d{2}\-\d{2}.

Можно задать несколько условий, напрмер для номеров  0(771)23-45-67 или 1(881)23-45-67 или 2(991)23-45-67  маска будет следующей:

((0)(\(77\d\))\d{2}-\d{2}-\d{2})|((1)(\(88\d\))\d{2}-\d{2}-\d{2})|((2)(\(99\d\))\d{2}-\d{2}-\d{2})

В качестве маски используются так называемые "регулярные выражения". Более подробную информацию можете найти в альтернативный источниках через интернет.

Поиск клиента по неполному номеру (части номера) телефона

Примечание: только для версий 3.1.3.149+

В папке \CSQuery\ с оператором есть файл SearchPhone.xml - для поиска из карточки клиента,  SearchPhoneCall.xml - для поиска в определителе номера.

Для поиска клиентов, у которых в номере телефона встречается комбинация цифр, а не весь номер, введенная пользователем, необходимо "@Phone*"  заменить на  "*@Phone*".

Настройка модуля "Диспетчер"

  1. Распаковать содержимое SDispather.7z из дистрибутива устанавливаемой версии.

  2. Отредактировать файл MSConfig.ini, а именно:

  • заполнить все параметры в секции [Servers] - описание параметров дано ниже;  значение большинства параметров необходимо взять из Operator.ini.

Примечание: основные параметры и их значения в файле MSConfig.ini аналогичны параметрам, прописанным в файле Operator.ini, разница лишь в том, что некоторые параметры расположены в других секциях.

        3. в Operator.ini  прописать путь к файлу SDispather.exe в секции [StartPrograms], убрав комментарии ";"  вначале строки: stPrg2=d:\UCS\DeliveryRK7\SDispather\SDispather.exe.

Примечание: по правилам запуск модуля Диспетчер осуществляет модуль Оператора, но это не означает, что Диспетчер не может быть запущен без Оператора. Бывают конфигурации, когда на машине установлен только Диспетчер и Касса. В версии ниже 3.1.2.Х диспетчер запускался только в ручную.

        4.После запуска SDispather.exe необходимо в настройках донастроить систему, а именно:

  • заполнить параметры в блоке "прочее": использование карт, работе на тач-скрине, печать фискального чека при отправке экспедитора, права РК7(экспедиторы) и другие;

  • заполнить параметры в блоке "Типы заказа": проставить соответствие (если среди доступных значений для выбора нет значений "с доставкой" и "на вынос", то выполнить требования пункта о создании типов заказа).

Примечание: практически все настройки, прописанные в ini-файле, доступны для редактирования в приложении SDispather.exe в пункте "Настройка". Параметры автоматически перепишутся в operator.ini. Названия пунктов меню меняются только в MSConfigr.ini.

Примечание: после редактирования необходимо перезапустить SDispather.exe.

Описание основных параметров MSConfig.ini

СекцияНазвание параметра

Ограничение по версии

(0-обязателен всегда

< - младше

+ - и выше)

ОписаниеПримечание
[Servers]

stDBServer

0

полный путь к базе Delivery (следует использовать базу, созданную согласно пункту о создании БД).

если на машине стоит несколько экземпляров Firebird, то прописать порт. Если запускаем еще одного оператора на другой машине, то прописываем путь к базе в следующем виде: stDBServer=\\192.168.0.100\C:\RK7\DeliveryRK7\DB\DELIVERYRK7.FDB

stDefCharSet

0

кодовая страница для БД Delivery

как правило параметр не меняют, но если БД создается скриптом, то проверить кодировку, указанную в скрипте

dbuname

0

закодированное имя пользователя SYSDBA для БД Delivery

кодируется с помощью приложения Coding.exe из папки установки, 
как правило параметр не меняют, но если БД создается скриптом, то проверить имя, указанное в скрипте

dbpass0закодированный пароль masterkey

кодируется с помощью приложения Coding.exe из папки установки, 

как правило параметр не меняют, но если БД создается скриптом, то проверить пароль, указанную в скрипте

stAuthIP0порт, прописанный в приложении DLVServ.exe
inAuthPort0IP-адрес машины, где установлено приложение DLVServ.exe
stBoundIP3.1.3.110ip адрес, с которого будет подключаться клиент к серверу авторизацииважный параметр при разрывах, что бы сервер не воспринимал одного клиента как нескольких. Должна быть прописана таже подсеть, что и у stAuthIP
inBoundPort3.1.3.110порт, с которого будет подключаться клиент к серверу авторизации

stRKMidServer0IP-адрес машины с кассовым сервером RK7 (с загруженным xml-интерфейсом)
inRKMidPort0порт xml-интерфейса на кассовом сервере RK7
stRKMidPass0пароль xml-интерфейса кассового сервера RK7 (CryptKey)
stRKServer0IP-адрес кассовой станции RK7 (с загруженным xml-интерфейсом)как правило параметр не меняют (=127.0.0.1)
inRKPort0порт xml-интерфейса на кассовой станции RK7
stRKPass0пароль xml-интерфейса кассовой станции RK7 (CryptKey)как правило параметр не меняют
inDLVExtSource0параметр передается на сервер РК7 для идентификации заказа как сделанного через программу "доставка".значение не рекоммендуется менять.
strk7table0код стола из менеджерской станции RK7 (используется для заказов в Delivery)
inrestid0идентификатор ресторана в менеджерской станции RK7, в состав которого входит кассовая станция для оператора.
inrk7category0код категории заказа в RK7 (меню "Заказ->Категории заказа") (применительно к заказам для Delivery).если работаем в режиме Call Centre, то код категории заказа указывать не надо (inrk7category=0)

stCSServer0IP-адрес машины, где установлен сервер авторизации R-keeper CRM
inCSPort0внешний порт TCP для подключений к  R-Keeper CRMкак правило параметр не меняют
stCSKey0код классификатора ПО для Delivery из R-keeper CRM. заводится в редакторе карт R-Keeper CRM.
stCSGlobal< 3.0.1.1042внешняя лицензия приложения R-keeper CRM. Короткий код, который генерируется для R-Keeper CRMдля версий 3.0.1.1042 и выше его прописывать не нужно!
stCSUser0ид работника. Не изменять! как правило параметр не меняют
stCSUnit0ид юнита(устаревшее) Не изменять!как правило параметр не меняют
inCSGroup0идентификатор группы владельцев в R-keeper CRMв данную группу сохраняются клиенты, добавленные в операторе
boSendSMS
отправлять смс при смене статуса заказа
inRK7ColorShem3.1.2.Х+позволяет менять цветовую схему модуля оператора. Возможные значения:
"-1" используется из доставки
"-2" текущая с кассы
"id цветовой схемы" - конкретная с кассы

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[Settings]stMapUses3.1.2.X+выбор типа карт

рекоммендуем настраивать через программу
о настройки карт Google читайте ниже
для использования карт яндекс необходимо обратиться в техподдержку за необходимой информацией по настройке

stGMapKey3.1.2.X+ключ для карт гугл
boUse_BlackList
использование черного списка1-да, 0-нет
boPassEnter
вход по паролю1-да, 0-нет
boUse_TouchScreen
отображение виртуальной клавиатуры
inPersonalRole0идентификатор роли (группы работников) в RK7 для авторизации в Диспетчереесли работаете с рестораном "X", то и весь персонал нужно использовать из ресторана "Х" 
stExpRoles0идентификатор роли (группы работников) в RK7 для экспедиторовесли работаете с рестораном "X", то и весь персонал нужно использовать из ресторана "Х" 
boSendExpNow3.1.3.132+Отправка экспедитора текущим временем
boReturnExpNow3.1.3.132+Возвращение экспедитора текущим временем
boArchiveNow3.1.3.132+Отправка в архив текущим временем
inExpTakeOut3.1.3.141+id работника для заказов "на вынос"если параметр не равен -1, то для заказов "на вынос", у которых не выбран официант проставляется официант из этого параметра
boAlarmSendExp0включить звуковое оповещение при отправке экспедитора
tiAlarmFlashTime0Периодичность мерцания
stBeepSound0звуковой сигнал при появлении нового заказа в диспетчере
tiBeepTime0продолжительность сигнала
inMaxExpMoney3.1.3.154+максимальная сумма на руках у экспедитора
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[STARTPROGRAMS]

stPrg1


полный путь к исполняемому файлу для запуска программы 1полный путь к файлу RunCash.cmd
stPrg2
полный путь к исполняемому файлу для запуска программы 2полный путь к файлу Expeditor.exe
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

[SwitchUnitsCaptions]  

Переключение между окнами 

stRKCash=RK7CASH0название дескриптора окна кассы РК7
stOper=Operator0название дескриптора окна модуля Оператор
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[DLV_TYPES]in200идентификатор типа заказа "С доставкой" из РК7.Редактировать параметры лучше через форму настроек. См. рис. ниже
in210 идентификатор типа заказа "С собой" из РК7
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[WindowPos]inWindowLeft3.1.3.132+координата верхнего левого угла (Х)



- для графических макетов pdf,xls,html,xml
    *для xls необходим установленный excel на машине где установлен центральный кассовый сервер
  - для текстовых макетов txt, xml

для отправки на эл.почту настройте секцию [MAIL]

inWindowTop3.1.3.132+координата верхнего левого угла (Y)
[Printers]boAutoPrintInvoice3.1.3.102+Автоматическая печать накладоной
boReportsToValue3.1.3.102+Не показывать отчет перед печатью
stExportType=pdf3.1.3.102+формат экспорта печатаемого макета
inRK7PrintLayOut=3.1.3.102+идентификатор макета счет-фактуры
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[Status Names]st03.1.3.154+статус - Не подтвержден
st10Ожидание
st20Производство
st30Отправлено
st40Выполнено
st50В архиве
st60Дополнение
st73.1.3.135+Готов(кухня)
st80Принят
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[MAIL]stSMTPHost3.1.3.108+адрес почтового сервера (исходящая почта)
stSMTPPort3.1.3.108+порт почтового сервера (исходящая почта)при использовании SSL/TLS стандартный 465 без использования 25
stSMTPUser3.1.3.108+логин
stSMTPPass3.1.3.108+пароль
stSMTPSSLType3.1.3.108+защита соединения

допустимые значения для параметра sslvSSLv2, sslvSSLv23, sslvSSLv3, sslvTLSv1,sslNone. sslNone-отключает использование шифрования

Отображение положения экспедиторов на карте

При использовании мобильных экспедиторов (устройств на базе андройд с приложением DeliveryAgent) данные об их положении передаются на сервер (gpx.ucs.ru) и в дальнейшем используются для отображения на карте в Диспетчере (Отчеты на карте - Положение экспедиторов). Соответственно необходимо иметь пролицензированный рабочий экспедитор (подробнее в статье о мобильном экспедиторе .

Для работы отчета необходимо включить использование карты (Файл - Настройки - Прочие - Использовать карту - выбрать один из доступных вариантов).

Привязка к городу прописывается в файле \IMaps\Center.JSON:

var query = 'Россия, Москва';

Настройка модуля "Экспедитор" (только для версии 3.1.3.118 и выше)

Запускается файлом Expeditor.exe. Настройки в файле Expeditor.ini

Рекомендуется открыть файл Expeditor.ini и заполнить его параметры согласно параметрам Operator.ini. 

Описание основных параметров Expeditor.ini

Важно: параметры в секции [Servers] должны быть сопоставлены с параметрами в MSConfig.ini.
СекцияНазвание параметра

Ограничение по версии

(0-обязателен всегда

< - младше

+ - и выше)

ОписаниеПримечание
[Servers]stDBServer

0

полный путь к базе Delivery (следует использовать базу, созданную согласно пункту о создании БД).если на машине стоит несколько экземпляров Firebird, то прописать порт. Если запускаем еще одного оператора на другой машине, то прописываем путь к базе в следующем виде: stDBServer=\\192.168.0.100\C:\RK7\DeliveryRK7\DB\DELIVERYRK7.FDB
stDefCharSet0кодовая страница для БД Deliveryкак правило параметр не меняют, но если БД создается скриптом, то проверить кодировку, указанную в скрипте
dbuname0закодированное имя пользователя SYSDBA для БД Delivery

кодируется с помощью приложения Coding.exe из папки установки, 
как правило параметр не меняют, но если БД создается скриптом, то проверить имя, указанное в скрипте

dbpass0закодированный пароль masterkey

кодируется с помощью приложения Coding.exe из папки установки, 

как правило параметр не меняют, но если БД создается скриптом, то проверить пароль, указанную в скрипте

stAuthIP0порт, прописанный в приложении DLVServ.exe
inAuthPort0IP-адрес машины, где установлено приложение DLVServ.exe
stBoundIP3.1.3.110ip адрес, с которого будет подключаться клиент к серверу авторизацииважный параметр при разрывах, что бы сервер не воспринимал одного клиента как нескольких. Должна быть прописана таже подсеть, что и у stAuthIP

stRKMidServer0IP-адрес машины с кассовым сервером RK7 (с загруженным xml-интерфейсом)
inRKMidPort0порт xml-интерфейса на кассовом сервере RK7
stRKMidPass0пароль xml-интерфейса кассового сервера RK7 (CryptKey)
stRKServer0IP-адрес кассовой станции RK7 (с загруженным xml-интерфейсом)как правило параметр не меняют (=127.0.0.1)
inRKPort0порт xml-интерфейса на кассовой станции RK7
stRKPass0пароль xml-интерфейса кассовой станции RK7 (CryptKey)как правило параметр не меняют
inDLVExtSource0параметр передается на сервер РК7 для идентификации заказа как сделанного через программу "доставка".значение не рекоммендуется менять
inInetExtSource=00идентификатор интернет-заказовзначение не рекоммендуется менять
strk7table0код стола из менеджерской станции RK7 (используется для заказов в Delivery)
inrestid0идентификатор ресторана в менеджерской станции RK7, в состав которого входит кассовая станция для оператора.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[Settings]stMapUses3.1.2.X+выбор типа карт

рекоммендуем настраивать через программу
о настройки карт Google читайте ниже
для использования карт яндекс необходимо обратиться в техподдержку за необходимой информацией по настройке

stGMapKey3.1.2.X+ключ для карт гугл
boUseKitReadyOrder0использование контроль заказов1-да, 0-нет
boAlarmSendExp0Предупреждение о просроченных заказах1-да, 0-нет
tiAlarmFlashTime0Периодичность 
stBeepSound0звуковой сигнал
tiBeepTime0продолжительность сигнала
boUse_TouchScreen0отображение виртуальной клавиатуры
boFiskSendExp0Печатать фискальный чек при отправке экспедитора
inMinsBeforeSendExp=103.1.3.141+Показывать заказы в производстве за минту до расчетного времени отправки экспедитора
inNeedFirstOrder3.1.3.152+брать первый заказ по времени исполнения (0-none, 1-warning, 2-error)

inMaxExpOrders3.1.3.152+максимальное количество заказов в одну поездку
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[STARTPROGRAMS]

stPrg1

0полный путь к исполняемому файлу для запуска программы 1полный путь к файлу RunCash.cmd
stPrg20полный путь к исполняемому файлу для запуска программы 2полный путь к файлу Expeditor.exe
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[WindowPos]inWindowLeft3.1.3.132+координата верхнего левого угла (Х)



- для графических макетов pdf,xls,html,xml
    *для xls необходим установленный excel на машине где установлен центральный кассовый сервер
  - для текстовых макетов txt, xml

для отправки на эл.почту настройте секцию [MAIL]

inWindowTop3.1.3.132+координата верхнего левого угла (Y)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
[Printers]boAutoPrintInvoice3.1.3.102+Автоматическая печать накладоной
boReportsToValue3.1.3.102+Не показывать отчет перед печатью
stExportType=pdf3.1.3.102+формат экспорта печатаемого макета
inRK7PrintLayOut3.1.3.102+идентификатор макета счет-фактуры

inRK7SatationCode3.1.3.102+код кассовой станции от имени которой происходит экспорт
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[Address]stCountry_our0страна
stState_our0штат/область 
 
stCity_our0город
stStreet_our0улица
stHouse_our0дом
stBuilding_our0строение

Порядок Запуска

Важно: перед запуском модуля оператора необходимо, чтобы касса R-Kepeer 7 и сервера системы R-Keeper CRM были запущены. В версии 3.1.2.Х и выше касса и диспетчер запускаются модулем Оператора (подробнее ниже).

1. Запускать Delivery следует только после того как будут запущены сервера RK7 и R-keeper CRM и настроена связь между ними с помощью Farcards.exe.

2. Delivery не запускается без запущенной кассовой станции RK7. Современные версии оператора сами запускают кассу, если правильно настроен параметр stPrg1  в секции  [STARTPROGRAMS].

3. Обобщенная информация по запуску:

       - для версий 3.1.1.Х и младше:

  • со стороны RK7 - кассовый сервер и кассу;
  • со стороны R-Keeper CRM - scktsrvr.exe, CS_Server.exe, CS_Auth_Server.exe;
  • Farcards.exe / опционально, для версии доставки 3.1.1.Х запуск обязателен!
  • со стороны доставки - сервер доставки (DLVServ.exe), модуль "Оператор" (Operator.exe), модуль "Диспетчер" (SDispatcher.exe),

      - для версий 3.1.2.Х и выше:

  • со стороны RK7 - кассовый сервер;
  • со стороны R-Keeper CRM - scktsrvr.exe, CS_Server.exe, CS_Auth_Server.exe, Farcards.exe;
  • со стороны доставки - сервер доставки и модуль "Оператор", который  автоматически поднимет кассу, SIPModule и модуль "Диспетчера".

4. Порядок запуска приложений в доставке 3.1.3.Х.

Запускаем сервер доставки, если он не запущен (возможно добавить в автозагрузку), далее запускаем модуль Оператор. При запуске Оператора автоматически запускается касса РК7, SIP-модуль и модули Диспетчера и Экспедитора. 

Выключаем тоже все в модуле Оператора с помощью кнопки "Выход". Касса, диспетчер и SIP-модуль при этом тоже закроются автоматически.

Примечание: Категорически не рекомендуется сначала выключать кассу, диспетчера, а только потом оператора. Точка входа и выхода в данном случае одна - оператор. 

5. Для запуска нескольких операторов или диспетчеров на одной машине необходимо запускать оператора (диспетчера) с ключом /double.  

Логирование

Как таковых, log-файлов у доставки нет, если не считать operator.log и sdispatcher.log.

В данных файлах не содержиться достаточно полезной информации, скорее она бесполезна.

Основные логи лежат в папке \LogXMLS\, которая находится в каждом модуле доставки. В нее складываются все исходящие и входящие xml.

Общение доставки с RK7(в частности с кассой или кассовым сервером) и R-Keeper CRM происходит с помощью XML-запросов. Поэтому всегда можно и нужно смотреть файлы в папке \LogXMLS\. Исходящие запросы будут с префиксом Set_, входящие с префиксом Get_.

Пример.
В папке Оператора D:\UCS\DeliveryRK7\Operator\LogXMLS\ есть файлы:
Set_QStationLogin_000000000009185.xml (исходящий)
Get_QStationLogin_000000000009186.Xml (входящий)
Если была бы ошибка при логировании, то в начале файла Get_QStationLogin_000000000009186.Xml при просмотре мы бы увидели эту ошибку (ErrorText был не пустой).
<?xml version="1.0" encoding="utf-8"?>
<RK7QueryResult ServerVersion="7.5.2.239" XmlVersion="99"Status="Ok"CMD="LoginOnStation" EmployeeID="1000006"ErrorText=""DateTime="2013-10-11T11:46:22" WorkTime="0" Processed="1">
 
Для анализа данной ошибки нужно определить кому данный запрос был назначен (RK7 или CRM). Для этого надо найти данный шаблон либо в папке /RK7Query/, либо /CSQuery/. Нетрудно догадаться, что нужный файл лежит в папке /RK7Query/ и называется QStationLogin.xml. 

 Важно: файлы в папках /RK7Query/ и /CSQuery/ трогать нельзя, т.е. не удалять и не редактировать!


При наличии ошибки следует выяснить по чьей вине она произошла. Другими словами, посмотреть логи на второй стороне, в данном случае на кассе. Для этого необходимо вколючить XML логирование в свойствах XML-интерфейса кассы (прописать путь к новой папке у параметра OutputDir). Найти там соответсвующий входящий XML и исходящий. И если ответ идет с ошибкой, то это говорит либо о некорректном запросе на входе, либо о неправильной обработке данного запроса со стороны РК7.
 
Если запрос с ошибкой пришел от R-Keeper CRM, то необходимо посмотреть логи на стороне R-Keeper CRM, в папке \Logs\ обычно это файл сервера карт: CS_Server.[user].01.log

Часто встречаемые ошибки и способы их решения

Ошибка 1. Наиболее часто встречаемая ошибка всплывает после входа (успешного с выбором пользователей, подтягиваемых из РК7) в модуль Оператора или Диспетчера сообщающая о проблеме авторизации соединения (см. рисунок ниже).

Рис. Ошибка в операторе при отсутствии связи с сервером доставки

Обычно проблема связана с:

1. Проблемой подключения к серверу доставки - проверьте параметры  stAuthIP  и  inAuthPort;

2. С отсутствием лицензии для DLVServ.exe (число операторов и диспетчеров в окне сервера по нулям).

Также следует проверить код для параметра  stCSGlobal(для версии 3.0.1.Х)  и библиотеку CinemaUF.dll.

Ошибка 2.  Ошибка возникает после успешного запуска модуля Диспетчера (SDispatcher.exe) и периодично появляется.

Рис. Ошибка в диспетчере при отсутствии библиотеки CinemaUF.dll

Причина: не скопировали библиотеку  CinemaUF.dll  

Ошибка 3.  Ошибка: "Unable to Load dbexpint.dll"

Причина: Не установлен DBXExpress.
Ошибка 4.
 
Рис. Ошибка в операторе при невыставленном соответствии типов заказа(тип заказа в доставке=тип заказа в рк7) 


 Проверьте параметры  in20 и in21  в секции [DLV_TYPES] или выставите тип заказа в настройках.
in20=10068  ;; ошибка появлялась, если in20=1021078, т.е. не было типа заказа с таким идентификатором в РК7
in21=10069
Ошибка 5.  Ошибка "Class not registered" Возникает в модуле оператора при попытке открыть карту. (Адрес клиента вбит). Для версии ниже 3.1.2.Х. 

Рис. Ошибка в операторе при просмотре карты
Проверьте, что параметр boUSAMap_Par=0.
Ошибка 6. "ProcessErrorException:UCSERR(3185):Оплата чека запрещена, т.к. это не касса".
Ошибка появляется в диспетчере при изменении статуса заказа в статус "Оплата".
Проверить, действительно ли касса является кассовой станцией и не входит в список исключений (Настройка-Параметры-Параметры работы станции-Режим работы станции-Кассовая станция)
Ошибка 7.   "eRPCRunCdeclException:Не найден элемент 0 в коллекции TRK7Devices".
Ошибка появляется в диспетчере при изменении статуса заказа в статус "Оплата".
Проверить, задан ли принтера для назначения "Для пречеков".
Ошибка 8. "Invalid field type"
Появляется при попытке открыть карту клиента в операторе (связь клиент-сервер).
Решение: установить на машине клиенте DBExpress!
Ошибка 9. "RK7 Error - employee "название роли" can not serve order".
Появляется в модуле Диспетчера при назначении экспедитора (отправке).
Решение: необходимо проверить в менеджерской РК7 права и привилегии данной роли на обработку заказа.
Ошибка 10. Заказ в диспетчере отображается без ФИО или без адреса клиента.
Решение: обновить драйвер DBExpress. При этом следует выключить доставку, удалить текущий драйвер и установить новый (ftp://198.154.196.1/Delivery/RK7/DbExpressInstallation.7z).
Если данное решение не помогает, проверьте, чтобы у пользователя от имени которого запускается Диспетчер были полные права. В свойствах папки снять галочку "только для чтения".
Ошибка 11. Ошибка "Type mismatch in expression".
Возникает в операторе при выборе города. Характерна для версии 3.1.2.Х
Решение: смотри п.10.
 
Ошибка 12. Необходимо восстановить первоначальный вид карточки клиента (поля в блоках Адрес, Клиент). 
Удалить файл  AllFormStore в папке с оператором и переписать следующие файлы (новые взять из дистрибутива):
CDSAddressesC.ini
CDSClientC.ini
CDSEmailsC.ini
CDSOrderC.ini
CDSPhonesC.ini
CDSRestC.ini
MainFormBars.ini
 
Ошибка 13. Ошибка "Операция не может быть выполнена, так как нет права для изменения состояния заказа!"
Возникает в диспетчере при отправке экспедитора.
Решение: смотри пункт Редактирование права "Изменение статуса заказа в Доставке" данной статьи.

Архив

Лицензирование (устаревшее)

1. Для работы Delivery7 необходим ключ защиты с прописанной на нем лицензией.

Обычно, ключ идет уже подготовленный, поэтому достаточно вставить его в машину, где будет работать сервер доставки и запустить DLVServ.exe. Развернув окно сервера, выбрать в списке нужный ключ. Если мы увидим актуальную информацию о лицензии (саму лицензию, срок окончания, число рабочих операторов и диспетчеров), то это означает, что лицензия записана на ключ (см. рис.2). После этого достаточно будет перезапустить сервер доставки.

Если при выборе ключа мы не видим верной информации о лицензии, то лицензию можно прописать самому на ключ. Для этого необходимо отправить в компанию UCS в отдел лицензирования Key UNQ ключа и получив код лицензии, внести его в поле лицензия и нажать кнопку "Записать". После записи лицензии следует перезапустить сервер доставки. В поле "Модули" должно появиться количество рабочих модулей Оператора и модулей Диспетчера согласно условиям лицензии. 

Для доставки используются специальные ключи со специальным алгоритмом записи на него лицензии. Поэтому при переходе с Delivery RK6 на Delivery RK7 требуется замена ключа защиты!

К железу машины лицензия не привязывается.

Сервер доставки (DLVServ.exe) версии ниже 1.0.2.21 работает только как приложение, запускается без всяких параметров.

Сервер доставки (DLVServ.exe) можно установить как на отдельном сервере компании, так и непосредственно на машине, где будет установлен оператор и диспетчер. Если лицензия на одного оператора, то рекомендуется сервер доставки ставить на той же машине, что и модуль оператора и диспетчера.

Лицензия для доставки достаточно длинная, например: 

2B3D47DBDFCF34A26DCA9A736C58BC2FF6A6D7FCC5C8B2ECB80C3ADE9BD41D58F3888BE0DC1C

Для версий 3.0.1.ХХ рекомендуем использовать 22 версию DLVServ.exe! Была выложена на ФТП 26\04\12 вместо версии 18.  

Рис. Окно Сервера доставки в развернутом виде

Для старых версии ниже 3.0.1.1042: 
2. Необходимо получить лицензию для R-keeper CRM ("короткий" код).
3. Прописать эту лицензию в файлах Operator.ini и MSConfig.ini для параметра "stCSGlobal=".