StoreHouse 5 installation and upgrade


1. General


1.1. StoreHouse5 (SH5 in short) – is new version of UCS Store House system.

1.2. Store House is made for stock management automation, control production in restaurants, calculate self-cost of food, purchase near-end items.

1.3. There is integration with accounting 1C. 

1.4. There is integration with UCS R_Keeper_7.


2. Files and folders


2.1. SH5 system consist of server part and client part, also includes several engineer applications.

2.1.1. Server part:

2.1.2. Client part:

2.1.3. Additional tools

2.1.3.1. Licensing application (Sh5Licen.exe) - for web-based licenses in SH5

2.1.3.2. Database creation tool (Shdbinst.exe) - for manual creation of SH5 database with any language.

2.2. Server configuration is stored in Windows registry, that is why no configuration tool (like SdbsConf.exe from SH4) necessary for SH5.


3. Environment requirements


3.1. Server side

3.2. Client side


4. StoreHouse 5 installation procedures


4.1. Set up StoreHouse_5  with installer (master) plus additional steps.

4.1.1. There is only one installer for server and client.

4.1.2. After finalization of StoreHouse_5 installer, you have to create database in your language.

4.2. Running installer

4.2.1. Start installer .exe file

4.2.2. Choose english language

4.2.3. Accept license agreement

4.2.4. Specify path for SH5 files and folders

4.2.5. Choose components to install in this instance

4.2.6. Specify folder for database (with log) and server name, protocol and TCP port, enable DB backup

4.2.7. Speify DB file name and backup path, size

4.2.8. Confirm client connection string or edit

4.2.9. Specify shortcuts to be created

4.2.10. Confirm settings

4.2.11. After installation finished, press any key and complete installer

4.3. Apply your language files as in p.9.

4.4. Create DB with Shdbinst.exe application using .bat script (see p.6).


5. Licensing


5.1. General licensing principles in StoreHouse5

5.2. Licensing steps

5.2.1. Get master license for chosen SH5 product  in l.ucs.ru system as usually , see http://support.ucs.ru/en/node/7186

 

5.2.2. License types:

Request all licenses in one restaurant code

5.2.2. set up file \SH5lic\Sh5Licen.ini

5.2.2.1. format

SH5Server = 127.0.0.1 - StoreHouse server IP address
SH5Port = 7771        - StoreHouse server TCP port
LogLevel = 1          - level for log details 0..1

5.2.2.2.  In case no ini file exist there \SH5lic\Sh5Licen.ini , default (IP address 127.0.0.1, TCP port 7771) will be used.

5.2.3. start application  \SH5lic\Sh5Licen.exe

5.2.4. enter SH5 user name and password - connect to SH5 main server

5.2.4.1. in new DB default user is:

After successful connection you do:

 

in case this SH5 server does not have access to l.ucs.ru:60606 - error will be shown

in case sub-license created successfully and connection exists, green "License is valid" will be on screen

5.2.5. repeat those actions above for creation of additional sub-liceses for other restaurants.

5.2.6. Create enterprises and departments in SH5 database.

5.2.7. Start Sdbman.exe and navigate to menu [Storehouse] ⇒ [Licensing objects] and link restaurants to licenses in there.

 

5.3. Extension of license

Для продления существующей лицензии по дате необходимо:

Примечание: Данные действия необходимо выполнить для всех типов существующих лицензий (основной и дополнительных)

5.4. Update license (other)

При замене базы, вы мсожете увидеть следующую ошибку лицензирования.

Для того, чтобы исправить ошибку, вам необходимо открыть утилиту Sdbman.exe. Нажмите на кнопку «Исполнить процедуру».

В появившемся окне необходимо ввести:

Процедура: LimN

Библиотека: Shsrv64.dll   

и нажать кнопку «Исполнить»

После этого лицензия должна работать.


6. Database manipulations (Shdbinst.exe)


6.0. What is

6.0.1. For SH5 database manipulation there is command line tool Shdbinst.exe, which can do: create new DB, restore from backup, update DB structure to new version.

6.0.2. Parameters in command line:

# cmd description
1 /s<Имя_Сервера> - имя сервера SH5 для подключения
2 /f<Имя_Файла_БД> - имя файла БД (может включать полный путь к файлу)
3 /i<Размер_БД> - размер создаваемой БД (Мб)
4 /t<Имя_Журнала_Транзакций> - имя файла журнала транзакций (может включать полный путь к файлу)
5 /z<Размер_Журнала_Транзакций> - размер создаваемого журнала транзакций (Мб, по умолчаниб 10Мб)
6 /a<Имя_Администратора> - имя администратора БД
7 /p<Пароль_Администратора> - пароль администратора БД (по-умолчанию пусто)
8 /d<Описание_БД> - описание БД (по-умолчанию пусто)
9 /b<Имя_файла_резервной_копии> - имя файла резервной копии при восстановления/обновлении БД (может включать полный путь к файлу)
10 /l<Путь_к_управляющей_библиотеке> - путь к библиотеке shcrtdb64.dll (используется для создания/обновления БД)
11 /u<Имя_пользователя> - имя пользоваля (при загруженной БД)
12 /v<Пароль_пользователя> - пароль пользоваля (при загруженной БД)

6.1. Create new DB with Shdbinst.exe

6.1.1. For example, you execute .but file like

Shdbinst.exe /sSH52 /fC:\UCS\SH52\Database\SDB52\db_10 /i22 /tC:\UCS\SH52\Database\SDB52\lg_10 /aAdmin /d"db_10" /uAdmin /lC:\UCS\SH52\Server\shcrtdb64.dll

6.1.2. Close command line window as offered.

6.2. Use examples

Дял получения списка поддерживаемых параметров необходимо запустить из командной строки (cmd.exe) утилиту Shdbinst.exe без указания параметров

вызов утилиты - cd C:\UCS\StoreHouse_5\Shdbinst

Создание новой БД:

Shdbinst.exe /sSDBSERV /fC:\UCS\StoreHouse_5\Database\SH5DB  /i22 /tC:\UCS\StoreHouse_5\Database\SH5DBLog /aAdmin /d"New db" /uAdmin /lC:\UCS\StoreHouse_5\Server\shcrtdb64.dll 
Восстановление БД:
Shdbinst.exe /sSDBSERV /fC:\UCS\StoreHouse_5\Database\SH5DB /i22 /tC:\UCS\StoreHouse_5\Database\SH5DBLog /aAdmin /d"Restore db" /uAdmin /bC:\UCS\StoreHouse_5\Backup\backup.bkp
Обновление БД:
Shdbinst.exe /sSDBSERV /fC:\UCS\StoreHouse_5\Database\SH5DB /i22 /tC:\UCS\StoreHouse_5\Database\SH5DBLog /aAdmin /d"Update db" /uAdmin /bC:\UCS\StoreHouse_5\Backup\backup.bkp /lc:\UCS\StoreHouse_5\Server\shcrtdb64.dll 
или
Shdbinst.exe /s127.0.0.1 /fC:\UCS\StoreHouse_5\Database\SH5DB /i1024 /tC:\UCS\StoreHouse_5\Database\SH5DBLog /aAdmin /d"Update db" /uAdmin /lc:\UCS\StoreHouse_5\Server\shcrtdb64.dll 

6.3. Errors

code description
0 OK
1 parameter is set wrong
2 parameter is not found
3 error in domm.dll initialization
4 error in sdbcli.dll initialization
5 error in domm.dll procedure execution
6 error in sdbcli.dll procedure execution
7 unknown error
8 user aborted operation

7. Start and use


Для запуска сервера необходимо запустить  Sdba и Sdbserv через командную строку.

7.1. As service Sdba

Пример команды: C:\UCS\StoreHouse_5\Shdbinst>C:\UCS\StoreHouse_5\Server\Sdba64.exe /s

7.2. as service Sdbserv

Пример: C:\UCS\StoreHouse_5\Shdbinst>c:\UCS\StoreHouse_5\Server\SdbSrv64.exe /s /nSDBSERV
 
Проверить запустились сервисы или нет можно в процессах (в диспетчере задач)

7.3. New instance of server

Новый сервер создается в том случае, если вам нужно больше одного экземпляра.

В этом случае нужно создать ветку в корневом разделе HKLM\SOFTWARE\UCS\Sdbserv.2 с названием, соотв. названию экземпляра сервера и создать в этой ветке требуемые параметры сервера
 
