Ведём разработку вдвоём и больше: привязка информационной базы к хранилищу конфигурации, захват объектов и история версий
Содержание
Чтобы подключить базу
1С к хранилищу, откройте её в Конфигураторе и выберите Конфигурация → Хранилище конфигурации → Подключиться к хранилищу.... Укажите путь к хранилищу (папку для файлового варианта или адрес вида tcp://server/repo для сервера хранилища), имя пользователя хранилища и пароль. Конфигурация базы будет заменена конфигурацией из хранилища, после чего останется обновить конфигурацию
базы данных (F7).
Порядок одинаков для любой конфигурации — Бухгалтерии, ЗУП, УТ, самописной: хранилище работает на уровне платформы 8.3, а не прикладного решения. Различаются только способ доступа к хранилищу и то, что делать с доработками, которые уже есть в базе.
Что подготовить до подключения к хранилищу
Подключение заменяет конфигурацию базы. Всё, что есть в базе и отсутствует в хранилище, пропадёт из основной конфигурации. Поэтому сначала соберите исходные данные и страховку.
📋 Что нужно иметь на руках:
- 📁 путь к хранилищу — сетевая папка (
\\fs01\repo\buh) или адрес сервера хранилища (tcp://repo-srv/buh); - 👤 учётная запись в хранилище — её создаёт администратор хранилища; одна учётка на одного разработчика;
- 🔢 версия платформы — желательно та же, что у сервера хранилища и у коллег;
- 💾 выгрузка базы —
Администрирование → Выгрузить информационную базу...в файл.dt; - 🧾 файл текущей конфигурации —
Конфигурация → Сохранить конфигурацию в файл..., если в базе есть несохранённые в хранилище доработки.
Если в базе есть правки, которых нет в хранилище, сохраните конфигурацию в файл .cf до подключения. После привязки их можно будет вернуть сравнением и объединением, а без файла — только восстановлением из .dt.
Файловое хранилище или сервер хранилища
| Вариант | Путь при подключении | Когда подходит | Что проверить |
|---|---|---|---|
| Файловое | \\server\share\repo или D:\Repo\buh | 1–3 разработчика в одной сети | права на запись в папку у каждого |
Сервер хранилища (crserver) | tcp://repo-srv/buh или tcp://repo-srv:1542/buh | команда, удалённые разработчики | служба запущена, порт 1542 открыт |
| Через веб-сервер | http://web-srv/repo/repository.1ccr | доступ из-за периметра без VPN | публикация хранилища на веб-сервере |
Сервер хранилища ставится отдельным компонентом из дистрибутива платформы и работает как служба Windows. По умолчанию он слушает порт 1542. Если порт другой, его указывают в адресе после двоеточия.
💡 Сетевую папку файлового хранилища подключайте по UNC-пути, а не через букву диска. Буква Z: у коллеги может указывать на другую шару, и путь в настройках перестанет совпадать.
Пошаговое подключение базы к хранилищу конфигурации
Ниже — вариант для базы, которую привязывают к уже существующему хранилищу. Если хранилища ещё нет, его создают из этой же базы командой Конфигурация → Хранилище конфигурации → Создать хранилище... — тогда замены конфигурации не будет, база сразу становится источником.
Шаг 1. Открыть базу в Конфигураторе
Запустите 1С, выберите базу и нажмите Конфигуратор. Войдите пользователем с правами администратора информационной базы. Пользователи базы и пользователи хранилища — это разные списки, логин и пароль здесь могут не совпадать.
Шаг 2. Открыть окно подключения
Выберите Конфигурация → Хранилище конфигурации → Подключиться к хранилищу.... Откроется окно с тремя полями:
- Путь хранилища — папка или адрес
tcp:///http://; для папки есть кнопка выбора каталога. - Пользователь — имя из списка пользователей хранилища.
- Пароль — пароль этого пользователя хранилища.
Шаг 3. Подтвердить замену конфигурации
Если конфигурация базы отличается от конфигурации хранилища, платформа предупредит, что текущая конфигурация будет заменена. Согласитесь — это нормальное поведение. Остановиться можно здесь, если вы не сохранили свои правки в .cf.
Шаг 4. Обновить конфигурацию базы данных
После загрузки из хранилища основная конфигурация изменилась, а структура базы данных — ещё нет. Выполните Конфигурация → Обновить конфигурацию базы данных (F7) и примите изменения.
Обновление структуры базы требует монопольного доступа. В рабочей базе с пользователями делайте его вне рабочего времени и предупредите людей: открытые сеансы придётся завершить. Для разработки лучше держать отдельную копию базы.
Шаг 5. Проверить, что привязка работает
Откройте дерево конфигурации (Конфигурация → Открыть конфигурацию). У каждого объекта слева появится значок состояния в хранилище. В меню Хранилище конфигурации станут доступны команды захвата, помещения и истории — признак того, что база подключена.
Подключение из командной строки
Для скриптов и стендов CI базу привязывают пакетным запуском Конфигуратора:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F "D:\Bases\Dev" /N "Admin" /P "" ^
/ConfigurationRepositoryF "tcp://repo-srv/buh" ^
/ConfigurationRepositoryN "ci-bot" /ConfigurationRepositoryP "secret" ^
/ConfigurationRepositoryBindCfg -forceBindAlreadyBindedUser -forceReplaceCfg ^
/UpdateDBCfg /Out "D:\Logs\bind.log"
Ключ -forceReplaceCfg разрешает заменить конфигурацию
базы без вопроса, -forceBindAlreadyBindedUser — привязать пользователя хранилища, который уже числится подключённым из другой базы. Номер платформы в пути подставьте свой. Для последующих обновлений из хранилища используют /ConfigurationRepositoryUpdateCfg.
Пользователи хранилища, пароли и права доступа
Безопасность хранилища держится на двух уровнях: учётные записи внутри хранилища и доступ к самим файлам.
Учётные записи внутри хранилища
Список пользователей ведёт администратор хранилища: Конфигурация → Хранилище конфигурации → Администрирование.... В этом окне создают пользователя, задают пароль и права флажками в его карточке.
👥 Практичная схема ролей:
- 🛠 разработчик — может захватывать объекты и помещать изменения;
- 👀 читатель — только получать конфигурацию и смотреть историю (тестировщик, консультант);
- 🔑 администратор — управляет пользователями и может снимать чужие захваты;
- 🤖 сервисная учётка — для CI и автосборок, только чтение.
Не давайте одну учётку на двоих. Хранилище помнит, кто захватил объект и кто поместил версию. Общий логин «dev» превращает историю в бесполезный список без авторов.
Доступ к файлам и сети
- 📁 Файловое хранилище: пароль хранилища защищает от случайных действий, но не от того, у кого есть доступ к папке. Права на шару давайте только разработчикам.
- 🖥 Сервер хранилища: клиенты не трогают файлы напрямую, папку можно закрыть для всех, кроме учётной записи службы
crserver. - 🌐 HTTP: публикация открывает хранилище наружу — включайте HTTPS на веб-сервере и не оставляйте пустых паролей.
💡 Пароль администратора хранилища храните отдельно от рабочих паролей. Если его потерять, снимать чужие захваты и добавлять людей будет некому.
Захват, помещение и отмена захвата объектов
После подключения основная конфигурация доступна только для чтения. Править можно лишь захваченные объекты.
| Действие | Где в меню | Что происходит |
|---|---|---|
| Захват | Хранилище конфигурации → Захватить объекты... или контекстное меню объекта | объект закрепляется за вами, коллеги не могут его менять |
| Помещение | Поместить изменения объектов в хранилище... | ваши правки становятся новой версией с комментарием |
| Отмена захвата | Отменить захват... | объект освобождается, локальные правки по нему можно откатить |
| Получение | Получить конфигурацию из хранилища / Обновить конфигурацию из хранилища | в базу приходят чужие изменения |
Как читать значки
- 🟢 зелёный замок — объект захвачен вами;
- 🔴 красный замок — объект захвачен другим пользователем;
- без замка — объект свободен.
Приёмы, без которых в команде тесно
- Захватывайте рекурсивно только по необходимости. Флажок рекурсивного захвата на справочнике забирает формы, макеты и модули. Коллега, которому нужна одна форма, будет ждать.
- Перед захватом получайте свежую версию. В окне захвата есть флажок получения захваченных объектов из хранилища. Если его снять, вы начнёте править устаревший модуль, а при помещении затрёте чужую правку.
- Пишите комментарий к помещению. «Доработка печати УПД, задача 1482» через полгода найдётся в истории за минуту. Пустой комментарий не найдётся никогда.
- Оставляйте объекты захваченными, если работа не закончена. В окне помещения есть флажок, который сохраняет захват после отправки версии — промежуточный результат уходит в хранилище, а объект остаётся за вами.
- Корень конфигурации захватывайте ненадолго. Он нужен для добавления новых объектов и смены свойств конфигурации. Добавили — поместили — освободили.
Отмена захвата с откатом изменений возвращает объект к версии из хранилища. Всё, что вы успели переписать в модуле, пропадёт. Если не уверены — сначала сохраните модуль в файл или поместите изменения.
История хранилища и сравнение версий
Каждое помещение создаёт версию с номером, автором, датой и комментарием. Список открывается командой Конфигурация → Хранилище конфигурации → История хранилища....
🔍 Что можно сделать в истории:
- посмотреть, какие объекты изменились в конкретной версии;
- сравнить две версии между собой или версию с текущей конфигурацией;
- сохранить любую версию в файл
.cf— удобно для отката или передачи на тестовую базу; - установить метку на версию, например «Релиз 2.4 в прод» — по ней потом быстро найти точку выпуска;
- получить конфигурацию определённой версии в базу.
Как найти, кто сломал модуль
- Откройте историю и задайте отбор по объекту — например, по общему модулю, который начал падать.
- В списке останутся только версии, где этот модуль менялся.
- Выделите две соседние версии и запустите сравнение — увидите построчную разницу и автора.
💡 Перед выпуском обновления в рабочую базу ставьте метку на версию. Если релиз придётся откатить, вы сохраните .cf с этой версии, а не будете вспоминать номер.
Чем история не заменяет резервную копию
Хранилище хранит конфигурацию, но не данные. Документы, справочники и настройки пользователей в него не попадают. Выгрузка .dt рабочей базы остаётся обязательной, а копию папки хранилища (или каталога сервера хранилища) включите в общий план бэкапа.
Ошибки при подключении к хранилищу и в работе
Частые ошибки и как их избежать
- 🚫 Подключили рабочую базу, где правили «по живому». Правки исчезли при замене конфигурации. Решение — заранее сохранить
.cfи после подключения перенести доработки сравнением. - 🚫 Забыли
F7после подключения. Конфигурация базы данных отстаёт от основной, пользователи работают со старой версией. Проверяйте признак изменённой конфигурации в заголовке. - 🚫 Захватили весь корень на неделю. Коллеги не могут добавить ни одного объекта. Корень — только на минуты.
- 🚫 Скопировали папку хранилища, пока в него помещали версию. Копия может оказаться неконсистентной. Бэкап делайте, когда никто не работает, или останавливайте службу сервера хранилища на время копирования, предупредив разработчиков.
Отключение базы и перенос хранилища
Иногда базу нужно отвязать — например, отдать копию на тестирование без доступа к хранилищу. Команда Конфигурация → Хранилище конфигурации → Отключиться от хранилища снимает привязку, конфигурация остаётся такой, какая была, и снова доступна для свободного редактирования.
Перед отключением поместите или отмените свои захваты. Объекты, захваченные из отключённой базы, в хранилище так и останутся за вами — освобождать их придётся администратору.
Если хранилище переехало на другой сервер или в другую папку, базу не нужно переподключать с потерей работы. Достаточно отключиться и подключиться заново по новому пути тем же пользователем. Совет: перед переездом попросите всех поместить изменения, чтобы не потерять незавершённые правки.