Общая информация

Работа с системой управления боулингом Brunswick Vector осуществляется по тому же принципу, что и в RK6. Отличие состоит в том, что для RK7 используется собственный сервис VectorBrunswick.exe.

В RK7 реализовано два взаимоисключающих режима работы сервиса VectorBrunswick.exe:

  1. Получение данных о закрытых дорожках напрямую из БД Brunswick Vector посредством вызова хранимых процедур usp_ReceiptSummaryInformation и usp_ReceiptRecordSummaryInformation;
  2. Получение уведомлений (нотификаций) от интерфейса Brunswick Vector (COM-библиотека VectorNotification.dll)
Внимание: второй режим через VectorNotification.dll с кассовым сервером, работающим на машинах с 64-битными ОС (Windows 8.1, Windows Server 2012 и др.)  - НЕ РАБОТАЕТ!

Режим работы сервиса определяется параметром TimerInterval из секции [Config] конфигурационного файла brunswick.ini :

  • Если указано значение параметра TimerInterval , всегда используется режим №1
  • Если параметр TimerInterval = 0 или значение  не указано или параметр отсутствует, всегда используется режим №2

После получения информации о закрытой/оплаченной дорожке, сервис VectorBrunswick.exe использует подключение к XML-интерфейсу кассового сервера для создания заказа.

Для работы VectorBrunswick.exe необходимы файлы, которые лежат в папке /Rk7/bin/VectorBrunswick/ и /Rk7/bin/VectorBrunswick/ini/ и dll, которые лежат в папке менеджерской (/bin/win).  

Нотификация Brunswick Vector (Vector Notification)

Общая информация

Нотификация Brunswick Vector представляет из себя интерфейс для уведомления стороннего ПО о различных событиях в системе. Первоначальное предназначение интерфейса - уведомление кассового ПО (POS) о новых записях в базе данных Brunswick Vector, но в дальнейшем интерфейс может быть расширен для поддержки других событий.

Технические спецификации

Нотификация Brunswick Vector реализована в виде COM-библиотеки VectorNotification.dll. Обе "стороны" процесса обмена, принимающая и отправляющая, должны использовать эту библиотеку. В основе библиотеки лежит обмен широковещательными сообщениями (UDP-протокол) - это накладывает ограничение на отправку уведомлений только в пределах локальной подсети. По умолчанию, используется UDP-порт 30471

Принцип работы VectorBrunswick.exe

  1. Сервис VectorBrunswick.exe получает от Brunswick Vector информацию о закрытой/оплаченной дорожке (использую один из режимов работы)
  2. Информация об игре с помощью XML-интерфейса передается на кассовый сервер
  3. Кассовый сервер создает заказ (параметр NewTable) и добавляет в него блюдо тарификации.

