Разработка и Конфигурация · 9 мин
Как создать хранилище конфигурации в 1С
Пошаговая инструкция по созданию хранилища конфигурации в 1С: подготовка, настройка прав, подключение разработчиков, типичные ошибки и проверка результата.
Хранилище конфигурации в 1С — это централизованное место, где хранятся все версии конфигурации и история изменений каждого объекта. Без него командная разработка превращается в хаос: разработчики перезаписывают изменения друг друга, невозможно понять, кто и когда изменил конкретный модуль, а откат к рабочей версии требует ручного поиска старых cf-файлов.
Создать хранилище может пользователь с полными правами прямо из конфигуратора, без установки дополнительного ПО. Вся работа выполняется через стандартное меню «Конфигурация → Хранилище конфигурации». Для небольшой команды достаточно файлового хранилища в общей сетевой папке, для крупных проектов используют тот же механизм, но с продуманной схемой резервного копирования.
Ниже разобран полный цикл: от подготовки информационной базы до подключения разработчиков и проверки корректности работы. Отдельно описаны типичные ошибки, которые приводят к потере истории или блокировке объектов.
Что такое хранилище конфигурации и когда оно нужно
Хранилище конфигурации — это специальный каталог, в котором платформа 1С хранит все версии конфигурации, список пользователей хранилища и сведения о захваченных объектах. Каждый раз, когда разработчик помещает изменения, создаётся новая версия с комментарием, датой и автором.
Механизм решает три задачи. Во-первых, он предотвращает конфликты: объект, захваченный одним разработчиком, недоступен для редактирования остальным. Во-вторых, ведёт полную историю изменений с возможностью отката к любой версии. В-третьих, позволяет собрать актуальную конфигурацию из хранилища в любой момент, не завися от локальных баз разработчиков.
Хранилище обязательно, если над конфигурацией работают два и более разработчика. Для одиночной разработки оно тоже полезно как инструмент истории и отката, но не является обязательным — одиночный разработчик может обходиться выгрузками cf и внешними системами контроля версий.
Подготовка перед созданием хранилища
Перед созданием хранилища нужно выполнить три обязательных действия. Первое — сделать полную резервную копию информационной базы через выгрузку в dt или средствами СУБД. При создании хранилища конфигурация базы данных замещается конфигурацией из хранилища при первом обновлении, и ошибка на этом этапе без копии обернётся потерей доработок.
Второе — завершить все сеансы других разработчиков в базе, из которой создаётся хранилище. Создание требует монопольного доступа к конфигурации. Третье — подготовить пустой каталог: локальный или сетевой с полными правами на чтение и запись для всех будущих пользователей хранилища.
Для файлового хранилища важна скорость сетевого доступа. Если разработчики работают по медленному каналу, захват и помещение объектов будут заметно тормозить. В таком случае каталог лучше размещать на сервере в той же локальной сети, где работает большинство команды.
Пошаговое создание хранилища в конфигураторе
Откройте конфигуратор под пользователем с полными правами и правом «Администрирование». Дальнейшие действия выполняются через главное меню и занимают несколько минут.
- 1Откройте меню «Конфигурация → Хранилище конфигурации → Создать хранилище»
- 2Укажите путь к пустому каталогу хранилища (локальный или сетевой)
- 3Задайте имя и пароль администратора хранилища — по умолчанию предлагается текущий пользователь базы
- 4Подтвердите создание и дождитесь завершения помещения начальной версии конфигурации
- 5Проверьте, что пункт меню «Хранилище конфигурации» стал активным и показывает версию 1
После завершения операции текущая конфигурация помещается в хранилище как версия 1, а информационная база автоматически подключается к хранилищу. Пользователь, создавший хранилище, становится его администратором и получает право управлять учётными записями других разработчиков.
Если база уже была подключена к другому хранилищу ранее, платформа предложит отключиться от него. Соглашайтесь только если уверены, что старое хранилище больше не нужно или его история сохранена отдельно — отключение необратимо для текущей базы.
Настройка пользователей хранилища
Каждому разработчику нужна отдельная учётная запись в хранилище — она не совпадает автоматически с пользователями информационной базы. Учётные записи создаются через меню «Конфигурация → Хранилище конфигурации → Администрирование хранилища» на вкладке «Пользователи».
При добавлении пользователя укажите имя и пароль. Права в хранилище ограничены двумя уровнями: обычный пользователь может захватывать и помещать объекты, а администратор дополнительно управляет пользователями, может отменять чужие захваты и изменять версии хранилища. Не выдавайте права администратора всем подряд — возможность снять чужой захват при неосторожном использовании приводит к потере несохранённых изменений коллег.
Подключение информационных баз разработчиков
Каждый разработчик работает в собственной копии информационной базы, подключённой к общему хранилищу. Подключение выполняется в конфигураторе: «Конфигурация → Хранилище конфигурации → Подключиться к хранилищу», затем указывается путь к каталогу хранилища и учётные данные пользователя хранилища.
При первом подключении платформа предложит обновить конфигурацию базы данных из хранилища. Если локальная база разработчика содержит устаревшую версию, это нормально: после обновления она придёт в соответствие с актуальной версией. Если в локальной базе есть уникальные доработки, их нужно сначала перенести в хранилище или сохранить в виде cf-файла.
Как проверить результат
В меню «Хранилище конфигурации» активны пункты захвата и помещения
Пункты неактивны — база не подключена к хранилищу
В диалоге «История версий» видна последняя версия из хранилища
История пуста или недоступна — ошибка пути или прав
Объект захватывается, у коллег отображается как занятый
Захват не выполняется — проверьте права на каталог хранилища
Организация работы команды с хранилищем
Базовый цикл работы выглядит так: перед началом изменений разработчик захватывает нужные объекты, редактирует их, тестирует в своей базе, затем помещает изменения в хранилище с осмысленным комментарием. Захваченный объект помечается в хранилище именем пользователя, и остальные видят, что он занят.
Комментарии при помещении — не формальность. Через несколько месяцев по фразе «исправлена ошибка» невозможно понять, что именно менялось. Указывайте суть изменения и, при наличии, номер задачи из системы учёта. Это превращает историю версий в рабочий инструмент аудита.
Договоритесь в команде, что объекты захватываются на минимально необходимый срок. Разработчик, захвативший половину конфигурации «на всякий случай» и ушедший в отпуск, блокирует работу всех остальных — снимать его захваты администратору придётся вручную с риском потери изменений.
Для сборки релизов используйте отдельную «чистую» базу, в которую конфигурация загружается только из хранилища. Это гарантирует, что в релиз не попадут отладочные правки, забытые в чьей-то локальной базе.
Резервное копирование и обслуживание хранилища
Хранилище — единственная точка отказа всей истории разработки, поэтому его каталог нужно включить в регулярное резервное копирование. Достаточно копировать каталог целиком в период, когда никто не помещает изменения, либо использовать файловые снапшоты на уровне файловой системы.
Со временем хранилище разрастается, потому что хранит все версии без исключения. Если проект ведётся годами, можно периодически создавать новое хранилище от актуальной версии, архивируя старое в режиме «только чтение». Это ускоряет работу, но лишает быстрого доступа к старой истории — решение принимайте осознанно.
FAQ
Можно ли создать хранилище для базы, которая уже находится на поддержке у поставщика?
Да, хранилище совместимо с конфигурациями на поддержке. Объекты, закрытые от изменения правилами поддержки, нельзя будет захватить до изменения правил поддержки для них. Само создание хранилища правила поддержки не нарушает.
Что делать, если забыт пароль администратора хранилища?
Штатного способа восстановить пароль администратора хранилища нет. Если есть другой пользователь с правами администратора хранилища, он может сбросить пароль через администрирование. Если такого пользователя нет, хранилище придётся пересоздавать с потерей истории версий — поэтому заводите минимум двух администраторов.
Можно ли разместить хранилище в облачной папке вроде Dropbox или Яндекс.Диска?
Технически это иногда работает, но крайне не рекомендуется: механизмы синхронизации могут повредить файлы хранилища при одновременном доступе. Используйте выделенный сетевой каталог с прямым доступом по SMB.
Чем хранилище конфигурации отличается от EDT и Git?
Хранилище — встроенный механизм платформы, работающий на уровне объектов конфигурации и не требующий дополнительной инфраструктуры. 1C:EDT использует Git и текстовое представление конфигурации, что удобнее для ветвления и code review, но требует перехода команды на другую среду разработки.
Как отключить информационную базу от хранилища?
В конфигураторе выберите «Конфигурация → Хранилище конфигурации → Отключиться от хранилища». После отключения база снова становится самостоятельной, захваты снимаются, а связь с историей версий для этой базы теряется.
Что важно запомнить
Хранилище создаётся из конфигуратора в пустой каталог за несколько минут, но требует подготовки: резервной копии базы и монопольного доступа. Каждому разработчику нужна своя учётная запись и отдельная база, а каталог хранилища обязательно включается в резервное копирование.