1. General information


1.1. StoreHouse4 HeadOffice software is made to control restaurant chain SH4 references and reports.

1.2. Difference between StoreHouse BackOffice v3 and SHHO4 is reference synchronization mechanism: connection is established from HO to Restaurant in SHHO4. Reports are requested by HeadOffice application from SH4-local.


2. Files and folders


2.1. There are following modules inside:

  • SH HeadOffice Administrator - administrative application to manage DB and UserRoles.
  • SH HeadOffice Editor - main application for users to get and set references.
  • SH HeadOffice Reports - application to get Reports.
  • SH Application Server - system service application.

2.2. DBMS for SHHO4 is Microsoft SQL Server (MSSQL). You have to use SQL Server 2005 (or later). SQL Server installation manual is http://support.ucs.ru/en/node/4143. Refer to 3. for DB maintaince.


3. SQL server and database


3.1. You have to create user in SQL Server manually (using SQL Management studio) for SH4 HeadOffice.

3.2. Start SQL Server Management Studio Express and loging to the necessary instance (use 'sa' or windows user to login).

3.3. Go to SQL server Security -> Logins. On right mouse click choose "New Login...". Create user sho ("SQL Server authentication"), and any password (without "Enforce password policy"). No other changes required.

3.4. On "Server roles" enable all of them and press "ОК".

3.5. DB is to be created from SHO4edit application.


4. Setup SH4HO


4.1. Setup files

4.1.1. Copy all distributive files to some folder like "C:\SH4HO". Mind additional modules for SHO4edit.exe to be copied from SH4 distributive (RTL60.BPL and VCL60.BPL).

4.1.2. To start SH HeadOffice applications you need preset Guardant protection key (USB) with SHHO4 license inside. This key you have to plug into each Editor PC (no key required for server).

4.1.3. SH4 HeadOffice keys have unlimited period licenses. Get keys from UCS-Moscow as usually.

4.2. Windows registry edition

4.2.1. You have to create the following keys and values:

4.2.1.1. Key [HKEY_LOCAL_MACHINE\SOFTWARE\UCS\SHO4editor] - for SHO4edit.exe.

4.2.2. Put to "SHO4editor" key the following values (String Value):

4.2.2.1. DBPath - database list. Separator is ";" (semicolon). Value format: <PCname>\<SQLname>:<DBname>.

Examples:

"Server1\SQLExpress:sho4_data1" (one server); "Server1\SQLExpress:sho4_data1; Server2\SQLServer2005:sho4_data2" (several).
- sho4_data1 и sho4_data1 - SQL Server DB. You should set them as shown below.
- Db_user - user name (for SQL connection), с помощью которого осуществляются все обращения к SQL Server. This user you set in 3.3.
- Db_pwd - user password, for previously set user name (Db_user). This password you set in 3.3.

2. Раздел [HKEY_LOCAL_MACHINE\SOFTWARE\UCS\SHO4COM] - необходим для возможности обращения к серверу через DCOM. Используется приложением SH4 HeadOffice Reports (SHO4Rpt.exe)

В этом разделе создайте точно такие же строковые переменные, как и в предыдущем

Важно: сервер приложений (SHAppSrv.exe), который вызывается при запуске приложения SH4 HeadOffice Reports, может подключаться только к одной базе данных SH4 HeadOffice, поэтому в качестве значения параметра DBPath в разделе [HKEY_LOCAL_MACHINE\SOFTWARE\UCS\SHO4COM] можно указать путь только к одной базе!
Примечание: для успешного запуска сервера приложений SHAppSrv.exe требуется файл SHAppSrv.txt, в котором формируется лог работы - если файл отсутствует, создайте его вручную (пустой)!

Example windows registry entries (one DB case):

[HKEY_LOCAL_MACHINE\SOFTWARE\UCS\SHO4editor]
DBPath=Server1\SQLExpress:sho4_data1
Db_user=sho
Db_pwd=ucs

[HKEY_LOCAL_MACHINE\SOFTWARE\UCS\SHO4COM]
DBPath=Server1\SQLExpress:sho4_data1
Db_user=sho
Db_pwd=ucs

 Или в случае использования нескольких баз данных (см. примечание выше):

[HKEY_LOCAL_MACHINE\SOFTWARE\UCS\SHO4editor]
DBPath=Server1\SQLExpress:sho4_data1; Server2\SQLServer2005:sho4_data2
Db_user=sho
Db_pwd=ucs

[HKEY_LOCAL_MACHINE\SOFTWARE\UCS\SHO4COM]
DBPath=Server1\SQLExpress:sho4_data1
Db_user=sho
Db_pwd=ucs

4.3. DB creation

