К статье
Практический материал

Разработка и Конфигурация · 10 мин

Хранилище конфигурации 1С: как пользоваться

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

Хранилище конфигурации — встроенный в платформу 1С:Предприятие механизм коллективной разработки. Оно хранит историю изменений конфигурации по версиям, контролирует, кто из разработчиков редактирует конкретный объект, и не даёт двум специалистам одновременно изменить один и тот же модуль или справочник. Без хранилища совместная работа над конфигурацией превращается в ручной обмен cf-файлами с неизбежной потерей изменений.

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

Механизм доступен в конфигураторе через меню «Конфигурация → Хранилище конфигурации». Для управления хранилищем (создание, добавление пользователей, отмена чужих захватов) нужны административные права в самом хранилище — они задаются отдельно от прав пользователей информационной базы.

Что такое хранилище конфигурации и когда оно нужно

Хранилище — это отдельный каталог (файловая папка или каталог на сервере), где платформа хранит конфигурацию в виде последовательности версий. Каждая версия фиксирует состояние конфигурации на момент помещения изменений: какие объекты изменились, кем и с каким комментарием. Из хранилища можно получить любую версию целиком — это встроенная система контроля версий для 1С.

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

Как создать хранилище и подключиться к нему

Создание хранилища выполняет администратор. В конфигураторе базы, которая станет эталонной, откройте «Конфигурация → Хранилище конфигурации → Создать хранилище» и укажите путь к пустому каталогу. Каталог должен быть доступен по сети всем разработчикам — обычно это общая сетевая папка. При создании задаётся имя и пароль администратора хранилища.

После создания добавьте пользователей: «Конфигурация → Хранилище конфигурации → Администрирование → Пользователи». Каждому разработчику заводится отдельное имя — по нему в истории версий будет видно авторство изменений. Работать всем под одной учётной записью — плохая практика: теряется весь смысл журнала версий.

Разработчики подключаются из своих локальных баз: «Конфигурация → Хранилище конфигурации → Подключиться», указывают путь к хранилищу, имя и пароль. Платформа предложит получить конфигурацию из хранилища — соглашайтесь, чтобы локальная конфигурация точно совпадала с хранилищем. Важно: каждый разработчик работает в собственной копии базы, а не в общей рабочей базе.

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

Захват объектов и внесение изменений

Перед редактированием объект нужно захватить: выделите его в дереве конфигурации, откройте контекстное меню и выберите «Захватить в хранилище» (или используйте кнопку на панели). Можно захватывать объекты пакетно — например, справочник целиком вместе с его формами и модулями. При захвате есть опция «получать из хранилища» — она сначала загрузит актуальную версию объекта, чтобы вы не правили устаревшую копию.

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

Для массовых операций удобно окно «Работа с хранилищем конфигурации» («Конфигурация → Хранилище конфигурации → Работа с хранилищем»): в нём виден список всех объектов с фильтрами по статусу и пользователю, можно захватывать и отменять захват группами.

Помещение изменений и работа с версиями

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

Перед помещением полезно выполнить «Сравнить с хранилищем» — вы увидите точный перечень своих изменений и не отправите лишнего. Если правки оказались ошибочными, используйте «Отменить захват» с откатом объекта к версии хранилища — локальные изменения по этому объекту будут потеряны.

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

Типичные ошибки при работе с хранилищем

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

Типичные ошибки
01
Долго держать объекты захваченными — коллеги простаивают или начинают править в обход, что ведёт к конфликтам при слиянии
02
Помещать изменения без комментария — через месяц невозможно понять, зачем делалась правка и к какой задаче она относится
03
Править устаревшую копию объекта без получения актуальной версии из хранилища — при помещении затираются чужие свежие изменения
04
Работать всей командой в одной общей базе вместо личных копий — хранилище не спасает от одновременного обновления конфигурации БД
05
Отменять чужой захват без согласования — коллега теряет непомещённые правки

Отдельная группа проблем — «зависшие» захваты: разработчик ушёл в отпуск, а объекты остались захваченными. Администратор снимает такие захваты через «Администрирование → Отменить захват», но перед этим стоит убедиться, что в локальной базе коллеги нет ценных непомещённых изменений.

Ограничения хранилища и альтернативы

Классическое хранилище не умеет ветвления и слияния веток — история линейна. Если два разработчика изменили один объект, автоматического merge не будет: кто поместил позже, тот и определяет итоговое состояние. Для параллельной разработки нескольких крупных функциональностей приходится выделять отдельные хранилища и сливать их сравнением-объединением конфигураций вручную.

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

Варианты организации версионирования

Классическое хранилище конфигурации

Подходит небольшим командам с линейной разработкой. Простое администрирование, но нет ветвления и merge.

1C:EDT с Git

Подходит распределённым командам и проектам с ветвлением, код-ревью и CI. Требует перехода на EDT и освоения Git.

Выгрузка конфигурации в файлы конфигуратора + Git

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

Без хранилища (один разработчик)

Допустимо для единичных доработок, но история изменений ведётся вручную через копии cf — высок риск потери версий.

Как проверить, что работа с хранилищем настроена правильно

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

Контрольные точки

Как проверить результат

Пиктограммы объектов в дереве конфигурации
Норма

Ваши захваченные объекты отмечены, чужие блокировки видны с указанием пользователя

Тревожный признак

Объекты не захватываются или статус не отображается — подключение к хранилищу потеряно

История хранилища после помещения
Норма

Появилась новая версия с вашим именем и комментарием

Тревожный признак

Версии нет — помещение не завершилось, проверьте сообщения об ошибках

Получение изменений коллегой
Норма

После «Обновить из хранилища» правки появились в его базе

Тревожный признак

Изменений нет — проверьте, что коллега подключён к тому же хранилищу

Каталог хранилища
Норма

Каталог доступен по сети и включён в резервное копирование

Тревожный признак

Каталог на локальном диске одного из компьютеров без бэкапа — риск полной потери истории

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

Можно ли работать с хранилищем через интернет, а не по локальной сети?

Стандартный механизм рассчитан на доступ к общему каталогу. Для удалённой работы обычно используют VPN к сети с хранилищем, публикацию через сервер хранилища (1С:Предприятие поддерживает подключение по TCP и HTTP через веб-сервер) либо переход на EDT с Git, где сетевая работа решается штатно.

Что делать, если хранилище повреждено?

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

Можно ли подключить к одному хранилищу несколько разных конфигураций?

Нет. Хранилище привязано к одной конфигурации. Для отдельной конфигурации создаётся отдельное хранилище. Общие объекты между конфигурациями переносятся через сравнение-объединение или загрузку-выгрузку.

Как вернуть конфигурацию к старой версии?

Откройте историю хранилища, выберите нужную версию и используйте команду получения конфигурации этой версии — либо в текущую базу (с последующим обновлением конфигурации БД), либо сохраните её в cf-файл для загрузки в отдельную базу. Перед откатом рабочей базы сделайте резервную копию.

Нужно ли хранилище, если разработчик один?

Не обязательно, но полезно: хранилище даёт историю версий с комментариями и возможность отката. Более лёгкая альтернатива для одиночной работы — регулярное сохранение cf-файлов с датой в имени или выгрузка конфигурации в файлы под контроль Git.

Итог

Что важно запомнить

Цикл работы с хранилищем: подключиться → захватить объект → изменить → поместить с комментарием. Каждый разработчик работает в своей копии базы, изменения обмениваются через хранилище, а его каталог обязательно резервируется. Для ветвления и распределённых команд рассмотрите EDT с Git — классическое хранилище историю хранит, но ветки не поддерживает.