Вводная информация

 ПО WebMonitor v4, является полностью переработанной и обновленной версией приложения WebMonitoring. Сервер вебмониторинга позволяет расширить функционал программных комплексов R-KEEPER v6 и R-KEEPER v7, а именно:

  • Получить доступ к данным кассовых серверов заведения через интернет и любой броузер.
  • Позволяет строить OLAP-отчеты по данным менеджерской базы (ТОЛЬКО RK6).

Системные требования

Сервер мониторинга устанавливается и работает на ПК с ОС Windows. 

На этом же ПК должен быть настроен доступ к интернету или к ЛВС в зависимости от того, кто и каким образом собирается подключаться. Для подключения к серверу мониторинга необходимо иметь параметры подключения (IP и порт). Т.е. эти параметры должны быть доступны из вне, с того устройства, с которого будет происходить запуск броузера и подключение к удаленному серверу вебмониторинга.

Так же, необходимо учитывать тот момент, что сервер вебмониторинга должен иметь подключение к кассовым серверам (для получения иноформации с касс), а так же к менеджерской базе \RK6\DB в случае, если будут использоваться отчеты (OLAP) по данным менеджерской базы. 

Примечание: на момент написания статьи WebMonitor v4 никак не лицензируется. Т.е. фактически может устанавливаться по любому запросу заказчика.

Установка и настройка

Для установки новой версии ПО WebMonitor v4 потребуется:

  1. Установить на ПК MS NetFraimwork 3.5 или выше (если он не предустановлен вместе с ОС)
  2. Скачать с фтп дистрибутив, например отсюда - ftp://ftp.ucs.ru/r-keeper/WebMonitor_v4/WebMonitor.rar, распаковать.

Настройка связи с RK6

  1. Настроить связь с кассовыми серверами (RK6). Для этого, в каталоге \site\WebMonitor\App_Data\ отредактировать конфигурационный файл rkeeper6.ini. Пример:
CharCode = 
ServerName = R69SERV       - имя кас.сервера №1
MonitorName = RKMON69      - имя под которым он будет отображаться в окне подключения кас.сервера 
ShowName = Монитор 69      - имя вкладки кас.сервера в самом мониторинге.

ServerName1 = R70SERV      - те же параметры для подключения N-го кас.сервера
MonitorName1 = RKMON70
ShowName1 = Монитор 70

Alias2 =
AdapterNo = 0            - номер сетевого адаптера через который происходит подключение к кас.серверам.
Language = RUSSIAN
ServerName2 = 

Важно! Связь с кассовыми серверами RK6 работает все так же - через NETBIOS.

Примечание: мониторинг будет отображать информацию только по тем кассовым серверам, к которым он смог подключиться при своем старте. Если какие-то кассовые серверы были запущены после старта сервера мониторинга, то автоматического подключения к ним не произойдет (необходим рестарт web-сервера). Так работает на данный момент и только с RK6 (в связке с RK7 ведуться доработки по автоматическому "подхвату" кассовых серверов). 

Для работы веб-мониторинга используется веб-сервер. По-умолчанию, в дистрибутиве содержится XSP.Mono.webserver, который и предлагается к использованию. Он уже настроен и готов к работе. Достаточно его просто запустить.

  1. Запустить серевер вебмониторинга через start.bat (идет в комплекте). Кассовые сервера при этом уже должны быть запущены.
  • Никаких изменений в файле start.bat делать не нужно. Все параметры какие там прописаны должны оставаться без изменений. То же самое, можно сказать и про структуру каталогов и файлов распакованного мониторинга.
  • Если предлагаемый к использованию xsp.mono.webserver не устраивает, можно при необходимости воспользоваться другими веб-серверами. Например, как самое распространенное решение - вебсервер IIS идущий в составе ОС Windows (но по умолчанию отключенный в ней).

В качестве дополнительной информации, обзор веб-серверов:

Также, в случае использования веб-сервера IIS рекомендуется ознакомиться с отдельной статьей по активации и настройке его компонентов:

http://support.ucs.ru/ru/node/8649

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

  1. Запустить броузер и в адресной строке вбить внутренний или внешний IP ПК, на котором он запущен и порт сервера мониторинга. Например:
127.0.0.1:8083 
или
localhost:8083
Примечание: 8083 - порт назначенный в мониторинге по-умолчанию.
 
