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

Рис. Блок-схема взаимосвязи модулей Доставки.

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 выступает в качестве инструмента, где хранится и редактируется информация о клиенте (его ФИО, адрес, контакты, счета и другое).

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

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

В итоге структура получиться как в таблице ниже.

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

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


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

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

\Delivery\папка с Оператором, диспетчером, Экспедитором, Транспортным модулем и Редактором зон доставки

Обновление

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

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

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

[Доставка 3.1.4.45+]  -  [RK 7.5.7.65+]  -  [CRM 7.11.00.00+] ;

Более актуальную информацию ищите в 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х разрядные.

Создание БД

Создание БД происходит с помощью инсталлятора.

Рекомендуем сделать копию БД после создания и при необходимости использовать ее как чистую БД.

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

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

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

На компьютере, где установлен сервер Firebird, скопируйте файл CinemaUF.dll (на ftp в папке /dealers/Delivery/RK7/CinemaUF.dll.zip) в директорию с Firebird: c:\Program Files (x86)\Firebird\Firebird_2_5\UDF\CinemaUF.dll.

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

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.

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

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

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

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

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

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

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

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

1. Сделать заявку для объекта на сайте l.ucs.ru для соответствующего ПО: R-Keeper модуль Delivery Оператор ПО (оператор), R-Keeper модуль Delivery Менеджер ПО (диспетчер), R-Keeper модуль Delivery Станция распределения заказов ПО (экспедитор);

2. Запустить сервер как приложение и выбрать настройку конфигурации в блоке "Кассовый сервер РК7";

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

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

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

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

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

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

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

Рис. Свойства сервера авторизации DLVServ.exe

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

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

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

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

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

  • Сервер проверяет код корпорации в лицензии и приходящий с касс;

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

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

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

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

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

Настройки в R-Keeper 7

Примечание: В свойствах ресторана необходимо указывать адрес ресторана без приставки "ул.", т.к. иначе будет возникать ошибка при попытке построить маршрут.

  1. В менеджерской станции в справочнике "Сервис - Станции и устройства" создать новую кассовую станцию в ресторане, в котором планируется использовать ПО DeliveryRK7. 
Примечание: данная станция будет работать на одной машине вместе с Оператором и Диспетчером.

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

3. Для данной кассовой станции обязательно выбрать принтер для чеков и пречеков.

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

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

Рис. Добавление XML-интерфейса для кассовой станции и задание ему № порта

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

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

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

8. Создать два новых типа заказа (справочник "Заказ - Типы заказа") и привязать к используемой категории заказа (отметьте галочкой типы заказа, которые будете использовать в рамках категории). Возможно потребуется добавить новую категорию заказа (по желанию клиента), т.к. по умолчанию их может не быть. В любом случае, необходимы два обязательных типа заказа - "с собой" и "с доставкой", связанных с используемой на кассе доставки категории заказа

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

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

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

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

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

  2. В справочнике "Сервис - Настройки плагинов" открыть конфигурацию для вашего ресторана (обычно создается инсталлятором) и отредактировать следующие параметры:

    • В секции Delivery database:

      • Path - полный путь к БД Доставки

      • CharSet - кодировка БД, по умолчанию WIN1251

      • User Name - имя пользователя (по умолчанию SYSDBA)

      • Password - пароль пользователя (по умолчанию masterkey)

    • В секции RKeeper CRM:

      • Rkeeper CRM Server IP  -  IP адрес машины с рабочим сервером ПО R-Keeper CRM

      • Rkeeper CRM Server port  -  TCP/IP порт сервера ПО R-Keeper CRM

      • Rkeeper CRM Server Classifier - код классификатора ПО для Доставки, добавленного в редакторе карт в справочнике "Файл - Классификаторы ПО"

      • CRM Group  -  идентификатор группы пользователей, заведенной в Редакторе карт

      • Остальные - опционально

    • В секции Delivery server - прописать IP-адрес и порт сервера авторизации DLVServ.exe, а также клиентский IP

    • В секции RK7 Cash stations - прописать IP-адрес и порт XML-интерфейса кассовой станции для оператора, а также выбрать логический интерфейс, используемый для связи РК7 и CRM

    • В секции Order types - выбрать тип заказа "С доставкой"(For delivery order) и "С собой"(For takeout order).

    • В секции Delivery employees - выбрать соответственно роли для операторов, диспетчеров и экспедиторов, работающих в вашем ресторане

    • В секции Print and preview - выбрать статусы, при переходе в которые диспетчер будет печатать счет-фактуру, выбрать макет счет-фактуры (layout ident) и станцию, которая будет его печатать (Station ident)

    • В секции defaul values - прописать ф.и.о. для анонимного клиента и идентификаторы для:

      • Страны - Country

      • Города - City

      • Типа контакта - Phone number type

      • Типа адреса - Address type

    • В секции RK7 Order выбрать:

      • Ident RK category - категория заказа

      • Ident RK Table - стол

      • Delivery zone before order - если используются зоны доставки

    • В секции programms pathes -  прописать пути к исполняемым файлам основных модулей:

      • rk7Cash start - прописать путь к файлу RunCash.cmd из п.2

      • Operator start - путь к оператору

      • Dispatcher start - путь к диспетчеру

      • Expeditor start - путь к экспедитору

      • SipModule start- путь к SIP--модулю, если используется

