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

· 9 мин

Содержание

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

Выбор схемы простой. Один-два разработчика в одной сети — хватит файлового хранилища в общей папке. Команда, удалённые сотрудники или работа через интернет — ставьте сервер хранилища crserver и подключайтесь по TCP. Всё ниже относится к платформе 8.3 и не зависит от конфигурации: процедура одинакова для БП, ЗУП, УТ и самописных решений.

1. Файловое или серверное хранилище: выбор схемы и подготовка

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

СхемаКогда подходитОграничения
Файловое в локальной папкеОдин разработчик хочет историю версийДоступно только с этого компьютера
Файловое в сетевой папке2–3 разработчика в одной локальной сетиМедленно на больших конфигурациях, чувствительно к обрывам сети
Сервер хранилища (crserver, TCP)Команда, VPN, крупные конфигурацииНужна служба и открытый порт
HTTP через веб-серверДоступ из интернета без VPNНужна публикация на IIS или Apache поверх crserver

Что подготовить заранее:

  • 🖥️ Сервер или компьютер, который работает постоянно. На ноутбуке разработчика хранилище держать нельзя: ушёл ноутбук — встала вся команда.
  • 💾 Отдельный диск или каталог с запасом места. История версий растёт, на крупной типовой конфигурации хранилище легко занимает десятки гигабайт.
  • 🔢 Одинаковая версия платформы у всех разработчиков. Для серверной схемы версия crserver должна совпадать с версией клиента, иначе подключение не пройдёт.
  • 🗂️ Копия рабочей базы (.dt) — из неё вы и будете создавать хранилище.
  • 👤 Учётная запись Windows для службы, если ставите сервер хранилища. Ей нужны полные права на каталог хранилища.

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

2. Установка сервера хранилища crserver на Windows и Linux

Для файловой схемы этот раздел пропускайте: достаточно общей папки с правами на чтение и запись для разработчиков.

Windows

Сервер хранилища входит в дистрибутив платформы. В установщике отметьте компонент «Сервер хранилища конфигураций 1С:Предприятия». После установки в каталоге bin платформы появится crserver.exe.

Регистрация службы из командной строки, запущенной от администратора:

cd "C:\Program Files\1cv8\8.3.24.1548\bin"
crserver.exe -instsrvc -port 1542 -d "D:\1CRepo" -usr .\USR1CV8 -pwd ПарольСлужбы
crserver.exe -start

Здесь -port — порт, на котором слушает сервер (по умолчанию 1542), -d — корневой каталог, где будут лежать хранилища, -usr и -pwd — учётная запись службы. Номер платформы в пути подставьте свой.

Удалить службу: crserver.exe -rmsrvc. Остановить: crserver.exe -stop.

Linux

Пакет сервера хранилища ставится из дистрибутива платформы для Linux. Для пробного запуска хватит:

sudo -u usr1cv8 /opt/1cv8/x86_64/8.3.24.1548/crserver -daemon -port 1542 -d /var/1C/repo

Для постоянной работы оформите запуск через systemd от отдельного пользователя. Каталог /var/1C/repo должен принадлежать этому пользователю.

Сеть

  • 🔓 Откройте входящий TCP-порт 1542 (или ваш) в брандмауэре сервера.
  • 🌐 Проверьте с машины разработчика: Test-NetConnection имя_сервера -Port 1542 в PowerShell.
  • 🔐 Порт хранилища не выставляйте в интернет напрямую. Для удалённых сотрудников — VPN или HTTP-публикация.

3. Как создать хранилище конфигурации в Конфигураторе

Хранилище создают из базы, где лежит актуальная конфигурация. Порядок:

  1. Разверните копию рабочей базы из .dt и откройте её в Конфигураторе.
  2. Откройте конфигурацию: Конфигурация → Открыть конфигурацию.
  3. Выберите Конфигурация → Хранилище конфигурации → Создать хранилище....
  4. Укажите адрес:
    • для файлового хранилища — путь к пустому каталогу, например \\fileserver\1CRepo\buh;
    • для серверного — tcp://имя_сервера/buh или tcp://имя_сервера:1542/buh, если порт нестандартный. Каталог buh создастся внутри корня, заданного ключом -d.
  5. Задайте имя и пароль администратора хранилища. Это отдельная учётная запись хранилища, не пользователь информационной базы.
  6. Подтвердите создание. Платформа поместит всю конфигурацию в хранилище, а база станет подключённой к нему.

После создания в дереве конфигурации у объектов появятся значки. Замок у объекта означает, что он в хранилище и не захвачен вами.

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

4. Первые настройки: администратор, кэш и правила работы

Сразу после создания стоит навести порядок, пока хранилище пустое по истории.

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

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

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

