Подключение базы к хранилищу конфигурации 1С 8.3: адрес, права, первый захват
Содержание
Подключиться к хранилищу 1С можно только из Конфигуратора: Конфигурация → Хранилище конфигурации → Подключиться к хранилищу.... В окне укажите путь к хранилищу (папку, tcp:// или http:// адрес), имя и пароль пользователя хранилища и нажмите «ОК». Платформа загрузит в вашу базу конфигурацию из хранилища, после чего объекты можно захватывать и помещать.
Механизм хранилища — часть платформы 8.3, а не конфигурации: в БП, ЗУП, УТ и ERP подключение к хранилищу выглядит одинаково. Отличается только время загрузки: типовая БП подтягивается за минуты, ERP заметно дольше.
Что подготовить до подключения к хранилищу
Хранилище конфигурации — это отдельная база, где лежит общая конфигурация и история её версий. К нему подключаются информационные базы разработчиков. Каждый работает в своей базе, а изменения проходят через хранилище.
Перед подключением соберите четыре вещи:
- 📁 адрес хранилища — путь к папке, адрес сервера хранилища или веб-публикации;
- 👤 пользователя хранилища и пароль. Это не пользователь информационной базы, а отдельная учётная запись внутри хранилища;
- 🔑 права администратора в своей базе — без них Конфигуратор не откроется;
- 🧩 версию платформы — для подключения через сервер хранилища она должна совпадать с версией сервера.
При подключении конфигурация вашей базы будет заменена конфигурацией из хранилища. Если в базе есть доработки, которых нет в хранилище, они пропадут. Сделайте выгрузку перед подключением: Конфигурация → Сохранить конфигурацию в файл... (получите .cf) или выгрузку всей базы в .dt.
Три способа доступа к хранилищу
| Способ | Как выглядит путь | Когда подходит | Слабые места |
|---|---|---|---|
| Файловый | C:\Repo\Buh или \\srv\Repo\Buh | 1–2 разработчика в одной сети | нужен доступ на запись к папке всем; при обрыве сети на запись риск повредить хранилище |
| Сервер хранилища (TCP) | tcp://srv-1c/Buh или tcp://srv-1c:1542/Buh | команда, офис или VPN | нужна служба crserver той же версии, что и платформа |
| Веб-публикация (HTTP) | http://srv-web/repo/repository.1ccr | удалённые разработчики, доступ через интернет | нужен веб-сервер (Apache или IIS) и опубликованное хранилище |
Для команды от трёх человек берите сервер хранилища. Файловый вариант прост, но держится на правах к сетевой папке и стабильности сети.
Создание нового хранилища конфигурации
Если хранилища ещё нет, его создаёт ведущий разработчик из базы с эталонной конфигурацией. Эта база сразу оказывается подключённой к новому хранилищу.
Создание файлового или TCP-хранилища
- Откройте базу в режиме Конфигуратор и откройте конфигурацию:
Конфигурация → Открыть конфигурацию. - Выберите
Конфигурация → Хранилище конфигурации → Создать хранилище.... - Укажите путь: пустую папку на диске или
tcp://адрес сервера хранилища. - Задайте имя и пароль первого пользователя. Он получает административные права в хранилище.
- Подтвердите создание. Платформа поместит в хранилище текущую конфигурацию как первую версию.
В папке хранилища появится файл 1cv8ddb.1CD — база данных хранилища. Трогать его руками нельзя: копируйте и переносите только всю папку целиком и только когда никто не работает
с хранилищем.
Запуск сервера хранилища crserver
Сервер хранилища ставится вместе с платформой (компонент «Сервер хранилища конфигураций 1С:Предприятия»). Исполняемый файл crserver.exe лежит в каталоге bin нужной версии платформы.
Регистрация службы Windows из командной строки, запущенной от администратора:
cd "C:\Program Files\1cv8\8.3.24.1548\bin"
crserver.exe -instsrvc -port 1542 -d "D:\1C_Repo" -usr .\UserCRS -pwd "Пароль"
crserver.exe -start
-port— порт, по умолчанию 1542;-d— корневой каталог, внутри которого будут лежать папки хранилищ;-usrи-pwd— учётная запись, от которой работает служба. Ей нужны права на запись в каталог из-d.
Номер версии в пути подставьте свой. Путь в адресе tcp://srv-1c/Buh указывается относительно корневого каталога: хранилище окажется в D:\1C_Repo\Buh.
Откройте порт 1542 на брандмауэре сервера для входящих подключений. Без этого клиенты получат ошибку соединения, хотя служба работает.
Публикация хранилища на веб-сервере
Для доступа по HTTP хранилище публикуют из Конфигуратора на машине с веб-сервером: Администрирование → Публикация хранилищ конфигураций на веб-сервере. Укажите имя публикации, каталог и адрес хранилища (обычно tcp:// адрес сервера хранилища). Клиенты подключаются по адресу публикации с файлом repository.1ccr в конце.
Подключение информационной базы в режиме Конфигуратор
Это основной сценарий: разработчик получает свою копию базы и подключает её к уже существующему хранилищу.
Пошагово
- Запустите базу в режиме Конфигуратор под пользователем с административными правами.
- Откройте конфигурацию:
Конфигурация → Открыть конфигурацию. - Выберите
Конфигурация → Хранилище конфигурации → Подключиться к хранилищу.... - В поле «Путь к хранилищу» введите адрес. Для файлового хранилища можно выбрать папку кнопкой выбора.
- Введите имя пользователя хранилища и пароль. Нажмите «ОК».
- Платформа предупредит, что конфигурация базы будет заменена конфигурацией из хранилища. Подтвердите.
- Дождитесь загрузки. На больших конфигурациях вроде ERP это занимает от нескольких минут до получаса.
- Обновите конфигурацию базы данных:
Конфигурация → Обновить конфигурацию базы данныхилиF7.
После подключения в дереве конфигурации у объектов появятся значки: замок означает, что объект захвачен вами, а другой значок — что его захватил кто-то другой.
Подключение копии рабочей базы
Частый случай — разработчик берёт копию базы с данными, загружая .dt в новую пустую базу. Учтите две вещи:
- 🔁 копия базы должна быть такой же конфигурации, что и в хранилище, иначе после подключения структура данных изменится и обновление может потребовать реструктуризации;
- 🧹 если копию сделали копированием файла
1Cv8.1CDиз базы, уже подключённой к хранилищу, привязка сохранится. Зайдите в Конфигуратор и отключитесь:Конфигурация → Хранилище конфигурации → Отключиться от хранилища. Затем подключите базу заново под своим пользователем.
Не подключайте к хранилищу разработки рабочую базу, где сидят бухгалтеры. Каждое F7 после получения изменений будет менять структуру боевой базы. Рабочую базу обновляют из .cf, собранного из хранилища, в согласованное окно.
Подключение без интерфейса (пакетный режим)
Для сборочных скриптов подключение и получение последней версии делают командной строкой:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh_build" ^
/ConfigurationRepositoryF "tcp://srv-1c/Buh" ^
/ConfigurationRepositoryN "build" /ConfigurationRepositoryP "Пароль" ^
/ConfigurationRepositoryUpdateCfg -force /UpdateDBCfg /Out "D:\logs\build.log"
Если какой-то параметр отработает не так, как ожидаете, сверьтесь со справкой Конфигуратора по параметрам командной строки: набор ключей меняется от версии к версии.
Пользователи и права в хранилище
Пользователей хранилища создаёт администратор хранилища — тот, кто его создал, или любой, кому выдано право «Административные функции».
Как добавить пользователя
- Подключитесь к хранилищу под администратором.
- Откройте
Конфигурация → Хранилище конфигурации → Администрирование.... - Добавьте нового пользователя, задайте имя и пароль.
- Отметьте нужные права и сохраните.
Какие права выдавать
| Право | Что даёт | Кому |
|---|---|---|
| Захват объектов | захватывать объекты и помещать изменения | разработчикам |
| Изменение состава версий | менять метки и комментарии версий, работать с историей | ведущему разработчику |
| Административные функции | создавать пользователей, отменять чужие захваты, задавать настройки хранилища | 1–2 администраторам |
Пользователь без прав на захват может подключиться и получать конфигурацию, но не менять её. Такой режим удобен для сборочной базы и тестировщиков.
Заводите отдельного пользователя хранилища под каждого человека и каждую базу. Один логин на двоих приводит к ошибке «пользователь уже подключён» и к путанице в истории: непонятно, кто что поместил.
Если разработчик уволился и оставил объекты захваченными, администратор хранилища может отменить его захват в окне хранилища. Несохранённые в хранилище правки этого разработчика при этом пропадут.
Захват, помещение и получение объектов
Подключение — только начало. Дальше вся работа строится на трёх командах. Команды захвата и помещения есть в контекстном меню объекта в дереве конфигурации.
Захват объекта
- Выделите объект, например документ или общий модуль.
- Выберите
Захватить в хранилище. - В окне захвата оставьте флажок получения захватываемых объектов: так вы начнёте правку с актуальной версии.
- Для подчинённых объектов используйте флажок рекурсивного захвата.
Объект захватывается целиком. Пока он у вас, другие разработчики его изменить не могут.
Помещение изменений
- Выделите изменённые объекты или корень конфигурации.
- Выберите
Поместить в хранилище. - Напишите комментарий: номер задачи и суть изменения.
- Если правка не закончена, отметьте флажок «Оставить объекты захваченными».
После помещения создаётся новая версия хранилища с вашим комментарием.
Получение чужих изменений
Команда Конфигурация → Хранилище конфигурации → Обновить конфигурацию из хранилища обновляет вашу базу до последней версии. Затем нажмите F7, чтобы применить изменения к структуре базы данных.
Отмена захвата без помещения откатывает ваши правки объекта к версии из хранилища. Перед командой «Отменить захват» убедитесь, что изменения вам не нужны, или сохраните их в .cf.
Окно хранилища и история
Полный список объектов с владельцами захватов показывает Конфигурация → Хранилище конфигурации → Открыть хранилище. История версий там же, в отдельной команде. Из истории можно сравнить версии и выгрузить любую в файл .cf, если нужно откатиться или проверить, кто и когда изменил объект.
Ошибки подключения к хранилищу и что с ними делать
Большинство проблем при подключении сводится к адресу, версии платформы, правам на папку или повторному входу под тем же пользователем. Ниже — сообщения, которые встречаются чаще других, и проверка для каждого.
Если хранилище повреждено
Сбой сети во время помещения или копирование папки на ходу иногда портит файл 1cv8ddb.1CD. Признаки: ошибки целостности при любом действии с хранилищем у всех пользователей.
Порядок действий:
- Попросите всех разработчиков прекратить работу с хранилищем.
- Если хранилище на сервере crserver, остановите службу. Остановка оборвёт работу всех, кто сейчас подключён к хранилищу, поэтому сначала предупредите команду.
- Скопируйте папку хранилища целиком в резервное место.
- Восстановите папку из последней резервной копии.
- Тем, кто поместил изменения после копии, придётся поместить их заново из своих баз.
Чтобы не доводить до этого, настройте ежедневное копирование папки хранилища в ночное время, когда службу можно ненадолго остановить.
Перед первым подключением большого хранилища проверьте свободное место на диске: при загрузке конфигурация целиком записывается в вашу базу, и база ERP после подключения заметно вырастет.