Настройка XML-интерфейса

  1. На закладку "Устройства" кассового сервера добавить интерфейс "XML interface for windows"
  2. Прописать у интерфейса порт
  3. Прописать у интерфейса пароль (опционально)
  4. В справочнике "Интерфейсы" для интерфейса "XML interface" у кассового сервера выбрать "XML interface for windows (iTCPXML.dll)"
  5. Добавить столько тарифицируемых устройств (Настройки -> Столы и залы -> Планы залов и столы -> вкладка Тарифицируемые устройства), сколько игровых дорожек в Брансвик (как настроить тарифицируемые устройства читайте в статье о настройке работы с боулингом AMF. В свойствах тарифицируемого устройства необходимо заполнить следующие поля: "номер дорожки"=номеру дорожки в Брансвике, "Тариф" - выбрать тариф (тариф должен быть с детализацией, справочник Меню -> Тарифы).

Настройка тарифов

Во вкладке Меню-Тарифы добавляем новую группу тарифов. Потом создаем Новый Тариф.

Добавление тарифицируемых устройств

Добавить столько тарифицируемых устройств (Настройки -> Столы и залы -> Планы залов и столы -> вкладка Тарифицируемые устройства), сколько игровых дорожек в Брансвик (как настроить тарифицируемые устройства читайте в статье Настройка работы с боулингом AMF. В свойствах тарифицируемого устройства необходимо заполнить следующие поля: "номер дорожки"=номеру дорожки в Брансвике, "Тариф" - выбрать тариф (тариф должен быть с детализацией, справочник Меню -> Тарифы).

Настройка brunswick.ini


[Config]
Address = <IP>:<порт>, где <IP> – адрес компьютера, на котором установлен кассовый сервер, <порт> – порт прописанный в свойствах XML-интерфейса!
TimerInterval = 1  – периодичность опроса базы Brunswick Vector (в секундах) 
StartScanDelta = 86400 -  ограничение периода, за который будут запрашиваться данные после старта сервиса VectorBrunswick.exe (в секундах, по умолчанию 1 сутки)
 
[ADO]
ConnectionString = 'FILE NAME=C:\Program Files\Common Files\System\Ole DB\Data Links\brnsw.udl' – строка с параметрами соединения с базой данных brunswick (путь к файлу связи brnsw.udl)
ConnectionTimeout = 15 – таймаут на установление соединения (в сек, по умолчанию 15 сек)
CommandTimeout = 30 - таймаут на выполнение запроса (в сек, по умолчанию 30 сек)

Примечание: Секция [ADO] используется только для первого режима работы сервиса

Запуск VectorBrunswick.exe

Приложение может быть запущено как сервисом, так и обычным приложением. Подробнее о способах запуска смотрите страницу справочника "Общие настройки серверов".

Первый запуск следует производить с параметром /desktop.

При первом запуске приложения будет предложено ввести пароль для XML-интерфейса. Данный пароль должен совпадать с паролем, заданным для XML-интерфейса на менеджерской станции. Введенный пароль будет запомнен в файле brunswick.ini. В случае необходимости изменить введенный ранее пароль, нужно удалить из файла brunswick.ini ключ Password и перезапустить VectorBrunswick.exe.

Проверка настроек

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

Отправка закрытой транзакции из BrunswickVector в RKeeper

После закрытия дорожки в Brunswick, отправляем закрытую транзакцию на кассовый сервер RKeeper.

На кассе этот заказ будет отображаться отдельной строкой в чеке.

Решение проблем

Причины, почему может не работать сервис/интерфейс:

- если включен первый режим, надо убедиться, что правильно настроен файл связи brnsw.udl и в brunswick.ini правильно указан путь к этому файлу. Но самое важное, убедиться, что в БД  Brunswick Vector есть процедуры usp_ReceiptSummaryInformation и usp_ReceiptRecordSummaryInformation- есть информация (не проверенная), что  в некоторых версиях Brunswick Vector (или с какой-то определенной версии) данные процедуры отсутствуют  (режим постоянного опроса БД из внешнего приложения может приводить к замедлению или даже отказу работы ПО). Проверить это не просто - доступа к БД компания  Brunswick, как правило, не предоставляет - можно обратиться в их службу поддержки.

- если используется второй режим ( параметр TimerInterval = 0 , не заполнен или отсутствует), причина может быть в нерабочей или недоступной системе уведомлений. Для проверки интерфейса в первую очередь надо включить логирование - для этого на компьютере, где зарегистрирован интерфейс (VectorNotification.dll), прописываем в разделе реестра HKCU\Software\Resultatsystem\Viking2001 параметр LogLevel (тип REG_DWORD) - лог будет размещаться в директории C:\Brunswick\Log\Pos.log. Далее надо убедиться, что на компьютерах (или вообще в сети) не установлены файерволы, которые могут блокировать широковещательные пакеты (broadcast) - интерфейс использует UDP/IP, порт по умолчанию 30471

Рекомендуемые порядок проверки:

  • включить второй режим (очистить значение параметра TimerInterval в branswick.ini)
  • прописать в реестре параметр для логирования
  • зарегистрировать интерфейс VectorNotification.dll на компьютере, где установлено ПО Brunswick Vector
  • установить актуальную версию VectorBrunswick.exe на тот же компьютер, где установлено ПО Brunswick Vector
  • настроить brunswick.ini на подключение к XML-интерфейсу кассового севера
  • закрыть дорожку в  Brunswick Vector
  • убедиться, что были обращения к XML-интерфейсу (в интерфейсе кассового сервера закладка "Интерфейсы")
  • убедиться, что создался файл C:\Brunswick\Log\Pos.log

Если после указанных действий связь не заработает, необходимо создать обращение в Сервис-деске, описать проблему и вложить лог Pos.log