Подключение базы к хранилищу конфигурации 1С 8.3: адрес, права, первый захват

· 9 мин

Содержание

Подключиться к хранилищу 1С можно только из Конфигуратора: Конфигурация → Хранилище конфигурации → Подключиться к хранилищу.... В окне укажите путь к хранилищу (папку, tcp:// или http:// адрес), имя и пароль пользователя хранилища и нажмите «ОК». Платформа загрузит в вашу базу конфигурацию из хранилища, после чего объекты можно захватывать и помещать.

Механизм хранилища — часть платформы 8.3, а не конфигурации: в БП, ЗУП, УТ и ERP подключение к хранилищу выглядит одинаково. Отличается только время загрузки: типовая БП подтягивается за минуты, ERP заметно дольше.

Что подготовить до подключения к хранилищу

Хранилище конфигурации — это отдельная база, где лежит общая конфигурация и история её версий. К нему подключаются информационные базы разработчиков. Каждый работает в своей базе, а изменения проходят через хранилище.

Перед подключением соберите четыре вещи:

  • 📁 адрес хранилища — путь к папке, адрес сервера хранилища или веб-публикации;
  • 👤 пользователя хранилища и пароль. Это не пользователь информационной базы, а отдельная учётная запись внутри хранилища;
  • 🔑 права администратора в своей базе — без них Конфигуратор не откроется;
  • 🧩 версию платформы — для подключения через сервер хранилища она должна совпадать с версией сервера.

При подключении конфигурация вашей базы будет заменена конфигурацией из хранилища. Если в базе есть доработки, которых нет в хранилище, они пропадут. Сделайте выгрузку перед подключением: Конфигурация → Сохранить конфигурацию в файл... (получите .cf) или выгрузку всей базы в .dt.

Три способа доступа к хранилищу

СпособКак выглядит путьКогда подходитСлабые места
ФайловыйC:\Repo\Buh или \\srv\Repo\Buh1–2 разработчика в одной сетинужен доступ на запись к папке всем; при обрыве сети на запись риск повредить хранилище
Сервер хранилища (TCP)tcp://srv-1c/Buh или tcp://srv-1c:1542/Buhкоманда, офис или VPNнужна служба crserver той же версии, что и платформа
Веб-публикация (HTTP)http://srv-web/repo/repository.1ccrудалённые разработчики, доступ через интернетнужен веб-сервер (Apache или IIS) и опубликованное хранилище

Для команды от трёх человек берите сервер хранилища. Файловый вариант прост, но держится на правах к сетевой папке и стабильности сети.

Создание нового хранилища конфигурации

Если хранилища ещё нет, его создаёт ведущий разработчик из базы с эталонной конфигурацией. Эта база сразу оказывается подключённой к новому хранилищу.

Создание файлового или TCP-хранилища

  1. Откройте базу в режиме Конфигуратор и откройте конфигурацию: Конфигурация → Открыть конфигурацию.
  2. Выберите Конфигурация → Хранилище конфигурации → Создать хранилище....
  3. Укажите путь: пустую папку на диске или tcp:// адрес сервера хранилища.
  4. Задайте имя и пароль первого пользователя. Он получает административные права в хранилище.
  5. Подтвердите создание. Платформа поместит в хранилище текущую конфигурацию как первую версию.

В папке хранилища появится файл 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 в конце.

Подключение информационной базы в режиме Конфигуратор

Это основной сценарий: разработчик получает свою копию базы и подключает её к уже существующему хранилищу.

Пошагово

  1. Запустите базу в режиме Конфигуратор под пользователем с административными правами.
  2. Откройте конфигурацию: Конфигурация → Открыть конфигурацию.
  3. Выберите Конфигурация → Хранилище конфигурации → Подключиться к хранилищу....
  4. В поле «Путь к хранилищу» введите адрес. Для файлового хранилища можно выбрать папку кнопкой выбора.
  5. Введите имя пользователя хранилища и пароль. Нажмите «ОК».
  6. Платформа предупредит, что конфигурация базы будет заменена конфигурацией из хранилища. Подтвердите.
  7. Дождитесь загрузки. На больших конфигурациях вроде ERP это занимает от нескольких минут до получаса.
  8. Обновите конфигурацию базы данных: Конфигурация → Обновить конфигурацию базы данных или 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. Откройте Конфигурация → Хранилище конфигурации → Администрирование....
  3. Добавьте нового пользователя, задайте имя и пароль.
  4. Отметьте нужные права и сохраните.

Какие права выдавать

ПравоЧто даётКому
Захват объектовзахватывать объекты и помещать измененияразработчикам
Изменение состава версийменять метки и комментарии версий, работать с историейведущему разработчику
Административные функциисоздавать пользователей, отменять чужие захваты, задавать настройки хранилища1–2 администраторам

Пользователь без прав на захват может подключиться и получать конфигурацию, но не менять её. Такой режим удобен для сборочной базы и тестировщиков.

Заводите отдельного пользователя хранилища под каждого человека и каждую базу. Один логин на двоих приводит к ошибке «пользователь уже подключён» и к путанице в истории: непонятно, кто что поместил.

Если разработчик уволился и оставил объекты захваченными, администратор хранилища может отменить его захват в окне хранилища. Несохранённые в хранилище правки этого разработчика при этом пропадут.

Захват, помещение и получение объектов

Подключение — только начало. Дальше вся работа строится на трёх командах. Команды захвата и помещения есть в контекстном меню объекта в дереве конфигурации.

Захват объекта

  1. Выделите объект, например документ или общий модуль.
  2. Выберите Захватить в хранилище.
  3. В окне захвата оставьте флажок получения захватываемых объектов: так вы начнёте правку с актуальной версии.
  4. Для подчинённых объектов используйте флажок рекурсивного захвата.

Объект захватывается целиком. Пока он у вас, другие разработчики его изменить не могут.

Помещение изменений

  1. Выделите изменённые объекты или корень конфигурации.
  2. Выберите Поместить в хранилище.
  3. Напишите комментарий: номер задачи и суть изменения.
  4. Если правка не закончена, отметьте флажок «Оставить объекты захваченными».

После помещения создаётся новая версия хранилища с вашим комментарием.

Получение чужих изменений

Команда Конфигурация → Хранилище конфигурации → Обновить конфигурацию из хранилища обновляет вашу базу до последней версии. Затем нажмите F7, чтобы применить изменения к структуре базы данных.

Отмена захвата без помещения откатывает ваши правки объекта к версии из хранилища. Перед командой «Отменить захват» убедитесь, что изменения вам не нужны, или сохраните их в .cf.

Окно хранилища и история

Полный список объектов с владельцами захватов показывает Конфигурация → Хранилище конфигурации → Открыть хранилище. История версий там же, в отдельной команде. Из истории можно сравнить версии и выгрузить любую в файл .cf, если нужно откатиться или проверить, кто и когда изменил объект.

Ошибки подключения к хранилищу и что с ними делать

Большинство проблем при подключении сводится к адресу, версии платформы, правам на папку или повторному входу под тем же пользователем. Ниже — сообщения, которые встречаются чаще других, и проверка для каждого.

Диагностика: выберите симптом

Если хранилище повреждено

Сбой сети во время помещения или копирование папки на ходу иногда портит файл 1cv8ddb.1CD. Признаки: ошибки целостности при любом действии с хранилищем у всех пользователей.

Порядок действий:

  1. Попросите всех разработчиков прекратить работу с хранилищем.
  2. Если хранилище на сервере crserver, остановите службу. Остановка оборвёт работу всех, кто сейчас подключён к хранилищу, поэтому сначала предупредите команду.
  3. Скопируйте папку хранилища целиком в резервное место.
  4. Восстановите папку из последней резервной копии.
  5. Тем, кто поместил изменения после копии, придётся поместить их заново из своих баз.

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

Перед первым подключением большого хранилища проверьте свободное место на диске: при загрузке конфигурация целиком записывается в вашу базу, и база ERP после подключения заметно вырастет.

Частые вопросы

Можно ли подключиться к хранилищу из режима 1С:Предприятие?
Нет. Работа с хранилищем конфигурации доступна только в Конфигураторе. Пользователи в режиме Предприятия хранилища не видят и на их работу оно не влияет.
Можно ли подключить к одному хранилищу файловую и клиент-серверную базу?
Да. Хранилищу неважно, где лежит база разработчика. Важна лишь одинаковая конфигурация и совпадающая версия платформы при доступе через сервер хранилища.
Сколько разработчиков могут работать с одним хранилищем?
Ограничения по числу подключений платформа не задаёт. На практике файловое хранилище удобно для 1–2 человек, сервер хранилища нормально держит команду из десятков разработчиков.
Нужна ли отдельная лицензия на сервер хранилища?
Сервер хранилища конфигураций ставится из дистрибутива платформы и отдельной лицензии не требует. Лицензия нужна для запуска самого Конфигуратора на рабочем месте разработчика.
Как отключить базу от хранилища?
В Конфигураторе выберите «Отключиться от хранилища» в подменю «Хранилище конфигурации». Конфигурация в базе останется, просто перестанет синхронизироваться. Захваченные объекты лучше перед этим поместить или отпустить.