Примечания:

  • Настройки в п.11 универсальные и будут использоваться всеми модулями ПО Доставка;
  • изменение любого параметра повлечет за собой перезагрузку Оператора;
  • категорически запрещается менять параметры, значения которых вы не знаете. 

Настройки в R-keeper CRM

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

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

2. Произвести настройку связи R-Keeper CRM с R-Keeper 7. 

3. Создайте новый «Классификатор ПО» для Доставки в Редакторе карт (RKeeper_CRM_Manager.exe). Код данного классификатора в дальнейшем необходимо присвоить параметру «RKeeper CRM Server Classifier» в настройках плагина

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

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

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

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

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

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

  2. Отредактировать файл RunCash.cmd в папке с Доставкой.

  3. В менеджерской станции для соответствующей конфигурации проверьте правильность настроек и путь к файлу RunCash.cmd (параметр rk7Cash start).

  4. Запустите модуль Оператор и выберите настройку.

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


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

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

Примечания: 

  • Для  бесплатного (безключевого) использования допустимо только ограниченное количество запросов в день (было 25000). Для большего количества запросов необходима бизнес лицензия; 
  • При прокладке маршрута используется несколько запросов к maps.google (более одного);
  • Пример настройки использования других карт получать через службу поддержки. Настройка будет похожей.
  • Подробности пользования сервисами Google дилер или клиент может получить от компании Google. Компания ЮСИЭС не выступает посредником в этих отношениях.

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

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

  1. В Редакторе карт R-Keeper CRM добавить в справочник "Города и улицы" список станций метро. В последних версиях R-Keeper CRM 5.08 список присутствует по умолчанию;
  2. В настройках плагина включить параметр Use subway dictionary в блоке R-Keeper CRM;

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

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

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

Соответственно необходимо произвести соответствующие настройки и задать правильные параметры в настройках плагина. Для выбора типа соединения выбирают один из вариантов для параметра CallerID type.

  • Для TCP-соединения, необходимо заполнить следующие параметры в секции Caller:
  • callerID type = By TCP IP          ;; включение режима для TCP-IP
  • TCP port for collerID = 23777     ;; этот порт будет слушать Operator.exe для входящих пакетов
  • Cut Characters                            ;; удаление первого символа строки
  • Add Characters                           ;; добавление в начало строки символа  
  • Incomming call instruction = NewCall:       ;; формат входных пакетов для нового звонка
  • End call instruction = EndCall:         ;; формат данных пакета для окончания звонка
  • Display missed calls                            ;; отображать пропущенные вызовы 

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

  • Для использования CallSoft необходимо выбрать для параметра CallerID type в секции Caller значение Use CallSoft application и настроить параметры в секции CallSoft settings.
    • pbx_IP              ;; IP-адрес телефонной станции
    • pbx_Port           ;; порт для подключения к телефонной станции
    • pbx_NatIP         ;; NAT-адрес
    • pbx_Login          ;; имя пользователя на АТС
    • pbx_Pass           ;; пароль для регистрации на АТС
    • Call transfer to    ;; номер для перенаправления звонков 
    • pbx_Expires        ;; окончание сессии для АТС (0-используется по умолчанию для SIpModule)
    • SipModule IP      ;; IP-адрес SipModule
    • SipModule Port   ;; порт SipModule
    • Authorization ID  ;; идентификатор авторизации
  • СИП-Модуль (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).

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


Задать маску ввода номера телефона можно в секции Default values для параметра Telephon input mask.

Например, для номера +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*".

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

Фактически все настройки для диспетчера повторяют настройки для оператора, которые были произведены в менеджерской станции в конфигурации соответствующего плагина.

Примечание: если вы используете только модуль Диспетчер для работы (ресторан-филиал из сети), то обязательно настройте кассовую станцию с типом "Урезанная для доставки", которая будет использоваться Диспетчером.

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

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

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

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

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

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

Запускается файлом Expeditor.exe. Настройки производятся в менеджерской станции в соответствующей конфигурации плагина.

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

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

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

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

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 и модуль "Диспетчера".

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

  • со стороны RK7 - кассовый сервер;
  • со стороны R-Keeper CRM - scktsrvr.exe, RKeeper_CRM_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 согласно пункту 2 данного руководства.

Ошибка 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=".