Введение

Крупные торговые сети используют обширную сеть, состоящую из многоуровневого дерева связей серверов отчетов с центральным сервером отчетов. Так как данные в пределах одной сети одинаковы, то достаточно внести изменения на сервере верхнего уровня — сервере справочников. Данные автоматически синхронизируются с серверами более низких уровней, а те, в свою очередь, с локальными — в ресторане. Обратите внимание: изменения можно вносить только на сервере справочников. На сервере отчетов изменения внести не получится, здесь можно только просматривать отчеты,

Если при подключении менеджерской станции к этому серверу отчетов необходимо строить и просматривать отчеты, необходимо настроить связь с внешней БД для сервера отчетов. 

Схематично связь показана на рисунке ниже.


Лицензировать в данном случае придется те серверы, которые будут использоваться для просмотра отчетов и обработки данных. Количество лицензий должно быть равно числу разных пользователей, которые могут одновременно строить отчеты.

При отсутствии в базе активных лицензий, число подключений с менеджерской станции к серверу справочников ограничивается до 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 сервера отчетов

    Не забудьте получить три лицензии для трех серверов отчетов.

  • 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
CODE

Для сервера отчетов 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
CODE

Менеджерская станция, связанная с сервером справочников (refserver):

[REFEDIT]
Server=RK7SRV_3001
Client=rk7man_ref
CODE

Менеджерская станция, связанная с сервером отчетов 1:

[REFEDIT]
Server=repsrv_1 //сетевое имя 1-го сервера отчетов
Client=rk7man_rep1
CODE

Менеджерская станция, связанная с сервером отчетов 2:

[REFEDIT]
Server=repsrv_2 //сетевое имя 1-го сервера отчетов
Client=rk7man_rep2
CODE