Комментарии к помещению. Требуйте от команды писать номер задачи и суть изменения. Пустые комментарии через год превращают историю в мусор.

Расширения. Если дорабатываете через расширения, для каждого расширения создаётся своё хранилище — из окна Конфигурация → Расширения конфигурации, у выбранного расширения есть свои команды работы с хранилищем.

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

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

Для каждого разработчика:

  1. Нажмите «Добавить», введите имя (удобно — фамилия) и пароль.
  2. Отметьте нужные права.
  3. Сохраните и передайте разработчику логин и пароль.

Основные права:

ПравоЧто даётКому выдавать
Захват объектовБрать объекты на редактирование и помещать измененияВсем разработчикам
Изменение состава версийРаботать с версиями: метки, комментарииВедущему разработчику
Административные функцииУправлять пользователями, снимать чужие захваты, оптимизировать хранилищеОдному-двум людям

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

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

Когда сотрудник уходит, не удаляйте его сразу. Сначала снимите его захваты (администратор видит их в окне захваченных объектов), потом отключите учётную запись.

6. Подключение баз и перенос конфигурации из рабочей базы

Подключение разработчика

У каждого разработчика своя копия базы. Подключение:

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

Ежедневный цикл

  • 🔒 Захватить в хранилище — объект становится вашим, остальные видят его захваченным.
  • ✏️ Правите и отлаживаете у себя.
  • 📤 Поместить в хранилище — изменения уходят в новую версию с вашим комментарием.
  • 📥 Получить из хранилища — забрать чужие изменения.
  • ↩️ Отменить захват — если правки не нужны.

После получения изменений не забудьте Конфигурация → Обновить конфигурацию базы данных (F7). Без этого основная конфигурация обновится, а конфигурация базы данных останется старой.

Выпуск в продуктив

Рабочую базу к хранилищу не подключают. Схема другая:

  1. В базе разработки получите всё из хранилища.
  2. Сохраните конфигурацию в файл: Конфигурация → Сохранить конфигурацию в файл... (.cf).
  3. В рабочей базе сделайте резервную копию и загрузите .cf через обновление или сравнение-объединение.
  4. Обновите конфигурацию базы данных. Это шаг, для которого нужен монопольный доступ, если меняется структура.

Если хранилище создаётся под типовую на поддержке

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

7. Ошибки при установке и работе хранилища

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

Ещё две ситуации, которые возникают реже, но ломают работу всей команды:

  • 💥 Хранилище повреждено после сбоя диска или обрыва во время помещения. Не пытайтесь чинить файлы вручную. Остановите crserver, восстановите каталог из последней копии и попросите разработчиков поместить потерянные изменения повторно.
  • 🧩 Разработчик потерял свою базу с несохранёнными изменениями. Захваты остаются на нём. Администратор снимает их, изменения правятся заново.

8. Обслуживание: резервные копии, история и оптимизация

Хранилище — единственное место, где живёт история доработок. Его теряют чаще, чем кажется.

Резервное копирование. Самый надёжный способ — копировать весь каталог хранилища, когда в него никто не пишет. Для серверной схемы:

crserver.exe -stop
robocopy "D:\1CRepo" "\\backup\1CRepo\current" /MIR
crserver.exe -start

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

Копия, снятая на ходу во время помещения, может оказаться нецелостной. Не копируйте каталог работающего хранилища.

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

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

Проверка работоспособности. Раз в месяц разверните копию хранилища на тестовом сервере и подключитесь к ней. Копия, которую ни разу не поднимали, — не копия.

Регламент обслуживания хранилища
Выполнено: 0 / 7

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

Нужна ли отдельная лицензия на сервер хранилища?
Нет. Сервер хранилища входит в платформу и отдельной лицензии не требует. Лицензии нужны конфигураторам разработчиков, как при обычной работе.
Можно ли держать несколько хранилищ на одном crserver?
Да. Один сервер обслуживает сколько угодно хранилищ: каждое — подкаталог внутри корня из ключа -d, адрес вида tcp://сервер/имя.
Как отключить базу от хранилища?
В Конфигураторе: Конфигурация → Хранилище конфигурации → Отключиться от хранилища. Конфигурация в базе останется в том состоянии, в каком была на момент отключения.
Что делать, если забыт пароль администратора хранилища?
Восстановить каталог хранилища из копии, где пароль известен. Штатного сброса нет, поэтому пароль администратора храните в менеджере паролей команды.
Можно ли перенести хранилище на другой сервер?
Да. Остановите службу, скопируйте каталог хранилища целиком в корень нового crserver той же версии и поменяйте у разработчиков адрес подключения.