После ввода адреса должна отобразиться страница мониторинга с предложением зарегистрироваться в системе.

Рис.  - Страница веб-мониторинга.

 
По-умолчанию, в мониторинге уже заведено три пользователя:
ID = 1 Psw = 1 (пользователь с правами просмотра данных с кассовых серверов)
ID = 2 Psw = 2 (пользователь с правами просмотра данных с кассовых серверов)
ID = 100 Psw = 100 (пользователь с правами на просмотр данных и кассовых серверов и OLAP-отчетов)

При необходимости, пользователей можно изменить, отредактировав файл - \site\WebMonitor\App_Data\monclnts.xml

Важно! В составе мониторинга содержится большое количество xml-файлов, которые при необходимости можно редактировать. Крайне рекомендуется их редактировать при помощи текстовых редакторов, которые корректно позволяют править и сохранять файлы с таким расширением (akelpad, xmlpad и т.п.). Иначе велика вероятность того, что приложение мониторинга просто не заработает. По-этому, аккуратнее - с копированием, перемещением, архивированием и правкой содержимого каталогов данного ПО.

Настройка пользователей

Для этого открыть:  … \site\WebMonitor\App_Data\monclnts.xml  и сделать соответствующие настройки.

<?xml version="1.0" standalone="yes"?>
<USERS>
            <USER UN="100" PWD="100" CODE="4184" SHIFR="17">
            <REPIDs>
      <!--
      1 - Баланс
      2 - Суммы заказов
      3 - Суммы официантов
      4 - Выручка
      5 - Расход блюд
      6 - Общая по всем
      7 - Общая по кассирам
      8 - Общая по официантам
      9 - Общая по станциям
      10 - Общая по группам станций
      11 - Сервис-печать
      12 - Заказы
      13 - Чеки
      14 - Кассовая дата
      15 - Период дня
      16 - Системный балансовый отчет
      17 - Отправка сообщения
      18 - Планы залов -->
      <REPID ID="1"/>
      <REPID ID="2"/>
      <REPID ID="3"/>
      <REPID ID="4"/>
      <REPID ID="5"/>
      <REPID ID="6"/>
      <REPID ID="7"/>
      <REPID ID="8"/>
      <REPID ID="9"/>
      <REPID ID="10"/>
      <REPID ID="11"/>
      <REPID ID="12"/>
      <REPID ID="13"/>
      <REPID ID="14"/>
      <REPID ID="15"/>
      <REPID ID="16"/>
      <REPID ID="17"/>
      <REPID ID="18"/>     
                </REPIDs>
            </USER>
            <USER UN="2" PWD="2" />
            <USER UN="3" PWD="3" />
 <USER UN="200" PWD="200">
                        <REPIDs>
      <REPID ID="6"/>
      <REPID ID="7"/>
                        </REPIDs>
            </USER>
</USERS>

При создании пользователя, в секции <REPIDs> надо перечислить все отчеты, доступные данному пользователю (указать ID отчета). Если для пользователя не указан ни один отчет, то ему будут доступны все отчеты. Пример:

USER UN="100" PWD="100"      - где, UN – логин и PWD - пароль
<REPID ID="5"/>  - разрешает доступ к отчету «Расход блюд».

Еще пример:

UN="200" PWD="200"
<REPID ID="6"/>
<REPID ID="7"/>

Таким образм, для пользователя с логином «200» будут доступен только 1 отчет: «Общая выручка по кассирам». Т.к. значение «6» дает право на вход в блок отчетов «Общая», а «7» уже для конкретного отчета «По кассирам». Но это частный случай, т.к. в основном все отчеты одноуровневые.

Важно!  Если секция </REPIDs> отсутствует (пример: пользователь 3/3 или 2/2) или если для доступа указаны все отчеты, то данный пользователь будет иметь доступ ко всем отчетам.

Если пользователю запрещен к просмотру какой-либо отчет, то при попытке открвэтот отчет открыть на экране появится сообщение:

Рис. - Информационное сообщение ограничения прав доступа пользователя к отчету.

Настройка связи с RK7

OLAP-отчеты в вебмониторинге (только для RK6)

Установка OLAP

