Доставка RK7 (дополнения к основной статье, часть 1)
Обратите внимание, что продукт закрыт и снят с поддержки с 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_)
Delivery7 использует R-Kepeer 7 в качестве инструмента для создания и оплаты заказа, а также прочих операции применительно к заказу: печати пречека/чека/накладной, редактирования и удаления.
R-Keeper CRM выступает в качестве инструмента, где хранится и редактируется информация о клиенте (его ФИО, адрес, контакты, счета и другое).
Состав пакета
Инсталлятор лежит на нашем ftp в папке \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.
Создание БД
Создание БД происходит с помощью инсталлятора.
Рекомендуем сделать копию БД после создания и при необходимости использовать ее как чистую БД.
Установка драйвера 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.
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 версии
Порядок лицензирования сервера:
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
Примечание: В свойствах ресторана необходимо указывать адрес ресторана без приставки "ул.", т.к. иначе будет возникать ошибка при попытке построить маршрут.
- В менеджерской станции в справочнике "Сервис - Станции и устройства" создать новую кассовую станцию в ресторане, в котором планируется использовать ПО 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) в справочнике "Операции".
Рис. Редактирование привилегии "Изменение статуса заказа в Доставке" в свойствах роли.
Добавьте две кнопки на кассу для переключения на оператора и диспетчера. Как это сделать написано в этой статье
В справочнике "Сервис - Настройки плагинов" открыть конфигурацию для вашего ресторана (обычно создается инсталлятором) и отредактировать следующие параметры:
В секции 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. Проверьте, чтобы в "Редакторе карт" были заполнены практически все справочники, особенно: типы контактов, типы адресов, города и улицы, группы владельцев, т.к. именно из этих справочников будут браться данные при редактировании информации о клиенте в Операторе.
Настройка модуля "Оператор"
Примечание: перед запуском модуля оператора необходимо, чтобы сервер доставки, фаркардс и сервера системы R-Keeper CRM были запущены.
Создать папку RK7Cash и скопировать в нее файлы, необходимые для запуска кассовой станции; проверить работу станции;
Отредактировать файл RunCash.cmd в папке с Доставкой.
В менеджерской станции для соответствующей конфигурации проверьте правильность настроек и путь к файлу RunCash.cmd (параметр rk7Cash start ).
Запустите модуль Оператор и выберите настройку.
Получение доступа к картам 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. Компания ЮСИЭС не выступает посредником в этих отношениях.
Включение отображения списка станций метро
Для отображения списка станций метро в карточке клиента модуля Оператор необходимо выполнить следующее:
- В Редакторе карт R-Keeper CRM добавить в справочник "Города и улицы" список станций метро. В последних версиях R-Keeper CRM 5.08 список присутствует по умолчанию;
- В настройках плагина включить параметр Use subway dictionary в блоке R-Keeper CRM;
Настройка определителя номера (MailSlot; COM,TCP port; SipModule)
Для настройки определителя номера можно использовать следующие варианты соединения, которые поддерживает Operator.exe:
- Соединение через TCP port
- С помощью софта: 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})
В качестве маски используются так называемые "регулярные выражения". Более подробную информацию можете найти в альтернативный источниках через интернет.
Поиск клиента по неполному номеру (части номера) телефона
В папке \CSQuery\ с оператором есть файл SearchPhone.xml - для поиска из карточки клиента, SearchPhoneCall.xml - для поиска в определителе номера.
Для поиска клиентов, у которых в номере телефона встречается комбинация цифр, а не весь номер, введенная пользователем, необходимо "@Phone*" заменить на "*@Phone*".
Настройка модуля "Диспетчер"
Фактически все настройки для диспетчера повторяют настройки для оператора, которые были произведены в менеджерской станции в конфигурации соответствующего плагина.
Отображение положения экспедиторов на карте
При использовании мобильных экспедиторов (устройств на базе андройд с приложением DeliveryAgent) данные об их положении передаются на сервер (gpx.ucs.ru) и в дальнейшем используются для отображения на карте в Диспетчере (Отчеты на карте - Положение экспедиторов). Соответственно необходимо иметь пролицензированный рабочий экспедитор. подробнее в этой статье.
Для работы отчета необходимо включить использование карты (Файл - Настройки - Прочие - Использовать карту - выбрать один из доступных вариантов).
Привязка к городу прописывается в файле \IMaps\Center.JSON:
var query = 'Россия, Москва';
Настройка модуля "Экспедитор" (только для версии 3.1.3.118 и выше)
Запускается файлом Expeditor.exe. Настройки производятся в менеджерской станции в соответствующей конфигурации плагина.
Порядок Запуска
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.
При наличии ошибки следует выяснить по чьей вине она произошла. Другими словами, посмотреть логи на второй стороне, в данном случае на кассе. Для этого необходимо вколючить 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=".