Подключение базы и расширения к хранилищу конфигурации 1С 8.3
Содержание
Чтобы подключиться к хранилищу 1С, откройте базу в Конфигураторе и выберите Конфигурация → Хранилище конфигурации → Подключиться к хранилищу…. В окне укажите путь к хранилищу (папку, tcp://сервер/имя или http://…), имя пользователя хранилища и пароль. После подтверждения платформа заменит конфигурацию базы версией из хранилища, и объекты можно будет захватывать для правки.
Типичная ситуация: в команду пришёл второй разработчик, ему развернули копию рабочей базы, а доработки ведутся в общем хранилище конфигурации. Пока он не подключится, его правки живут только у него и при следующем обновлении потеряются. Отдельная история — расширения: у каждого из них своё хранилище и своё подключение.
Как устроено хранилище конфигурации и какие бывают пути
Хранилище — это отдельная база версий конфигурации. Каждый разработчик работает в своей информационной базе, а хранилище раздаёт объекты «под замок»: один объект в один момент правит только один человек. Захватил — правишь, поместил — изменения ушли всем, остальные получают их командой «Получить».
Данные хранилища лежат в файле 1cv8ddb.1CD внутри его каталога. Добраться до этого каталога можно тремя способами.
| Способ доступа | Как выглядит путь | Когда подходит | На что смотреть |
|---|---|---|---|
| Файловый | D:\Repo\ZUP или \\srv\Repo\ZUP | 1–3 разработчика в одной сети | права на запись в папку у всех, антивирус |
| Сервер хранилища (TCP) | tcp://srv-1c/ZUP или tcp://srv-1c:1542/ZUP | команда, удалённые сотрудники через VPN | версия платформы сервера и клиента совпадает |
| HTTP-публикация | http://srv-web/repo/repo.1ccr | доступ через интернет без VPN | веб-сервер и опубликованный файл .1ccr |
Сетевую папку для файлового хранилища открывайте по UNC-пути, а не через подключённый диск Z:. Буква диска у разных пользователей разная, и путь, сохранённый в базе, у коллеги не сработает.
Отдельная база версий нужна и для каждого расширения. Расширение подключается к своему хранилищу, а не к хранилищу основной конфигурации.
Подготовка сервера: создаём хранилище конфигурации
Если хранилище уже создано, этот раздел пропустите и переходите к подключению.
Сервер хранилища конфигураций
Для TCP-доступа на сервер ставят компонент «Сервер хранилища конфигураций 1С:Предприятия» из дистрибутива платформы. Он работает как служба, процесс называется crserver, порт по умолчанию — 1542.
- Запустите установщик платформы той же версии, что у разработчиков.
- Отметьте компонент сервера хранилища и установите его как службу.
- Создайте каталог для хранилищ, например
D:\Repo, и дайте учётной записи службы полные права на него. - Откройте входящий порт
1542в брандмауэре сервера.
Версия сервера хранилища должна совпадать с версией платформы у каждого клиента до последней цифры. Обновили платформу у разработчиков — обновите и crserver, иначе подключение не пройдёт.
При остановке или переустановке службы сервера хранилища у всех разработчиков оборвётся работа с хранилищем. Незавершённое помещение может прерваться. Делайте это вне рабочего времени и предупредите команду.
Создание хранилища
- Откройте в Конфигураторе базу с актуальной конфигурацией — она станет первой версией хранилища.
- Выберите
Конфигурация → Хранилище конфигурации → Создать хранилище…. - Укажите путь: для файлового варианта — пустой каталог, для сервера —
tcp://srv-1c/ZUP. КаталогZUPсервер создаст сам внутри своего рабочего каталога. - Задайте имя и пароль администратора хранилища.
- Дождитесь окончания загрузки объектов. На типовой ЗУП или ERP это может занять от нескольких минут до часа.
База, из которой создавали хранилище, сразу оказывается к нему подключённой.
Пользователи хранилища и права доступа
Пользователи хранилища не связаны с пользователями информационной базы. Это отдельный список, который ведёт администратор хранилища.
Путь: Конфигурация → Хранилище конфигурации → Администрирование…. Здесь заводят пользователей, задают пароли и права.
| Право | Что даёт |
|---|---|
| Захват объектов | брать объекты на редактирование и помещать изменения |
| Изменение состава версий | правка комментариев и меток версий |
| Административные функции | управление пользователями, отключение, обслуживание хранилища |
Пользователь без прав на захват может подключиться и получать изменения, но править не сможет. Это удобно для тестовых баз и баз сборки.
💡 Заводите на каждого разработчика отдельного пользователя хранилища. Один общий логин на троих — гарантия того, что никто не поймёт, кто захватил справочник и ушёл в отпуск.
Подключение к хранилищу конфигурации из Конфигуратора
Перед подключением сохраните текущую конфигурацию базы в файл: Конфигурация → Сохранить конфигурацию в файл…. Подключение заменяет конфигурацию базы версией из хранилища, и несохранённые локальные доработки исчезнут.
Пошагово
- Запустите базу в режиме Конфигуратора и откройте конфигурацию.
- Выберите
Конфигурация → Хранилище конфигурации → Подключиться к хранилищу…. - В поле пути укажите адрес: каталог,
tcp://…илиhttp://…/repo.1ccr. Для файлового варианта можно выбрать папку кнопкой выбора. - Введите имя пользователя хранилища и пароль, которые выдал администратор.
- Платформа предупредит, что конфигурация базы будет заменена конфигурацией из хранилища. Подтвердите.
- Дождитесь загрузки. В дереве конфигурации у объектов появятся значки состояния: свободен, захвачен вами, захвачен другим.
- Выполните
Конфигурация → Обновить конфигурацию базы данных(F7), чтобы структура данных совпала с полученной конфигурацией.
Подключайте к хранилищу копию для разработки, а не рабочую базу с пользователями. Обновление структуры базы данных требует монопольного доступа, а в рабочей базе это остановит работу людей.
Подключение из командной строки
Для сборочного сервера или скрипта ночного обновления подключение делают без окон. Пример для файловой базы:
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /F "D:\Bases\ZUP_dev" /N "Администратор" /P "" ^
/ConfigurationRepositoryF "tcp://srv-1c/ZUP" /ConfigurationRepositoryN "build" /ConfigurationRepositoryP "pass" ^
/ConfigurationRepositoryBindCfg /Out "D:\Logs\bind.log"
Для уже подключённой базы получение свежей версии и обновление структуры выглядит так: /ConfigurationRepositoryUpdateCfg вместо /ConfigurationRepositoryBindCfg, а затем /UpdateDBCfg. Полный список ключей с вариантами смотрите в справке по параметрам командной строки запуска в составе документации платформы.
Как подключить расширение к хранилищу
Хранилище расширения ведётся отдельно от основной конфигурации. Если расширение пишет команда, ему тоже нужен свой путь, например tcp://srv-1c/ZUP_ext_otchety.
- Откройте
Конфигурация → Расширения конфигурации. - Выделите нужное расширение и откройте его дерево двойным щелчком.
- Сделайте окно дерева расширения активным, щёлкнув в нём.
- Откройте меню
Конфигурация → Хранилище конфигурации. Команды этого меню применяются к той конфигурации, дерево которой сейчас активно. - Выберите «Подключиться к хранилищу …», укажите путь хранилища расширения, пользователя и пароль.
- Подтвердите замену расширения версией из хранилища.
- Обновите конфигурацию базы данных.
Если хранилища для расширения ещё нет, на шаге 5 выберите «Создать хранилище…» — его первой версией станет открытое расширение.
Перед подключением проверьте имя и префикс расширения в базе. Если у коллеги в базе расширение с другим именем, после подключения появятся два расширения с похожим содержимым, и они будут конфликтовать.
Права на хранилище расширения настраиваются в его собственном окне администрирования. Пользователь основного хранилища автоматически доступа к хранилищу расширения не получает.
Захват, помещение и получение объектов
После подключения работа идёт по одному циклу. Команды доступны в контекстном меню дерева конфигурации и в окне Конфигурация → Хранилище конфигурации → Хранилище.
| Команда | Что происходит | Совет |
|---|---|---|
| Захватить в хранилище | объект блокируется за вами, его можно править | захватывайте только то, что правите сейчас |
| Поместить в хранилище | изменения уходят в новую версию, комментарий обязателен | пишите номер задачи и суть правки |
| Получить из хранилища | ваша база получает чужие изменения | получайте перед захватом, а не после |
| Отменить захват | объект освобождается без сохранения правок | ваши изменения по объекту пропадут |
Флажок «Оставить захваченными» при помещении сохраняет захват за вами. Удобно, когда правка большая и вы помещаете её частями.
Захват «рекурсивно» берёт объект со всеми подчинёнными — модулями, формами, макетами. Для справочника с десятком форм это нормально. Для корня конфигурации — плохая идея: вы заблокируете всю команду.
Не помещайте объекты, которые не открывали и не меняли. Даже без правок версия получит их в составе, и при сравнении будет непонятно, что реально менялось.
Для навигации по истории есть «История хранилища»: в ней видны все версии с автором, датой и комментарием. Перед крупным обновлением типовой полезно поставить метку на текущую версию — к ней проще вернуться.
Ошибки при подключении к хранилищу 1С: как найти причину
Большинство отказов — это сеть, права или версии. Найдите свой симптом.
Если не помогло
- 🔍 Запустите Конфигуратор с ключом
/Out "D:\Logs\cfg.log"и повторите попытку — текст ошибки в журнале полнее, чем в окне. - 🖥️ Попробуйте подключиться с самого сервера, указав путь
tcp://localhost/ZUP. Работает — проблема в сети между клиентом и сервером. - 📁 Для файлового хранилища откройте папку из проводника под той же учётной записью Windows и создайте в ней пустой файл. Не создаётся — дело в правах, а не в 1С.
- 🔁 Если база когда-то была подключена к другому хранилищу, сначала выполните «Отключиться от хранилища», затем подключитесь заново.
Обслуживание хранилища и скорость работы
Хранилище растёт с каждой версией. Через пару лет активной разработки файл 1cv8ddb.1CD типовой ERP легко переваливает за десятки гигабайт, и получение версий заметно тормозит.
Что помогает:
- 💾 Регулярная копия каталога хранилища. Копируйте его целиком при остановленной службе
crserverили в окно, когда никто не помещает изменения. Копия файла «на ходу» может оказаться несогласованной. - 🧹 Оптимизация данных. В окне администрирования хранилища есть команда оптимизации данных хранилища — она пересобирает внутренние структуры и уменьшает объём. Запускайте её, когда никто не работает с хранилищем.
- 🏷️ Метки вместо бесконечной истории. Отмечайте релизы метками: искать нужную версию по метке быстрее, чем листать тысячи записей.
- 🌐 Сервер вместо сетевой папки. При трёх и более разработчиках или удалённой работе TCP-сервер работает быстрее и надёжнее файлового доступа по сети.
- ⚡ Быстрый диск под каталог. Хранилище на SSD сервера получает и помещает версии заметно быстрее, чем на сетевом хранилище файлов.
Проверить целостность файла 1cv8ddb.1CD можно утилитой chdbfl.exe из каталога bin платформы. Запускайте её только при остановленном сервере хранилища и на копии файла.