Для создания базы данных запустите приложение SH HeadOffice Administrator (SHO4Admin.exe) - при запуске приложение не запрашивает пароль
Далее выберите в меню Прочее - Создать базу данных...
В окне создания базы данных заполните следующие поля (см. Рис. 3) :

  • Имя сервера - укажите имя сервера SQL в виде <имя компьютера>\<имя экземпляра>, например Server1\SQLExpress
  • Имя БД - укажите имя базы данных, которую хотите создать. Если вы в реестре уже указали имя базы данных (см. Шаг 2) - укажите это же имя в этом поле, если нет - укажите произвольное имя и не забудьте его прописать в реестре, как описано выше!
  • Директория БД - укажите полный путь к директории, в которой будет создана база данных. Необходимо указывать путь к существующей директории.
  • Флаг "заполнить первоначальными данными" должен быть отмечен (по умолчанию)2

Подтвердите создание базы данных нажатием кнопки ОК - если процесс пройдет успешно, вы получите соответствующее сообщение. В результате в директории, которая указана в поле "Директория БД", будет создано два файла с расширениями *.MDF и *.LDF. Если необходимо создать еще одну базу данных - повторите снова действия, описанные выше.
После создания базы можно проверить подключение к ней - запустите SHO4Admin.exe, далее "Файл" - "Соединение с базой данных..". Появится окно с параметрами подключения - для входа используйте имя пользователя Admin без пароля.
Примечание: Если пароль для пользователя Admin утерян, можно сбросить его значение с помощью следующего запроса :

update sho_users set pass 'D41D8CD98F00B204E9800998ECF8427E' where rid = 0

 Запрос можно выполнить в среде  SQL Server Management Studio.

 


5. Customization


5.1. Enterprice settings

Предприятие - это единица, которая определяет локальный ресторан. При создании базы данных и заполнении ее первоначальными данными создается только одна корневая группа предприятий с названием "Корпорация" - вы можете изменить ее. Предприятия НЕ ДОЛЖНЫ создаваться вручную - они будут сформированы автоматически при импорте данных из приложения R-Keeper BackOffice Editor.

5.2. Roles settings

Для корректной работы SH4 HeadOffice, в удаленных (локальных) складах пользователи не должны иметь возможности редактировать основные словари. Для этого необходимо создать специальную роль в локальном SH4 и назначить всем пользователям эту роль.

Создание роли:

  1. Запустите Sdb Server manager (Sdbman.exe)
  2. Выберите пункт меню "Прочее", далее "Выполнить запрос"
  3. В поле "Процедура:" введите CreateHoRole, а в поле "Библиотека:" выберите библиотеку SH_CRTDB.DLL (должен быть указан полный путь)
  4. Снова перейдите в меню "Прочее" и выберите "Выполнить" (либо выберите соответствующую иконку "Выполнить" на панели задач)
  5. Если процедура выполнена успешно, на закладке "Результаты запросы" будет выдано сообщение "Процедура выполнена успешно" (см. Рис.5)

В итоге будет создана роль "Head office",  которую нужно назначить всем пользователям.

Если в локальном складе были созданы собственные роли, отличные от роли "Public", и их нужно сохранить, необходимо воспользоваться процедурой AlterHoRole, которая позволяет установить необходимые права для уже созданной роли (или ролей). Выполнение этой процедуры аналогично вышеописанному процессу. Следует помнить, что выполнение процедуры AlterHoRole затрагивает все существующие роли!

Примечание: процедуры CreateHoRole и AlterHoRole доступны начиная с версии склада 4.38.62


6. ImportRK.exe SH4 settings


Из-за особенностей хранения блюд со статусом "Сегодня нет в меню" в приложении R-Keeper BackOffice Editor (хранятся как удаленные), при последующей рассылке меню из центрального офиса в локальные рестораны и закачке его в склад происходит неприятная ситуация. Для избежания этой неприятной ситуации необходимо использовать специальную версию библиотеки SHTR.dll для локальной версии SH4. Взять библиотеку можно на фтп - dealers/HeadOffice/SH4 HeadOffice/SHTR_SHO4.rar, далее просто скопировать ее в директории SH4 вместо текущей. Данная библиотека НЕ ИМПОРТИРУЕТ МЕНЮ из локальной менеджерской базы (меню в локальном складе формируется при расслыке словарей из SH4 HeadOffice)

Важно: устанавливать специальную версию SHTR.dll в локальном ресторане нужно только при использовании SH4 HeadOffice, в случае использования обычной версии SH4 устанавливать эту библиотек НЕЛЬЗЯ


7. Remote SH4 HeadOffice stations


Перед установкой дополнительного рабочего места необходимо настроить SQL Server  для возможности удаленного подключения. Данный процесс подробно описан в следующей статье.  Дальнейшее описание подразумевает, что SQL Server сконфигурирован и может обслуживать удаленные подключения клиентов по протоколу TCP/IP.

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

