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