Дополнительно, как и в предыдущих версиях веб-мониторинга, есть возможность настроить связь с OLAP-отчетами RK6 (RK6Cube).

  • Фактически используется стандартная версия RK6Cube, но с некоторыми дополнительными файлами и настройками.

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

  • OLAP RK6 настраивается сначала стандартным образом (ссылка на статью по установке OLAP-отчетов для RK6 - http://support.ucs.ru/ru/node/7088), в том числе и связь с дисконтным сервером карт (CARDSERV).
  • Затем, дополняется файлами и настройками для работы совместно с WebMonitor v4. 

Как другой вариант - воспользоваться готовой сборкой OLAP-отчетов настроив ее на связь с используемым RK6 и веб-мониторингом. Для этого:

  1. Скачать с фтп кубы \OLAP готовую для работы с WebMonitor v4 сборку RK6Cube, которая собрана на базе последней версии кубов - на момент написания статьи это - 1.0.1.43.
  1. Распаковать содержимое в отдельный каталог (например - \OLAP) и настроить связь :
  • С менеджерской базой RK6.
  • С сервером карт (при его наличии).
  • С самим вебмониторингом.
  1. А именно, настроить конфигурационный файл Rkeeper.ini в каталоге \OLAP, вписать дополнительные параметры в раздел [Common]:
[Common]
Alias1 = d:\RK6\Db\                        - Путь к справочникам - \DB.
Alias2 = d:\RK6\Db\                        - Путь к ARK6.UDB - \DB.
RepPath= d:\RK6\WebMon4\RK6Cube\       - Путь к рабочему каталогу самих кубов.
HTMLPath1 = d:\RK6\WebMon4\RK6Cube\    - Путь к шаблонам отчетов rep-файлам (находятся там же, в каталоге кубов)
HTMLPath = d:\RK6\WebMon4\RK6Cube\     - Путь к шаблонам отчетов rep-файлам (находятся там же, в каталоге кубов)
  1. Отредактировать файл \WebMon4\site\WebMonitor\Web.config. В конце этого файла найти раздел:
 <setting name="CubesDir" serializeAs="String">
        <value>d:\RK6\WebMon4\RK6Cube\</value>
  1. Прописать корректный путь к каталогу отчетов мониторинга. Т.е. тот же путь что и в rkeeper.ini кубов (HTMLPath и пр.)
  2. Для прверки взаимодествия мониторинга, кубов и кассовых отчетов  запустить все серверы:
  • Кассовые серверы;
  • xsp.mono.webserver - start.bat, или перезапустить пулы IIS (в зависисмости от того какой веб-сервер используется);
  • webmon.exe в составе кубов.
  1. После чего, зайти на веб-страницу мониторинга, залогиниться (100, 100 - по умолчанию) и должны увидеть отчетный раздел мониторинга. Попробовать построить отчет.
 
Рис. - Список предлагаемых к использованию стандартных OLAP-отчетовю
 
Важно! для запуска сервиса webmon.exe ключа не требуется. Но если потребуется запустить непосредственно приложение Rk6Cube.exe потребуется наличие лицензионного ключа со стандартной прошивкой для Менеджерской RK6.

Создание нового (пользовательского) web-отчета

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

Для этого требуется:

  • В приложении RK6Cube построить необходимый куб. Далее сохранить этот куб с произвольным названием. Этот файл сохранится  с расширением - .rep,  в каталоге, где находится RK6Cube.exe.

Пример:

Рис. - Сохранение шаблона модифицированного отчета.

  • В файл monclnts.xml  добавить отчет, прописав новую строку, аналогично предыдущим.

Пример: добавить отчет № 28, где в Name указать items_in_check.rep, а ShowName – название этого отчета для пользователя

...
      <REPID ID="17"/>
      <REPID ID="18"/>
      <REPID ID="19"/>
      <REPID ID="20"/>
      <REPID ID="21"/>
      <REPID ID="22" Name="Waiters.rep" ShowName="Отчет по официантам" Type="Cube"/>
      <REPID ID="23" Name="Categories.rep" ShowName="Отчет по категориям" Type="Cube"/>
      <REPID ID="24" Name="Discounts.rep" ShowName="Отчет по скидкам" Type="Cube"/>
      <REPID ID="25" Name="Stations.rep" ShowName=" Отчет по станциям" Type="Cube"/>
      <REPID ID="26" Name="Payments.rep" ShowName="Отчет по оплатам" Type="Cube"/>
      <REPID ID="27" Name="Cashiers.rep" ShowName="Отчет по кассирам" Type="Cube"/>
      <REPID ID="28" Name="items­_in_check" ShowName="<Блюда в чеке" Type="Cube"/>
...
  • В файле rus_reptypes.xml добавить соответствующие теги для этого отчета (аналогично предыдущим). Из этого файла на данном этапе разработки берутся только 2 параметра (дата начала и дата окончания).

Пример:

...
     <ReportType>
        <RepName>items_in_check.rep</RepName>
        <RepShowName>Блюда в чеке</RepShowName>
        <RepParamNum>2</RepParamNum> 
        <RepParam1 showname="дата начала" name="startdata" type="data"/>
        <RepParam2 showname="дата окончания" name="enddata" type="data"/>
     </ReportType>
...
  • Определить пользователей для данного отчета (см. описание выше). После всех вышеописанных действий в списке Web отчетов появится строка с новым отчетом, и им можно будет пользоваться.

Локализация

 При необходимости, интерфейс приложения веб-мониторинг можно перевести на другой язык (английский, литовский, болгарский и т.д.). Для этого необходимо:

  • В файле language.xml  добавить новый параметр тега, например «TS» и перевести все строки из параметра «Default». В данном примере, все названия ("локализованы") дополнены - ***.
<Languages>
      <Lang Value="Default">
...
      <Lang Value="TS">
...
            <Str Name="Str1">***Баланс</Str>
            <Str Name="Str2">***Системный балансовый отчет</Str>
            <Str Name="Str3">***Кассовая дата</Str>
            <Str Name="Str4">***Чек</Str>
            <Str Name="Str5">***Расход блюд</Str>
            <Str Name="Str6">***Выручка</Str>
            <Str Name="Str7">***По кассирам</Str>
            <Str Name="Str8">***По официантам</Str>
            <Str Name="Str9">***По станциям</Str>
            <Str Name="Str10">***По группам станций</Str>
            <Str Name="Str11">***Дата/Время</Str>
            <Str Name="Str12">***Закрыт</Str>
            <Str Name="Str13">***Сумма</Str>
            <Str Name="Str14">***Станция</Str>
            <Str Name="Str15">***Кассир</Str>
            <Str Name="Str16">***Официант</Str>
            <Str Name="Str17">***Удалил</Str>
            <Str Name="Str18">***Причина</Str>
            <Str Name="Str19">***Код</Str>
            <Str Name="Str20">***Название</Str>
            <Str Name="Str21">***Кол.</Str>
            <Str Name="Str22">***Цена</Str>
            <Str Name="Str23">***Сумма</Str>
            <Str Name="Str24">***Наименование</Str>
            <Str Name="Str25">***Дисконтная карта</Str>
            <Str Name="Str26">***Валюта</Str>
            <Str Name="Str27">***Скидка</Str>
            <Str Name="Str28">***Сумма(баз.)</Str>
            <Str Name="Str29">***Комм.</Str>
            <Str Name="Str30">***Блюда</Str>
            <Str Name="Str31">***Скидки</Str>
            <Str Name="Str32">***Оплаты</Str>
            <Str Name="Str33">***Стол</Str>
            <Str Name="Str34">***Дата открытия</Str>
            <Str Name="Str35">***Время открытия</Str>
            <Str Name="Str36">***Гостей</Str>
            <Str Name="Str37">***Всего</Str>
            <Str Name="Str38">***Параметр</Str>
            <Str Name="Str39">***Значение</Str>
            <Str Name="Str40">***Период дня</Str>
            <Str Name="Str41">***Столы</Str>
            <Str Name="Str42">***Чеки</Str>
...
             <Str Name="Str99">***Внимание!</Str>
             <Str Name="Str100">***Информация</Str>
            </Lang>
...

После этих изменений все названия полей изменятся.

Пример:

Рис. - Пример "локализовации" интерфейса.

Для перевода Web-отчетов дополнительно необходимо в monclnts.xml  все названия «ShowName» указать на нужном языке.

Пример:

...
  <REPID ID="27" Name="Cashiers.rep" ShowName="***Отчет по кассирам" Type="Cube"/>
...

После этих изменений все названия полей изменят свое название.