Серверы отчетов
Введение
Сервер отчетов — дополнительный сервер, который объединяет рестораны в одну сеть. Для одного-трех ресторанов возможна работа без серверов отчетов. Данные в таком случае обрабатывает сервер справочников.
Сервер отчетов по набору функций и свойств идентичен серверу справочников, за исключением одного — на сервере отчетов ничего нельзя редактировать.
Отчеты можно просматривать в менеджерской станции. Для их построения требуется пролицензировать сервер справочников и настроить связь с внешней БД в MS SQL Server 2012. Таким образом, сервер справочников может выступать как сервер для построения отчетов, или сервер отчетов. Когда количество ресторанов в базе увеличивается до нескольких десятков, нагрузка на сервер справочников также возрастает. Поэтому в r_keeper 7 предусмотрена возможность создавать промежуточные серверы, которые реализованы через сервер отчетов — rkReportServer.exe.
Исполняемый файл сервера отчетов — rkReportServer.exe, имя конфигурационного файла по умолчанию — repserv.ini.
- При установке r_keeper 7 из архива файл REPSERV.INI нужно скопировать из папки \bin\win\ini\ в рабочую папку \bin\win\, где лежит rkReportServer.exe.
- При установке r_keeper 7 через инсталлятора сервер с конфигурационным файлом лежат в папке путь установки\имя экземпляра\Rk7Reports.
Обратите внимание: названия сервера и конфигурационного файла могут быть произвольными. По умолчанию сервер будет искать конфигурационный файл REPSERV.ini, если не указан другой ini-файл . Про использование других конфигурационных файлов читайте ниже.
Использование сервера отчетов зависит от лицензии:
- Если сервер отчетов пролицензирован, к нему можно подключиться с помощью менеджерской станции и просматривать отчеты
- Если сервер отчетов не пролицензирован, он может использоваться только как транзитный узел для передачи данных. Сервер без лицензии можно использовать неограниченное количество раз. Центральный сервер отчетов может собирать данные с локальных, которые получают данные с кассовых серверов, когда у клиента есть несколько ресторанов с кассовыми серверами.
Связь серверов между собой представлена ниже:
Для настройки сервера отчетов его необходимо сначала создать в менеджерской станции, а затем отредактировать конфигурационный файл.
Создание сервера отчетов
Для создания сервера отчетов:
- Перейдите в меню Настройки > OLAP отчеты > Серверы отчетов
- В левом поле нажмите правой кнопкой мыши и выберите пункт Новый сервер отчетов
- В блоке Главное заполните поле Название, назначьте Сетевой ID — этот идентификатор будет использоваться для связи с сервером отчетов. Смените статус сервера с Черновик на Активный
- В блоке Основное в строке Обслуживает ресторан выберите свой ресторан
- В блоке Синхронизация активируйте все настройки
- Сохраните изменения.
Готово, сервер отчета создан. Далее его необходимо пролицензировать.
Лицензирование
Важно
Лицензия привязывается к полному коду объекта и коду ключа.
Процесс лицензирования сервера отчетов идентичен процессу лицензирования сервера справочников, описанному в статье о Сервере справочников.
Порядок действий следующий:
Укажите код предприятия и код объекта
Нажмите сюда, чтобы узнать подробнее о коде предприятия- Укажите Код корпорации , который был получен в системе лицензирования в параметр Код предприятия. Для этого перейдите в Настройки > Параметры > Установочные и укажите число в поле Код
- Код объекта из системы лицензирования необходимо указать в свойствах ресторана.
Для этого перейдите в Сервис > Станции и устройства и выберите требуемый ресторан.
- Укажите в поле Код свой код объекта
- Согласитесь с подтверждениями и сохраните изменения.
- Укажите Код корпорации , который был получен в системе лицензирования в параметр Код предприятия. Для этого перейдите в Настройки > Параметры > Установочные и укажите число в поле Код
- Перейдите в меню Настройки > OLAP отчеты > Серверы отчетов
Выберите сервер
Если сервер пролицензированЕсли сервер уже был пролицензирован и необходимо внести изменения существующей лицензии, отключите связь с внешней БД, если она есть. Затем выполните следующие действия:
- Перейдите в Настройки связи с внешней БД
- Измените значение поле на пустое
- В поле Источник данных кубов переключите на пересчет через файл БД UDB (обмен через файл)
- Нажмите Сохранить.
- Выберите ключ защиты в поле Информация о лицензии > Ключ защиты > Физический номер
- Сгенерируйте запрос лицензии — нажмите правой кнопкой мыши на значок сервера отчетов, затем Действия > Сгенерировать запрос лицензии
- Сгенерируйте для данного запроса лицензию в системе лицензирования и укажите ее в поле Информация о лицензии > Лицензионный ключ
- Сохраните изменения
- Настройте связь с внешней БД, если требуются отчеты.
Запуск
Для запуска сервера отчетов:
Пропишите следующие параметры в repserv.ini в секции [Config]:
Client = "REPSRV3001" сетевой ID сервера отчетов RefServer = "RK7SRV3001" сетевой ID сервера верхнего уровня (им может быть как сервер справочников, так и сервер отчетов)
DELPHI- Запустите сервер.
Client = "REPSRV3001"
RefServer = "RK7SRV3001"
RefsBasePath = ".\BaseData\refsdata.udb"
CheckBasePath = ".\BaseData\check_db.udb"
WorkModsFile = ".\BaseData\wmodules.udb"
ReceivedPath = ".\Received\"
ErrorLog = "repsserv.stk"
UseSql = 0
Если необходимо, чтобы сервер отчетов обращался к внешним базам данных, выполните следующие действия:
- Создайте базу данных в Management Studio
- Настройте связь с этой БД, используя инструкции в статье о настройки связи с MS SQL
- Если сервер отчетов уже запущен, остановите его
- В конфигурационном файле repserv.ini измените значение параметра UseSql с 0 на 1
- Запустите сервер.
Первый запуск всегда выполнять в качестве приложения с параметром /desktop. Также проверьте, чтобы запуск производился от имени администратора.
По умолчанию конфигурационный файл сервера — repserv.ini. Если необходимо запустить Сервер отчетов с другим ini-файлом, то используйте следующую команду: rkReportServer.exe /ininame: newname.ini /desktop.
Сервер отчетов так же, как и сервер справочников, можно запустить и как службу. Для этого используется параметр /install.
После запуска сервера как приложения rkReportsServer.exe/desktop в области уведомлений на рабочем столе появится значок .
Описание файла Repsserv.ini
Скопируйте файл repserv.ini из папки RK7/BIN/WIN/ini, если вы этого еще не сделали и поместите его в ту же папку, где находится файл RKREPORTSSERVER.EXE — RK7/BIN/WIN/.
[CONFIG]
Client = "REPSRV3001" сетевое имя сервер отчетов, такое же как соответствующий сервер отчетов в менеджерской станции
RefServer = "RK7SRV_3001" сетевое имя сервера справочников или верхнего сервера отчетов
RefsBasePath = ".\BaseData\refsdata.udb" полный путь к базе справочников, не путать с rk7.udb
CheckBasePath = ".\BaseData\check_db.udb" полный путь к базе чеков, не путать с check.udb
WorkModsFile = ".\BaseData\wmodules.udb" полный путь к базе рабочих модулей
ReceivedPath = ".\Received\" путь к папке для получения данных
ErrorLog = "repsserv.stk" имя лог-файла. Если необходимо, добавьте путь. По умолчанию лог-файл сохраняется в той же папке, где лежит RKREPORTSSERVER.exe
ErrorLogSize = 1048576 размер журнала ошибок в байтах
OldRefsSyncMode = 0 1 — включить старый режим синхронизации, необходим при PollEvents=1
PollEvents = 0 включить режим периодического опроса (полинга) сервера справочников. В файле .ini сервера справочников необходимо заполнить параметр EventCachePath=, также выставить OldRefsSyncMode=1
RecalcAllCubesAt = 2015 время прописывается без двоеточия в формате "ЧЧММ". Пересчитывать все кубы, которые бы пересчитались по пункту меню "Пересчитать все кубы" на менеджерской станции в 20:15. Для версий 7.4.20.60 и выше.
CubesRecalc = 0 отключение пересчета кубов, 1 — включение пересчета кубов, 2 — пересчет кубов только в ручном режиме. Действует для версий 7.6.1.2 и выше
NoReports = 0 отключение меню с отчетами в менеджерской станции. Действует для версий 7.6.1.2 и выше
ServPingTimeout = 5000 Для версий 7.4.17.78 и выше
UseSql = 1 0 — если нет связи с базой в SQL, 1 — если используем связь с базой в SQL
LoadThreadsCount = 4 загружать данные закрытых смен в накопительную БД параллельно, "4" — число обрабатываемых параллельно файлов. Рекомендуется при большом количестве одновременно поступающих файлов смен. Версия должна быть не ниже 7.5.2.328!
cubesBuildTool = "bldcubex.exe" Включение утилиты bldcubex.exe для построения кубов на ПК с 2+ ГБ памяти. Действует для версий 7.6.2 и выше
[NETKERN]
Protocols = tcpsoc.dll список протоколов, разделенные запятой. Убедитесь что эти DLL-файлы лежат в папке с файлом RKREPORTSSERVER.exe
[TCPSOC]
PORT=3639 порт для сервера
[TCPDNS]
RK7SRV_3001=subway.rkeeper.com:3648
REP_CENTR4=subway.rkeeper.com:3644
RK7SRV=subway.rkeeper.com:3639
[UPDATE]
NoUpdate=0
шедулер. только для 7.5.2.502+
[SYNCCONF]
Включить использование синхронизации по расписанию
RefsSyncMode=1
время выполнения синхронизации в формате CRON 50 10 * * * равнозначно "всегда в 10:50", 45 13 * * * равнозначно "всегда в 13:45".
Формат следующий:
* * * * *
| | | | |
| | | | +----- Дни недели (диапазон: 1-7)
| | | +------- Месяцы (диапазон: 1-12)
| | +--------- Дни месяца (диапазон: 1-31)
| +----------- Часы (диапазон: 0-23)
+------------- Минуты (диапазон: 0-59)
SyncSchedule=50 10 * * * синхронизировать справочники при загрузке сервера отчетов
SyncOnReload=0
Проверка настроек
Проверить корректность настройки сервера отчетов можно с помощью пересчета кубов. Кубы находятся в справочнике Настройки > OLAP отчеты > Кубы и отчеты. Куб считается автоматически или вручную.
- Автоматический пересчет куба можно проверить в свойствах куба — в разделе Обработка данных. У каждого куба есть список серверов отчетов и информации о пересчете куба: периодичность, время вычисления, последняя ошибка и т.д.
- Для пересчета вручную нажмите по кубу правой кнопкой мыши и выберите Действия > Пересчитать. Если все настроено корректно, то в разделе Обработка данных появится актуальная дата пересчета кубов.
Начиная с версии 7.06.04.041, если на сервере больше 2 ГБ оперативной памяти, вы можете использовать новую утилиту для построения кубов – bldcubex.exe. Для этого добавьте в repserv.ini настройку:
[CONFIG]
cubesBuildTool = "bldcubex.exe"
И перезапустите сервер отчетов. После этого появится новый файл менеджерской станции rk7manex.exe. Используйте его для построения кубических отчетов.
Желательно создать новую роль с правами только для кубов и отчетов, а все другие элементы в менеджерской станции — скрыть. Затем создайте ярлык для такой менеджерской станции с названием типа «Отчеты».
Начиная с версии 7.4.20.60 и выше, можно пересчитать все кубы, которые бы пересчитались при выполнении действия Пересчитать все кубы на менеджерской станции, автоматически в заданное время, прописав в INI-файле следующую команду:
RecalcAllCubesAt = "2015" (Время прописывается без двоеточия "ЧЧММ")
Его значение легко проверяется через веб-интерфейс.
Обновление сервера отчетов
При нажатии правой клавишей мыши по значку сервера отчетов, свойства сервера откроются в браузере. HTTP-порт по умолчанию можно назначить в менеджерской станции, указав новый порт в свойствах сервера отчетов: раздел HTTP Server > HTTP Data Port.
После запуска сервера отчетов проверьте его соединение с верхним сервером.
Обновление сервера отчетов аналогично обновлению сервера справочников. После обновления обязательно перезапустите сервер отчетов, иначе изменения не вступят в силу.