Настройка серверов отчетов для сети ресторанов
Введение
Крупные торговые сети используют обширную сеть, состоящую из многоуровневого дерева связей серверов отчетов с центральным сервером отчетов. Так как данные в пределах одной сети одинаковы, то достаточно внести изменения на сервере верхнего уровня — сервере справочников. Данные автоматически синхронизируются с серверами более низких уровней, а те, в свою очередь, с локальными — в ресторане. Обратите внимание: изменения можно вносить только на сервере справочников. На сервере отчетов изменения внести не получится, здесь можно только просматривать отчеты,
Если при подключении менеджерской станции к этому серверу отчетов необходимо строить и просматривать отчеты, необходимо настроить связь с внешней БД для сервера отчетов.
Схематично связь показана на рисунке ниже.
Лицензировать в данном случае придется те серверы, которые будут использоваться для просмотра отчетов и обработки данных. Количество лицензий должно быть равно числу разных пользователей, которые могут одновременно строить отчеты.
При отсутствии в базе активных лицензий, число подключений с менеджерской станции к серверу справочников ограничивается до 1. Данная ситуация может произойти при окончании срока всех лицензий в цепочке серверов.
Пример конфигурации
В качестве примера рассмотрим сеть ресторанов, состоящую из двух заведений и главного офиса. В каждом заведении имеется две кассы. Как это работает:
После закрытия общей смены на кассовом сервере1 (midserver1) ресторана №1 данные смены обрабатываются на сервере отчетов 1 и на сервере отчетов в «Центральном офисе». Аналогичная ситуация происходит и во втором ресторане: закрытая общая смена обрабатывается локальным сервером отчетов 2 и далее в «Центральном офисе».
Структура сети
Структура сети из примера выше выглядит так:
Центральный офис
- Главная база SQL — reports_HO
- Менеджерская станция
- Сервер справочников, он же главный сервер отчетов
Ресторан 1
- Сервер отчетов 1
- Менеджерская станция
- Локальная SQL-база 1 — reports_rest1
- Кассовый сервер 1 — midserver1
Ресторан 2
- Кассовый сервер 2 — midserver2
- Локальная SQL-база 2 — reports_rest2.
- Сервер отчетов 2
- Менеджерская станция.
Пример конфигурации схематично представлен ниже:
Настройка сети
Для настройки такой сети заведений создайте в менеджерской станции r_keeper:
- 2 заведения в справочнике Кассовые станции и устройства
- 2 кассовых сервера — по одному на каждое заведение
- 4 кассовые станции — по две кассы на каждый кассовый сервер
-
Не забудьте получить три лицензии для трех серверов отчетов.
- 3 настройки внешних баз данных, согласно описанию настройки связи с MS SQL, и настройте связь с соответствующими серверами отчетов.
В результате должно получиться 3 конфигурации:- Для Центрального офиса — база данных reports_H
- Для ресторана1 — база данных reports_rest1
- Для ресторана2 — база данных reports_rest2.
Работники и их права
Добавьте две группы работников:
- Для сервера отчетов 1.
- Для сервера отчетов 2.
Настройте в свойствах их права:
- Включите все права для просмотра отчетов. Для этого перейдите в раздел Менеджерские ограничения > Серверы отчетов. Активируйте соответствующий сервер отчетов.
Установите в свойствах работников:
- В разделе Основное укажете Текущий ресторан.
- В разделе Основное дважды нажмите на поле Учетная запись и задайте для работников Логин и Пароль.
Свойства серверов отчетов
Сервер справочников | Сервер отчетов 1 | Сервер отчетов 2 | |
---|---|---|---|
Строить кубы | Да | Да | Да |
Обрабатывать данные | Да | Да | Да |
Настройки внешних БД | Центральный офис | Ресторан 1 | Ресторан 2 |
Обработка данных | |||
Ресторан 1 | |||
- кассовый сервер 1 | Да | Да | Нет |
Ресторан 2 | |||
- кассовый сервер 1 | Да | Нет | Да |
Ini-файлы
Для сервера отчетов 1:
[CONFIG]
Client = "repsrv_1"
RefServer = "RK7SRV_3001"
RefsBasePath = ".\BaseData1\refsdata.udb"
CheckBasePath = ".\BaseData1\check_db.udb"
ReceivedPath = ".\Received1\"
ErrorLog = "repsserv1.stk"
[NETKERN]
Protocols = tcpsoc.dll
Для сервера отчетов 2:
[CONFIG]
Client = "repsrv_2"
RefServer = "RK7SRV_3001"
RefsBasePath = ".\BaseData2\refsdata.udb"
CheckBasePath = ".\BaseData2\check_db.udb"
ReceivedPath = ".\Received2\"
ErrorLog = "repsserv2.stk"
[NETKERN]
Protocols = tcpsoc.dll
Менеджерская станция, связанная с сервером справочников (refserver):
[REFEDIT]
Server=RK7SRV_3001
Client=rk7man_ref
Менеджерская станция, связанная с сервером отчетов 1:
[REFEDIT]
Server=repsrv_1 //сетевое имя 1-го сервера отчетов
Client=rk7man_rep1
Менеджерская станция, связанная с сервером отчетов 2:
[REFEDIT]
Server=repsrv_2 //сетевое имя 1-го сервера отчетов
Client=rk7man_rep2