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

· 9 мин

Содержание

Чтобы подключиться к хранилищу конфигурации 1С, откройте базу в конфигураторе и выберите Конфигурация → Хранилище конфигурации → Подключиться к хранилищу. Укажите путь к хранилищу (папку, сетевой путь или адрес tcp://сервер/имя), имя и пароль пользователя хранилища. Конфигурация базы будет заменена конфигурацией из хранилища, после чего её останется применить к базе данных.

Механизм общий для платформы 8.3 и не зависит от прикладного решения: так же работают с Бухгалтерией, ЗУП, УТ и самописными конфигурациями. Ниже разобраны все этапы: создание хранилища, настройка доступа, подключение, захват объектов и получение версий.

1. Где разместить хранилище и как его создать

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

ВариантПуть при подключенииКогда подходитОграничения
Локальная папкаD:\Repo\BuhОдин разработчик, история версий для себяДоступно только с этого компьютера
Сетевая папка\\fs01\Repo\Buh2–3 разработчика в одной локальной сетиКаждому нужны права на чтение и запись в папку
Сервер хранилищаtcp://srv1c/BuhКоманда, удалённые сотрудники, VPNНужна служба crserver той же версии платформы
Веб-серверhttp://srv/repo/repo.1ccrДоступ через интернет без открытия портовНужна публикация на IIS или Apache

Файловое хранилище

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

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

Не используйте для администратора хранилища общий логин вида «Admin». Заведите личные учётные записи каждому разработчику, а администратора держите отдельно: так в истории видно, кто и что поменял.

Сервер хранилища (crserver)

Серверный вариант надёжнее сетевой папки: клиенты не пишут в файлы напрямую, а обращаются к службе. Сервер хранилища ставится из дистрибутива платформы как отдельный компонент, исполняемый файл crserver.exe лежит в каталоге bin установленной версии.

Установка службы из командной строки, запущенной от имени администратора:

cd "C:\Program Files\1cv8\8.3.24.1548\bin"
crserver.exe -instsrvc -port 1542 -d "D:\Repo" -usr "DOMAIN\svc_1c" -pwd "Пароль"
crserver.exe -start
  • -port — порт службы, по умолчанию 1542.
  • -d — корневой каталог, внутри которого будут лежать хранилища.
  • -usr и -pwd — учётная запись, от которой работает служба. У неё должны быть права на запись в каталог из -d.

Номер сборки в пути подставьте свой. Дальше в конфигураторе выполните ту же команду «Создать хранилище», но в поле пути укажите tcp://srv1c/Buh (или tcp://srv1c:1542/Buh, если порт нестандартный). Папка Buh создастся внутри каталога из параметра -d.

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

2. Пользователи хранилища и права доступа

Учётные записи хранилища заводит пользователь с административными правами: Конфигурация → Хранилище конфигурации → Администрирование. В окне администрирования добавьте пользователя, задайте пароль и отметьте права.

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

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

Кроме прав по объектам есть второй уровень защиты — доступ к самому хранилищу:

  • 🗂 для файлового хранилища — NTFS-права на папку и сетевую шару;
  • 🖥 для сервера хранилища — доступ к порту 1542 через брандмауэр и VPN;
  • 🌐 для веб-публикации — настройки веб-сервера и HTTPS.

Пароль администратора хранилища штатно не восстанавливается. Заведите минимум двух пользователей с административными функциями и храните пароли в менеджере паролей.

3. Подключение базы разработчика к хранилищу

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

Пошагово

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

Для обновления структуры базы конфигуратору нужен монопольный доступ. Если с копией работают другие люди, предупредите их или выберите время, когда в ней никого нет.

Если в базе была доработанная конфигурация

При подключении собственные изменения базы не переносятся в хранилище, они заменяются. Порядок такой:

  1. Сохраните свою конфигурацию в .cf.
  2. Подключитесь к хранилищу.
  3. Захватите нужные объекты.
  4. Перенесите изменения через Конфигурация → Сравнить, объединить с конфигурацией из файла, отметив только свои объекты.
  5. Поместите их в хранилище.

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

Проверка перед подключением к хранилищу
Выполнено: 0 / 5

4. Захват объектов, помещение изменений и версии

Редактировать можно только захваченный объект. Остальные открываются на просмотр.

Захват

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

Приёмы, о которых часто узнают на практике:

  • 🔑 Чтобы добавить новый объект верхнего уровня (справочник, документ, общий модуль), захватите корень конфигурации — без рекурсии, иначе заблокируете всё дерево для коллег.
  • 📁 Чтобы включить объект в подсистему, захватите саму подсистему.
  • ⏱ Не держите корень захваченным долго: пока он у вас, никто другой не добавит новые объекты.

Помещение

Когда правка закончена, выберите «Поместить в хранилище». В окне помещения:

  • напишите комментарий: номер задачи и суть изменения, например «Задача 154: новая печатная форма акта»;
  • проверьте список объектов — туда должны попасть и новые объекты, и захваченный корень;
  • флажок «Оставить объекты захваченными» включайте, если продолжаете работу с этими объектами.

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

История и метки

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

  • сравнить две версии или версию с текущей конфигурацией;
  • сохранить любую версию в .cf;
  • поставить метку на версию — например «Релиз 2.4, передан в рабочую базу».

Комментарий к уже помещённой версии можно исправить в истории, если у пользователя есть право на изменение версий. Сам состав версии задним числом не меняется: ошибочное изменение исправляют новым помещением.

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

5. Как получить конфигурацию из хранилища

Получение — обратная операция: изменения коллег приходят в вашу базу.

ЗадачаКомандаРезультат
Обновить всю конфигурациюКонфигурация → Хранилище конфигурации → Обновить конфигурацию из хранилищаВсе изменения последней версии
Обновить отдельные объекты«Получить из хранилища» в контекстном меню объектаТолько выбранные объекты
Выпустить релиз«Сохранить конфигурацию хранилища в файл»Файл .cf для рабочей базы
Откатиться к старой версииИстория хранилища → сохранить версию в файл.cf нужной версии

После получения обязательно выполните «Обновить конфигурацию базы данных». Иначе конфигуратор сообщит, что конфигурация базы данных не соответствует основной конфигурации.

Автоматическое обновление тестовой базы

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

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F "D:\Bases\BuhTest" /N "Админ" /P "Пароль" ^
 /ConfigurationRepositoryF "tcp://srv1c/Buh" /ConfigurationRepositoryN "build" /ConfigurationRepositoryP "Пароль" ^
 /ConfigurationRepositoryUpdateCfg -force /UpdateDBCfg /DisableStartupDialogs /Out "D:\Logs\update.log"

Параметр /ConfigurationRepositoryUpdateCfg получает последнюю версию, -force подтверждает получение без вопросов о захваченных объектах, /UpdateDBCfg сразу применяет изменения к базе данных. Результат пишется в файл из /Out — его удобно проверять утром.

Для такого скрипта заведите в хранилище пользователя build без прав захвата. Задание ставят в планировщик Windows на ночь. Перед запуском убедитесь, что в тестовой базе нет пользователей: обновление структуры требует монопольного доступа, активные сеансы не дадут его выполнить.

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

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

Кроме разовых сбоев, есть ошибки организации работы, которые проявляются позже:

  • ❌ Подключили рабочую базу. Бухгалтеры получают недоделанные изменения, а каждое обновление из хранилища требует монопольного доступа. Рабочую базу обновляйте только файлом .cf из выпущенной версии.
  • ❌ Один логин на всю команду. История теряет смысл, захваты путаются.
  • ❌ Хранилище без резервной копии. Копируйте каталог хранилища по расписанию. Для сервера хранилища — при остановленной службе или в момент, когда никто не помещает изменения; остановка службы оборвёт работу с хранилищем у всех разработчиков, поэтому делайте её ночью.
  • ❌ Разные версии платформы у разработчиков. Кто-то обновился раньше, остальные теряют связь с сервером хранилища. Обновляйте платформу всей командой в один день.

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

Можно ли подключить к хранилищу типовую конфигурацию на поддержке?
Да. Настройки поддержки хранятся вместе с конфигурацией. Обновление типовой версии делают в базе разработчика при захваченном корне, затем помещают результат в хранилище.
Сколько разработчиков может работать с одним хранилищем?
Жёсткого лимита на число пользователей хранилища нет. Для 5–10 человек и удалённой работы выбирайте сервер хранилища, а не сетевую папку.
Как отключить базу от хранилища?
Выберите «Отключиться от хранилища» в меню хранилища конфигурации. Конфигурация в базе останется. Перед отключением поместите свои изменения или отмените захват, чтобы объекты не остались заблокированными для коллег.
Нужна ли лицензия для сервера хранилища?
Отдельная клиентская лицензия на службу crserver не требуется, но разработчикам для запуска конфигуратора нужны обычные лицензии платформы.
Что делать, если хранилище повреждено?
Остановите работу с ним и восстановите каталог из последней резервной копии. Изменения, помещённые после копии, разработчики перенесут из своих баз.