Пример раздела реестра с параметрами для экземпляра сервера SDBSERV:
[HKEY_LOCAL_MACHINE\SOFTWARE\UCS\Sdbserv.2\SDBSERV]
"bkppath"="C:\\UCS\\StoreHouse_5\\Backup"
"bkpprms"=dword:00000001
"dbfile"="C:\\UCS\\StoreHouse_5\\Database\\SH5DB"
"dblog"="C:\\UCS\\StoreHouse_5\\Database\\SH5DBLog"
"lgprms"=dword:00000003
"libpath"="C:\\UCS\\StoreHouse_5\\Server"
"logfile"="C:\\UCS\\StoreHouse_5\\Server\\SrvLog.log"
"nplist"=dword:00000003
"params"=dword:00000000
"threads"=dword:00000001

Важно:  l.ucs.ru:60606

Ключ "SOFTWARE\\UCS\\Sh.5" должен содержать строковый параметр "dmalib", в кот. должен быть прописан полный путь к shadm.bpl

7.4. Registry parameters setup

Параметры сервера

Общие серверные параметры

Серверные параметры хранятся в ветке HKLM\SOFTWARE\UCS\Sdbserv.2 (корневая ветка)
 
 
Примечание: Если при запуске сервера не указано имя экземпляра (параметр /n), используется ветка HKLM\SOFTWARE\UCS\Sdbserv.2\SDBSERV
 
 
Параметры, доступные в корневой ветке HKLM\SOFTWARE\UCS\Sdbserv.2:

Параметры экземпляра сервера

Параметры конкретного экземпляра сервера хранятся в ветке HKLM\SOFTWARE\UCS\Sdbserv.2\<Имя_экземпляра_сервера>
 
Параметры, доступные в ветке экземпляра сервера:
 
Общие параметры сервера

Если не выставлен флаг AutoRepair  и обнаружена незавершенная транзакция, то

 Параметры протоколирования
 
Прочие параметры
struct {
BYTE  Type;   // Тип копирования (0-отключить автоматическое резервное копирование; 1-включить)
BYTE  Period; // Периодичность в днях минус 1 [1, 256]
WORD  Time;   // Время в минутах [00:00, 23:59]
}

Параметры клиента

Параметры клиента хранятся в корневой ветке HKLM\SOFTWARE\WOW6432Node\UCS\Sh.5 (x64) или HKLM\SOFTWARE\WOW6432Node\UCS\Sh.5 (x86):
 
  • dmalib (строковый) - полный путь к shadm.bpl (обязательный параметр)
  • dmlgnt (DWORD)  - тип логина (необязательный параметр, по умолчанию 0)

Может принимать значения:

  • 0 - отображать диалог логина с выбором типа аутентификации
  • 1 - отображать диалог логина только с типом аутентификации через сервер
  • 2 - отображать диалог логина только с типом аутентификации через Windows
  • 3 - в случае, если в списке серверов прописан только один сервер, производится аутентификация через Windows, при ошибке выдается сообщение об ошибке; если кол-во серверов не равно 1, диалог как при типе логина 0
  • 4 - в случае, если в списке серверов прописан только один сервер, производится аутентификация через Windows, при ошибке показывается диалог логина с выбором типа аутентификации; если кол-во серверов не равно 1, диалог как при типе логина 0
  • dmsrvs (строковый) - список серверов
  • dmsrva (строковый)  - список псевдонимов серверов
  • dmusrm (DWORD) - макс. хранимое кол-во пользователей (необязательный параметр, по-умолчанию 5)
  • dmsrvm (DWORD) - макс. хранимое кол-во доп. серверов, введенных вручную (необязательный параметр, по-умолчанию 5)
  • dmopts (DWORD) - битовая маска нижеперечисленных параметров (необязательный параметр, по умолчанию 0):
  • dmRegOptionsEnableExServers=1  - разрешить ручной ввод серверов

8. Upgrade StoreHouse_5


Для обновления StoreHouse_5 вам необходимо запустить инсталятор. В окне выбора действия выберите обновление.

Выберите нужный вам экземпляр сервера и нажмите далее.

Затем вы увидите окно выбора файла бэкапа. 

Если вам необходимо создать файл бэкапа, то зайдите в утилиту Sdbman.exe в каталоге Storehouse_5\Client\. Затем выберите пункт «Обслуживание», подпункт «Резервное копирование». И выполните бэкап.

Теперь когда вы выбрали нужный бэкап и перешли на следующую страницу, система предложит вам список компонентов для обновления.

Выбираем компоненты и нажимаем «Далее».

