Глава 3. Настройка СБиС++ для многопользовательской работы Общие вопросы установки и запуска программы ........................................ 1 Шаг 1. Установка Pervasive.SQL на сервере. ............................................... 2 Шаг 2. Установка СБиС++ на сервере ........................................................ 2 Шаг 3. Формат файла sbis.ini...................................................................... 3 Шаг 4. Установка клиента СУБД Pervasive SQL ............................................ 4 Шаг 5. Установка СБиС++ на клиентском месте ......................................... 4 Шаг 6. Настройка доступа к файлу и серверу лицензий .............................. 5 Приложение.Синхронизация файлов .......................................................... 6 Функциональные возможности утилиты .................................................................6 Типы запуска утилиты синхронизации ...................................................................7 Формат файла fsynchro.ini ......................................................................................8 Параметры ini-файла ..............................................................................................9 Пример ini-файла ................................................................................................. 13 Сообщения об ошибках ........................................................................................ 13 Общие вопросы установки и запуска программы Установка многопользовательской версии «СБиС++ Электронная отчетность» практически повторяет все шаги установки любой программы СБиС++. Ниже мы приведем основные термины для понимания процесса установки сетевой версии «СБиС++». Система управления базами данных (СУБД) Pervasive.SQL - программный продукт для организации транзакционных баз данных. Позволяет управлять, объединять, анализировать и защищать секретные данные. СУБД Pervasive.SQL необходима для реализации сетевой работы СБиС++. СБиС++ на сервере – содержит общий для всех пользователей каталог базы данных и эталонный каталог программы, с которым с помощью файла fsyncro.exe при каждом запуске сравнивается программа на клиентском месте. СБиС++ на клиентском месте – устанавливается на каждое клиентское место и при работе обращается к базе данных на сервере. Взаимодействие этих элементов можно отразить в виде следующей схемы: 1 Глава 3. Настройка СБиС++ для многопользовательской работы Опишем основные шаги и подробнее рассмотрим сетевые настройки программы, которые задаются в файле sbis.ini. Шаг 1. Установка Pervasive.SQL на сервере. Для работы с многопользовательской версией СБИС++ необходимо сначала на сервере установить систему управления базами данных Pervasive.SQL согласно инструкции (Руководство по администрированию, глава «Работа с Pervasive.SQL»). Шаг 2. Установка СБиС++ на сервере 1. Установите с диска СБиС++ на сервер. Для этого используйте специальные дистрибутивы. Для СБиС++ Электронная отчетность это будет sbis-setup-ESIGN-NET-INST.exe. Дистрибутивы для установки других сетевых продуктов СБиС++ можно скачать с сайта http://sbis.ru/. 2. Установка многопользовательской версии устанавливается по аналогии с однопользовательской. По умолчанию предлагается установить программу в каталог "sbis". 3. Откройте общий доступ на чтение к каталогу «СБиС++ клиент» на сервере. К каталогу базы данных (db) откройте доступ на чтение и запись. 2 Шаг 3. Формат файла sbis.ini Советуем не менять название каталога. Если вы все же решили установить СБиС++ в другой каталог, то обратите внимание на то, что каталог лучше называть латинскими буквами, в силу того, что некоторые версии Pervasive.SQL (например, Pervasive.SQL v9) не воспринимают русские буквы. Также не рекомендуется допускать пробелы в названии каталога с программой. Шаг 3. Формат файла sbis.ini После того, как была установлена программа на сервере, необходимо проверить настройки параметров в файле sbis.ini, отвечающие за сетевой режим работы. Файл с настройками должен выглядеть примерно следующим образом: [Базовая конфигурация] БазаДанных=s:\sbis\DB Модули=Модули СетевойРежим=ДА РазделяемыеМодули=ДА РазделяемыеНастройки=ДА ПоУмолчанию=ДА Настройки=S:\sbis\cfg\%COMPUTERNAME% Джинн=jinnee\jinnee.exe Особенно следует обратить внимание на параметры: «Сетевой режим», «РазделяемыеМодули» и «РазделяемыеНастройки», которые должны принимать значения «Да». Если при настройке СетевойРежим=Да, установить РазделяемыеМодули=Нет, доступ к ресурсам останется монопольным. При этом ресурсы будут доступны только для пользователя, который первым запустил СБиС++ и данную конфигурацию. Для остальных пользователей доступ к ресурсам из СБиС++ будет закрыт. Подробное описание параметров приводится в главе «Структура комплекса» данного руководства. 3 Глава 3. Настройка СБиС++ для многопользовательской работы Шаг 4. Установка клиента СУБД Pervasive SQL 1. Установите и настройте клиента Pervasive SQL. Процедуру подключения выполняйте согласно инструкции, описанной в главе «Работа с Pervasive.SQL» данного руководства. 2. Процедуру установки выполните на каждом клиентском месте. Если компьютер, на котором установлен сервер СУБД, будет использоваться в качестве клиентской машины, клиентский Pervasive.SQL на него устанавливать не нужно. Шаг 5. Установка СБиС++ на клиентском месте Следующим шагом будет подключение СБиС++ на клиентских местах. 1. Подключите сетевой диск с каталогом программы на всех рабочих местах пользователей и настройте его так, чтобы он всегда подключался автоматически. 2. Запустите с сетевого диска файл sbis-setup-CLIENT-EO.exe и установите СБиС++ на клиентском месте. При этом на компьютер пользователя добавляется ярлык для запуска программы синхронизации. 3. Укажите путь к исполняемому файлу программы синхронизации СБиС++ fsynhro.exe. Он служит для синхронизации СБиС++ на клиентском месте с каталогом «СБиС++ клиент» на сервере. Если вы не знаете, где находится данный файл, найдите его с помощью кнопки «Обзор». 4. Следуя указаниям мастера, завершите установку СБиС++ на клиентском месте. Повторите установку на всех клиентских местах. 5. Запустите программу СБиС++ на клиентском месте. Произойдет синхронизация файлов со СБиС++ на сервере. При выполнении этого процесса происходит следующее: файлы программы, установленные на клиентском месте, сравниваются (по дате и времени) с файлами на сервере. И если они не идентичны, то происходит обновление файлов 4 Шаг 6. Настройка доступа к файлу и серверу лицензий на клиентском месте. Проверка происходит каждый раз при подключении к программе. Шаг 6. Настройка доступа к файлу и серверу лицензий Для многопользовательской версии «СБиС++ Бухгалтерия» адрес сервера лицензий указывается в файле sbis-LicServ.ini, который создаётся при запуске утилиты в том же каталоге, что и файл sbis-LicServ.exe. Задание параметров в этом файле и обеспечивает взаимодействие защищённой программы с сервером лицензий. [ Лицензии ] КаталогЛицензий=Лицензии АдресСервера=sbis-server:25678 Как правило, значения, указанные для этих параметров, используются как значения по умолчанию. Надо скопировать значение параметра «АдресСервера» и указать это значение у параметра «СерверЛицензий» в файле sbis.ini: [Базовая конфигурация] БазаДанных=DB Модули=Модули ПоУмолчанию=ДА ... СерверЛицензий=sbis-server:25678 По умолчанию, файл лицензии находится в каталоге «Лицензии» в каталоге «Сервер лицензий». Для хранения файла лицензии может использоваться любой другой каталог. Но мы всё же рекомендуем использовать каталог «Лицензии». Если же выбран другой каталог, не забудьте прописать полный путь к этому каталогу в файле sbisLicServ.ini (параметр «КаталогЛицензий»). Эти же настройки можно выполнить непосредственно в программе СБиС++, запустив исполняемый файл sbis.exe, в каталоге установленной программы на сервере. 5 Глава 3. Настройка СБиС++ для многопользовательской работы В задаче «Администратор» в окне выбора конфигураций запуска («Главное меню/Настройка программы/ Конфигурации запуска программы») нажмите кнопку «Изменить», выделив предварительно нужную конфигурацию: Рис. 3-1 – Настройка конфигурации запуска программы В появившемся окне в поле «Сервер лицензий» укажите адрес сервера и, если необходимо, то и новый путь доступа к файлу лицензии. Приложение.Синхронизация файлов При многопользовательском режиме работы обновления данных происходит на сервере. При запуске СБиС++ на клиентских местах программа сравнивает эти данные с информацией на локальном компьютере и в случае несовпадения обновляет ресурсы. Происходит это с помощью программы синхронизации файлов FSynchro. Запуск утилиты синхронизации файлов осуществляется с помощью файла fsynchro.exe. Функциональные возможности утилиты 1. 6 Утилита предназначена для синхронизации каталога-источника, расположенного на сервере, с каталогом-приёмником, расположенном на рабочем месте пользователя. Приложение.Синхронизация файлов Во время синхронизации файлы упомянутых выше каталогов считаются идентичными, если время их создания совпадает. Точность определения времени создания составляет 2 секунды. Поэтому файлы, имеющие разницу во времени создания менее 2х секунд также являются идентичными. 2. В целях уменьшения времени запуска программы, есть возможность не сравнивать полностью все файлы каталога-источника и каталогаприёмника, а ограничиться только корневым каталогом и/или дополнительными явно указанными файлами. Как накладываются данные ограничения, будет сказано чуть позже. 3. Кроме непосредственно синхронизации, утилита обладает возможностью производить запуск дополнительных команд и процессов после окончания процесса синхронизации. Как реализуется данная возможность, будет сказано чуть позже. Типы запуска утилиты синхронизации Для правильного выполнения синхронизации используются параметры, прописанные в ini-файле. Вследствие этого, возможны следующие типы запуска программы FSyncro: Без параметра (fsynchro.exe). В качестве конфигурационного будет использоваться файл с именем fsynchro.ini, т.е. все значения параметров будут браться из этого файла. Если данного файла не существует, то принимаются значения параметров по умолчанию. В качестве аргумента может передаваться ini-файл с другим именем (fsynchro.exe test.ini). В этом случае, значения параметров будут браться из этого файла. Недостающие значения параметров будут браться по умолчанию. С аргументом g (fsynchro.exe /g). В этом случае, в каталоге с утилитой fsynchro.exe (в нашем случае, это каталог C:\sbis\СБиС++ Клиент) будет создан файл fsynchro.ini, содержащий значения параметров по умолчанию. После успешного выполнения данной команды последует сообщение: 7 Глава 3. Настройка СБиС++ для многопользовательской работы Если данный файл на момент запуска утилиты уже существовал, он будет заменен вновь созданным. С аргументом h (fsynchro.exe /h). Используется для вывода в программе основной информации (в кратком изложении) о режимах запуска утилиты, перечисленных выше. Формат файла fsynchro.ini Типовая настройка файла fsynchro.ini выглядит следующим образом: [Основные параметры] #КаталогИсточник= #КаталогПриемник= #ПроверятьЗапущеноЛиУже= #СниматьReadOnly= #УдалятьНенужныеФайлы= #Выполнить= #КоманднаяСтрока= #ВопросПриОшибке= #ВыводитьСтатистикуСинхронизации= [Игнорировать] fsynchro.err fsynchro.out fsynchro.exe [Обновлять] [СтрогоСинхронизировать] Модули [Вырезать] [Пропустить существующие] [Проверить пары] [Оформление] 8 Приложение.Синхронизация файлов #ФоноваяКартинка= По умолчанию файл fsynchro.ini не создаётся. Поэтому, чтобы узнать или изменить параметры по умолчанию, прописанные в этом файле, необходимо его создать. Чтобы знать, какое значение может принимать тот или иной параметр, необходимо узнать назначение каждого из перечисленных выше параметров. Параметры ini-файла Все параметры, можно условно разделить на группы: [Основные параметры] КаталогИсточник - путь к каталогу - источнику файлов. Каталог должен обязательно существовать. Если путь не указан, то в качестве каталога берётся тот, в котором находится файл fsynchro.exe. КаталогПриемник - путь к каталогу - приёмнику файлов. Если данного каталога не существует, то он будет создан. По умолчанию предполагается каталог <c:\СБиС++ Клиент>. В этом параметре допускается использование переменных окружения среды. Чтобы выполнить синхронизацию в домашний каталог пользователя, необходимо написать так: КаталогПриёмник=%HOMEDRIVE%%HOMEPATH%\ SBIS_20_CLIENT ПроверятьЗапущеноЛиУже – имя файла приложения, которое может быть уже запущено в системе. По умолчанию предполагается, что это sbis.exe. Если нашли запущенное приложение, то синхронизация выполняться не будет, и появится соответствующее предупреждение. Необходимо указывать полный путь к приложению. При указании относительного пути предполагается, что приложение находится в каталоге - приёмнике. СниматьReadOnly - если <да>, то в случае наличия атрибута ReadOnly (только на чтение) у файла-источника, у файла-приёмника он будет снят. По умолчанию предполагается <да>. УдалятьНенужныеФайлы – если <да>, то будут удалены все файлы в каталоге-приёмнике, которых нет в каталоге-источнике. По умолчанию предполагается <да>. 9 Глава 3. Настройка СБиС++ для многопользовательской работы Выполнить - команда, которая выполниться по окончании процедуры синхронизации файлов. Если запускается процесс из exe-файла, то расширение этого файла нужно обязательно указывать. Если не указывается расширение, то будет запущен другой файл с таким именем, но другим расширением, если таковые имеются в каталоге. При указании относительного пути к приложению предполагается, что приложение находится в каталоге - приёмнике. По умолчанию, запускается <sbis.exe>. Командная строка – передаёт вызываемому файлу необходимые параметры. В этой строке передаются именно параметры, сам процесс запускается предыдущей командой. ВопросПриОшибке - если <да>, то при возникновении ошибок во время синхронизации выводится сообщение с запросом: запускать или нет приложение. Если <нет> - выводится сообщение об ошибке при синхронизации и ничего не запускается. По умолчанию, <да>. ВыводитьСтатистикуСинхронизации – если <да>, то в каталоге – приёмнике будет создан файл с именем fsynchro.out. В файл выводится информация о ходе выполнения синхронизации. По умолчанию такой файл не создаётся. [Игнорировать] Указывается список файлов и каталогов, которые не участвуют в синхронизации, причём каждое имя с новой строки. Необходимо заметить, что если в списке указано имя каталога, то и вложенные каталоги будут игнорироваться. Указывается либо полный путь к файлу, либо относительный. При указании относительного пути, будут игнорироваться файлы и каталоги как относительно пути источника, так и приёмника. Рекомендуется игнорировать файлы утилиты синхронизации: fsynchro.err и fsynchro.out. Если запускать утилиту синхронизации из каталога - источника, то рекомендуется прописать в список игнорируемых файлов ещё и fsynchro.exe. [Обновлять] Список файлов и каталогов, каждое имя с новой строки, которые необходимо синхронизировать. Синхронизируются все вложенные файлы и каталоги. Если оставить список пустым, синхронизации подлежат все файлы и каталоги. Необходимо отметить, что список «Игнорировать» имеет приоритет, то есть если каталог или файл указаны в списке «Игнорировать», 10 Приложение.Синхронизация файлов то независимо от списка «Обновлять» файлы, каталоги и все подкаталоги будут проигнорированы. [СтрогоСинхронизировать] Список файлов и каталогов, каждое имя с новой строки, которые необходимо синхронизировать, даже в том случае, если параметр «УдалятьНенужныеФайлы» принимает значение <нет>. То есть, удаляет лишние файлы в указанных каталогах независимо от параметра «УдалятьНенужныеФайлы». Необходимо отметить, что списки «Игнорировать» и «Обновлять» имеют приоритет. То есть, строгая синхронизация производится только в папках из списка «Обновлять», или из всего каталога - приёмника, если список «Обновлять» пуст. В каталогах списка «Игнорировать» синхронизация не производится никогда. По умолчанию всегда синхронизируется каталог «Модули». [Вырезать] Список файлов и каталогов, каждое имя с новой строки, которые не участвуют в синхронизации. Если перечисленные файлы присутствуют на источнике, то они игнорируются. Если файлы присутствуют на приемнике, то удаляются. Необходимо заметить, что если в списке указано имя каталога, то и вложенные каталоги и файлы игнорируются или удаляются, соответственно. Параметром является либо полный, либо относительный путь к файлам. По умолчанию, ничего не указывается. [Проверить существующие] Указываются имена файлов, которые необходимо копировать, если они отсутствуют в каталоге - приёмнике и пропускать, если уже существуют. При указании относительного пути, сравниваем файлы по указанному пути относительно источника и приёмника. По умолчанию ничего не выполняется. [Проверить пары] Указываются имена файлов с различными именами, но с одинаковым содержанием. Пары задаются как имя файла-приёмника = имя файлаисточника. При указании относительного пути, будут сравниваться файлы по указанному пути, относительно источника и приёмника соответственно. Пример: sbis.exe=sbis.ex. По умолчанию проверка не выполняется. [Оформление] 11 Глава 3. Настройка СБиС++ для многопользовательской работы Фоновая картинка – указывается имя файла (с расширением «.dll» или sbis.exe), в ресурсах которого содержится картинка фона утилиты синхронизации. После символа указывается идентификатор ресурса (по умолчанию <101>). Имя файла и идентификатор должны быть разделены символом '#'. При указании относительного пути предполагается использование каталога-источника. По умолчанию используется картинка <sbis.exe#101>. Переменные среды Помимо указанных значений по умолчанию в инициализационном файле, допускается использование следующих макроопределений: %USERNAME% - текущее имя пользователя. %HOMEPATH% - домашний каталог пользователя. %SRCPATH% - значение переменной КаталогИсточник %DESTPATH% - значение переменной КаталогПриемник 12 Приложение.Синхронизация файлов Пример ini-файла [Основные параметры] КаталогИсточник="N:\Client\SBIS_20_CLIENT" КаталогПриемник="C:\SBIS_20_CLIENT" ПроверятьЗапущеноЛиУже=sbis.exe СниматьReadOnly=да УдалятьНенужныеФайлы=да Выполнить="sbis.exe" КоманднаяСтрока="/user:ИВАНОВ /pass:1" ВыводитьСтатистикуСинхронизации=нет [Игнорировать] fsynchro.err fsynchro.out [Пропустить существующие] [Проверить пары] sbis.exe=sbis.ex [Оформление] ФоноваяКартинка=sbis.ex#101 Сообщения об ошибках В процессе выполнения сравнения и обновления файлов могут возникать ошибочные ситуации, которые требуют выяснения причин их возникновения и выработки соответствующих решений для их исправления. : Невозможно определить путь-приемник в секции [Проверить пары] : Невозможно создать каталог <название каталога> : Неверное имя каталога <название каталога> : Ошибка <код ошибки> удаления файла <путь к файлу> : Ошибка <код ошибки> создания каталога <путь к каталогу> 13 Глава 3. Настройка СБиС++ для многопользовательской работы : Ошибка копирования файла <путь к файлу>. Путь в каталоге-приемнике слишком длинный : Ошибка копирования файла <путь к каталогу> в <путь к каталогу> : Ошибка <код ошибки> чтения атрибутов файла <путь к файлу> : Ошибка <код ошибки> выполнения команды <команда> рабочий каталог <путь к каталогу> : Ошибка в файле инициализации : Ошибка, не задан путь к каталогу приемнику. Синхронизация невозможна. : Ошибка, не указан путь к каталогу источнику. Синхронизация невозможна. : Каталог источник <путь к каталогу> не существует, синхронизация невозможна. : Сетевой путь <путь к каталогу> не найден : Ошибка <код ошибки> доступа к каталогу источнику <путь к каталогу>, синхронизация невозможна : Приложение уже запущено, синхронизация невозможна При запуске процесса может возникать данное сообщение. В этом случае необходимо проверить, не запущена ли уже программа СБиС++ и, в случае положительного ответа, закрыть её. Если вы уверены, что программа не запущена, проверить, не заблокированы ли те файлы, которые необходимо обновить. 14