Для групповой разработки конфигурации в системе «1С:Предприятия» 8.3 используется хранилище конфигурации. Доступ разработчиков к хранилищу конфигурации может осуществляться по локальной сети (файлы базы данных располагаются на общем сетевом ресурсе), по протоколу tcp или http. Для последних двух вариантов необходима установка сервера хранилища конфигураций. Сервер хранилища конфигураций в свою очередь представляет собой сетевую службу, по умолчанию «слушающую» порт 1542 и обеспечивающую взаимодействие клиентских приложений (конфигуратора) с базой данных хранилища конфигурации. Одна служба может обслуживать несколько хранилищ конфигураций. Об установке сервера хранилища конфигураций системы «1С:Предприятия» 8.3 (справедливо и для версии 8.2) в ОС семейства Windows (в текущем примере — Microsoft Windows Server 2012 R2) и пойдет речь в данной статье.
0. Оглавление
- Настройка каталога баз данных хранилища конфигураций
- Установка файлов сервера хранилища конфигураций
- Регистрация и запуск службы сервера хранилища конфигураций
- Добавление правила в брандмауэр Windows
- Создание нового хранилища конфигурации
- Публикация хранилища конфигурации на веб-сервере IIS
1. Настройка каталога баз данных хранилища конфигураций
Сервер хранилища конфигураций следует устанавливать на том же компьютере, где будут располагаться файлы баз данных хранилища. Поэтому прежде всего определим центральный каталог сервера, в котором будут храниться файлы всех хранилищ, которых будет обслуживать данный сервер. Пусть в рамках данной статьи это будет каталог C:\1C_BASE\repository\. Также следует определить учетную запись Windows, из под которой будет происходить запуск соответствующей службы. Можно создать нового пользователя, или использовать существующую учетную запись Windows. В данном примере будем использовать локального пользователя USR1CV8 с паролем UsrPass8. Необходимо установить полные права для данного пользователя на центральный каталог сервера хранилища конфигураций.
2. Установка файлов сервера хранилища конфигураций
На момент написания статьи сервер хранилища конфигураций существовал только как 32-разрядное приложение. Поэтому для установки файлов сервера необходим 32-разрядный дистрибутив системы «1С:Предприятия» 8.3 для Windows. Запускаем файл 1CEnterprise 8.msi из дистрибутива поставки 1С. На странице выбора компонент выбираем компоненту «Сервер хранилища конфигураций 1С:Предприятия» (1C:Enterprise configuration repository server), а также запоминаем путь установки компоненты.
3. Регистрация и запуск службы сервера хранилища конфигураций
Программа установки лишь копирует файлы сервера хранилища конфигураций в указанный каталог. Регистрацию соответствующей службы необходимо произвести вручную выполнив команду вида:
crserver.exe -instsrvc | -rmsrvc -usr <пользователь> -pwd <пароль> -start | -stop -port <порт> -d <каталог>
Параметры запуска сервера хранилища конфигураций crserver.exe сходны с параметрами запуска агента сервера «1С:Предприятия»:
Параметр | Описание |
---|---|
-port <порт> | Рабочий порт сервера хранилища. По умолчанию используется порт 1542. |
-d <каталог> | Корневой каталог для хранилищ конфигурации. По умолчанию используется каталог %APPDATA%\1C\1Cv8\. |
-instsrvc | Регистрация сервера хранилища как сервиса. |
-rmsrvc | Удаление регистрации сервера хранилища как сервиса. |
-usr <имя> -pwd <пароль> |
Имя пользователя, от имени которого будет зарегистрирован сервис. Этот пользователь должен обладать правом Вход в систему как сервис (Log on as a service). Кроме этого, он должен обладать правами на чтение каталога исполняемых файлов соответствующей версии системы «1С:Предприятие» и полными правами на корневой каталог хранилища конфигурации (каталог %APPDATA%\1C\1Cv8\ или тот каталог, который указан в параметре —d) и пароль для данного пользователя. |
-start | Запуск сервиса сервера хранилища. |
-stop | Остановка сервиса сервера хранилища. |
Зарегистрируем новый сервис с помощью программы Windows PowerShell, запустить которую можно выполнив команду powershell (для этого необходимо нажать комбинацию клавиш Win + R, в появившемся окне «Выполнить» (Run) ввести имя команды в поле «Открыть» (Open) и нажать «ОК») или кликнув по соответствующему ярлыку в панели задач.
В открывшейся консоли Windows PowerShell, для удобства ввода дальнейших команд перейдем в каталог bin каталога с установленными файлами «1С:Предприятия» выполнив команду
cd "C:\Program Files (x86)\1cv8\8.3.5.1088\bin"
Затем, в рамках данного примера, выполним команду
.\crserver.exe -instsrvc -d C:\1C_BASE\repository -usr .\USR1CV8 -pwd UsrPass8
и запустим службу выполнив
.\crserver.exe -start
Перейдем в оснастку службы (запустить которую можно выполнив команду services.msc) и убедимся что служба с именем 1C:Enterprise 8 Configuration Repository Server зарегистрирована и запущена.
4. Добавление правила в брандмауэр Windows
Для того чтобы сервер хранилища конфигураций был доступен другим компьютерам в сети, необходимо добавить используемый сервером порт 1542 в исключения Брандмауэра Windows (Windows Firewall). Подробно об этом читайте в статье «Добавление правила в Брандмауэр Windows Server 2012 R2».
5. Создание нового хранилища конфигурации
Как я уже говорил ранее, один сервер может обслуживать несколько хранилищ конфигурации. Файлы баз данных каждого из хранилищ должны располагаться в отдельном каталоге центрального каталога сервера хранилища конфигураций. Таким образом для создания нового хранилища, создадим в каталоге C:\1C_BASE\repository\ папку Accounting в которой будет располагаться файлы нового хранилища конфигурации.
Тогда для создания и подключения к данному хранилищу необходимо будет использовать строку tcp://WIN2012/accounting, где WIN2012 — сетевое имя компьютера, на котором установлена служба, либо строку tcp://192.168.0.10/accounting, где 192.168.0.10, соответственно, IP-адрес данного компьютера. Подробно про создание нового хранилища можно прочитать в статье «Создание хранилища конфигурации в системе «1С:Предприятия» 8».
К созданному таким образом хранилищу также возможно будет подключаться и в обход сервера, например по пути C:\1C_BASE\repository\Accounting на текущем компьютере или по пути \\WIN2012\repository\Accounting если настроить общий доступ к каталогу C:\1C_BASE\repository на данном сервере.
6. Публикация хранилища конфигурации на веб-сервере IIS
Для обращения к хранилищу конфигураций по протоколу http необходимо выполнить публикацию хранилища конфигурации на веб-сервере. Об этом читайте в статье «Публикация сервера хранилища конфигураций «1С:Предприятия» 8 на веб-сервере IIS в ОС семейства Windows».
Виталий, а можно ли установить две разные версии сервера хранилища на одном сервере? Если можно, то как это реализовать?
Да, конечно можно. Вам только необходимо разнести версии хранилища по разным портам и изменить название типовой службы.
В общем, действия аналогичны установки двух служб сервера 1С. Вот, например, хорошая инструкция: http://infostart.ru/public/125933/
Привет, Виталий. Искал про запуск на http, не увидел. Что там нужно на http серверве включить?
Привет.
Вот есть подробная инструкция: http://tavalik.ru/publikaciya_hranilischa_1c_8_na_iis/
Создайте bat или cmd файл с таким содержанием с учетом вашей конфигурации.
sc create «1C:Enterprise 8.3 Configuration Repository Server 8.3.12.1595» binpath= «»»»C:\Program Files (x86)\1cv8\8.3.12.1595\bin\crserver.exe»»» -srvc -port 1542 -d «»»D:\Repository»»»» DisplayName= «1C:Enterprise 8.3 Configuration Repository Server 8.3.12.1595» start= auto
Служба сразу появится в оснастке и не надо перезапускать сервер. Три кавычки это не ошибка. А потом в оснастке можете поменять пользователя.
Можно ли перенести файловое хранилище конфигурации на сервер хранилищ конфигураций? Хотелось бы не создавать хранилище на сервере, а загрузить уже имеющееся файловое, чтоб сохранить историю версий изменения конфигурации.
Да, конечно. Просто копируете старое хранилище в рабочий каталог сервера хранилищ конфигураций. После чего оно будет доступно на сервере.
Добрый день! У меня не стартует 1C:Enterprise 8 Configuration Repository Server и в службах его нет. Что может быть?
Здравствуйте. Чтобы в «службах» появилась данная служба, ее необходимо зарегистрировать вручную, командой crserver.exe -instsrvc.
Вы выполняли данный пункт?
Ограничение на размер файла хранилища в 4Гб так же будет присутствовать? Как с этим бороться на больших конфигурациях типа УПП?
В последних версиях платформы проблема ограничения в 4 Гб вроде бы решена. В любом случае, всегда можно сократить хранилище до определенной версии в истории хранилища.
(По сравнению с ERP, УПП маленькая конфигурация. И даже в ERP проблем с хранилищем пока не возникало)
Подскажите пожалуйста есть ли разница между файловой и sql базой для подключения к хранилищу, какой вариант лучше для разработчиков которые будут вносить изменения?
С точки зрения использования хранилища, как системы контроля версий, никакой разницы, какая информационная база подключена (файловая или серверная) нет.
Добрый вечер! Как найти утерянное хранилище на сервере?
Добрый день. Не совсем понимаю, что значит «утерянное»? В конечном итоге хранилище — это все равно файловая база, с именем «1cv8ddb.1CD».
То есть отвечая на ваш вопрос — необходимо зайти на сам сервер и поискать файлы с таким названием.
При работе с файловой версией хранилища с большим количеством разработчиков часто возникает ошибка совместного доступа. Умеет ли сервер хранилища управлять очередью подключений?
Здравствуйте.
Да, все верно, при работе с файлом хранилища напрямую, много проблем с совместным доступом к файлам. При работе через сервер хранилища таких проблем не наблюдается. Всем рекомендую не лениться, а поднимать сервер хранилища.
Здравствуйте Виталий,
У меня установлен windows server 2016 и настроен файловый сервер, на котором расположен базы 1C. И полный права дано пользователем бухгалтерий к папке 1С. Они доменные пользователи.
Проблема возникает при выгрузке, сеть начинает висеть. Когда бухгалтеру нужно выгрузку сделать, они входить в конфигуратор 1С и там окно входа (логин и паролем) , туда они входить через пользователь администратор и делает выгрузку и после этого вес сеть зависает. Как можно решить эту проблему?
Спасибо,
Здравствуйте.
Тут проблема не в 1С, а вашей сети. Да, выгрузка данных заметно нагружает сеть, но с современного пропускной способностью сетей (100 Мбит, 1 и 10 Гбит) это не должно быть проблемой.
Как вариант, можете делать выгрузки самостоятельно (например регламентным заданием) на этом же сервере и выкладывать файл выгрузи на сетевой ресурс.
Добрый день, спасибо за ответ,
а может ли быт еще проблема в уровне доступа, Бухгалтер когда делает выгрузку, они входить в режим 1С конфигуратор с логинам администратор/пароль. а этот пользователь нету в active directory.
Может дать дополнительный права пользователей 1С на папку с 1С базы на файловым сервере. Здесь не знаю надо ли создать идентичный пользователь администратор (как в 1С) в домене, либо есть уже группы сервисных пользователей на AD (network admin или operator admin)?
Спасибо,
Нет. Это не поможет. Разбирайтесь с сетью.
Добрый день, благодарю за ответ.
Дело в том когда я сделал everyone/full access проблема исчез, а когда вернул обратно доступ только пользователям бухгалтерий опять проблема возник. Просто я не могу определить к какому группу относиться на домене внешние сервисные пользователь администратор 1С? чтобы тока ему предоставить доступ а не на everyone?
Спасибо,