Для установки дополнительного рабочего места выполните следующие действия:

  • скопируйте  содержимое директории SHO4 (или дистрибутива - см. Шаг 2) на компьютер, где планируется  установка доп. рабочего места
  • в реесте пропишите путь к базе данных, к которой требуется подключение. Для этого создайте раздел HKEY_LOCAL_MACHINE\SOFTWARE\UCS\SHO4editor и в нем создайте три переменные типа String:
    • DB_user - имя пользователя для подключения к SQL Server
    • DB_pwd - пароль пользователя, указанного в параметре DB_user
    • DBPath - путь к базе данных. Путь должен быть указан в формате <имя_сервера>\<имя_экземпляра>:<имя_базы_данных> , где <имя_сервера> - имя сервера (или IP адрес), к которому требуется подключение, <имя_экземпляра> - имя экземпляра SQL Server, с которым требуется установить соединение, <имя_базы_данных> - имя базы данных, с которой необходимо работать. Например, если требуется прописать подключение к серверу MYSERVER (IP адрес 192.168.0.100), на котором запущен экземпляр SQL Server с именем SQLEXPRESS, и базой данных sho4, то срока будет выгдядеть так: MYSERVER\SQLEXPRESS:sho4 или 192.168.0.100\SQLEXPRESS:sho4

Примечание: В реестре можно прописать несколько подключение к разным базам и разным серверам - для этого раздлеляйте записи с помощью символа ";" ("точка с запятой"). Например:  192.168.0.100\SQLEXPRESS\sho4_work;192.168.0.100\SQLEXPRESS\sho4_reserve

Важно: Если SQL Server настроен на прослушивание нестандартного порта (стандартный порт - 1433), то в строке подключения необходимо указать значение этого порта через запятую после имени (или IP адреса) сервера. Например, 192.168.0.100,3456\SQLEXPRESS:sho4 определяет подключение к серверу 192.168.0.100 через порт 3456.


8. SH4 HeadOffice update


Обновление версии SH4 HeadOffice включает в себя обновление исполняемых файлов, библиотек и базы данных.

Для обновления версии проделайте следующие шаги:

  1. Сделайте копию всей рабочей директории  SHO4 и резервную копию (backup) рабочей базы SHO4 (стандартными методами с помощью приложения "Среда SQL Server Management Studio Express")
  2. Скопируйте с FTP (/dealers/HeadOffice/SH4 HeadOffice/..) дистрибутив новой версии SHO4, распакуйте его и замените в рабочей директории все файлы
  3. Запустите приложение SHO4Admin.ехе, не подключаясь к базе данных, перейдите в пункт меню "Прочее", далее пункт "Создать базу данных".
  4. В открывшемся окне заполните все поля (аналогично Шагу 3). ВАЖНО: необходимо снять флаг "заполнить первоначальными данными"!
  5. После успешного создания базы, установите соединение с новой (чистой) базой
  6. Выберите пункт "Пользователи", далее подпункт "Копировать данные"
  7. В поле "БД источник" укажите имя рабочей базы (старой) SHO4. ВАЖНО: в этом поле необходимо указать ТОЛЬКО имя базы данных, без указания имени сервера и экземпляра!
  8. В поле "Файл скриптов" укажите файл скрипта, соотв. вашей текущей (старой) версии. Например, при обновленни из версии 4.22.хх нужно указать скрипт from4_22_xx.sql. Файл скрипта находится в поддиректории upgrade, далее директория, соотв. новой установленной версии. Например, при обновлении до версии 4.28.хх файл скрипта нужно указать из директории upgrade\to4_28_00\

ВАЖНО: Версия, указанная в названии скрипта, соотв. версии базы данных, а не версии программы! Соответствие версии БД и версии исполняемых файлов можно посмотреть в файле SHO4.xls (последний вариант на фтп /dealers/HeadOffice/SH4 HeadOffice/SHO4.xls)


9. Remarks


Данный раздел любезно предоставлен Григорием Плетневым
 

Проявление проблемы: при запуске SH невозможно выбирать база данных,  появляются ошибки типа "недопустимое подключение" или "недопустимая спецификация авторизации" при попытке создать БД.

Сущность проблемы: некорректное определение целевой ветки реестра для 32-х битных приложений в 64-х битной среде.

Решение проблемы: вместо стандартной ветки реестра [HKEY_LOCAL_MACHINE\SOFTWARE\UCS\ надо использовать следующую ветку: [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\UCS\

Пример:

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\UCS\SHO4Editor]
"Db_user"="sho"
"Db_pwd"="ucs"
"DBPath"="127.0.0.1,1433:SHO"

 


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

2 - флаг "заполнить первоначальными данными" нужно cнимать только в том случае, если планируется импортировать данные из базы данных формата UDB - первые версии SH4 HeadOffice поддерживали этот формат, но на данный момент поддерживается только MSSQL, так что вам, скорее всего, не прийдется столкнуться с такой ситуацией.