На следующем экране вы увидите параметры сервера, который вы собираетесь обновлять.

Нажимаем «Далее» и переходим на экран настроек базы данных. 

Нажимаем «Далее» и перходим к экрану «Подготовка к установке».  Так сервер StoreHouse_5 работает как служба, то необходимо будет остановить приложения. Для этого выберите пункт «Автоматически закрыть эти приложения». Нажмите «Далее».  

После этого начнется процедура обновления.


9. Localization


9.1. Translation of SH5 user interface to some language goes in several steps.

9.1.1. Use localize.ucs.ru web site for translation of each file in project SH5 and get XLF files from there (download).

9.1.1.1. The list of subfolders (they also must have .xlf files inside each subfolder):

# path folder description (filename)
1 \Client\ dmctl.xlf en.xlf
2 \Client\ domm.xlf en.xlf
3 \Client\ dset.xlf en.xlf
4 \Client\ sdbcli.xlf en.xlf
5 \Client\ Sdbman.xlf en.xlf
6 \Client\ Sh.xlf en.xlf
7 \Client\ Shadm.xlf en.xlf
8 \Client\QUSH\MAN\ QushMan.XLF en.xlf
9 \SH5lic\ Sh5Licen.XLF en.xlf

9.1.1.2. In each folder you must have same quantity of .xlf files, as many languages you need (usually, only one file in each folder).

9.1.1.3. File names for one language must be the same in each folder (for example: en.xlf).

9.1.1.4. File name must be unique language name and .xlf extension.

9.1.2. Translate file shcrtdb.ini from \Server\ folder in advance (before creation of database).

9.1.3. Translate other XLF files in folders for additional modules.

9.1.4. Create DB as in 6.1. above.

9.1.5. Change language for application with one of the following ways.

9.1.5.1. Open Sh.ini file and set parameters LNGF= the same filenames as you had put to folders above.

[dmctl]
LNGF=en.xlf

9.1.5.2. Start application sh.exe and login, go to menu "Service"->"Language choice" and specify language file option. Restart application and check.

9.1.6. Do same as above for other applications, like Sdbman.exe, with other files.

9.1.7. Translate Sh.rpt file in \Client\ folder for reports.

9.1.7.1. Put this file to folder \Client\Sh.rpts\ + subfolder of the same language name as chosen above (for example, \en\ )

9.1.7.2. In case you will make several languages, there will be several subfolders in \Sh.rpts\

9.1.8. Translate all .fr3 files (report layouts) in \Client\rpt\ folder.

9.1.8.1 Put all translated .fr3 files to the same folder with sh.rpt of this language (in example case: \Client\Sh.rpts\en\ subfolder).


10. Import from RK7


10.1. This application (for import settings) QushMan.exe and its server QushSvc.exe (install as service) used for RK7 and Subscription UCS systems.

10.2. Server QushSvc.exe

10.2.1. Server default location in subfolder \Client\QUSH\SVC\

10.2.2. Server settings are stored in OS registry, they are of string type (REG_SZ) in path "HKEY_LOCAL_MACHINE\Software\Ucs\Qush\[service_name]" (or extra 64-bit "Software" + "\Wow6432Node").

# name description value
1 DataPath folder with server files default is: [service_name].dat subfolder
2 LogLevel detail level for log 0 - 2 ; default: 1
3 TimeoutSQL waiting for SQL server response, in seconds default: 120
4 AbonementProvider DB provider for Subscription system data IBProvider is default
5 AbonementConnect Subscription system DB connection string Location=%0:s:%1:s;User ID=%2:s;Password=%3:s;Integrated Security=NONE
6 RkeeperProvider RK7 database provider SQLOLEDB is default; may change to SQLNCLI11

10.2.3. Server may take parameters from command line

# parameter description
1 /Install install as OS service
2 /Uninstall delete service from OS
3 /Desktop start as application with tray icon
4 /Silent   do not show cmd on install or uninstall
5 /Name:Qush service_name
6 /Port:8087 TCP port for this server

10.3. Client for import settings QushMan.exe

10.3.1. Default location in folder  \Client\QUSH\MAN\

10.3.2. Set up QushMan.ini file

Server = 127.0.0.1
Port = 8087    
Egais = 0
Mercury = 0

10.3.2.1. Leave "Egais" and "Mercury" =0 (those for Russia).

10.3.3. Start QushMan.exe and manage settings inside.