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

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

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

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

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

Механизм встроен в платформу 1С:Предприятие и не требует установки сторонних программ. Работа ведётся через конфигуратор: разработчик захватывает нужные объекты, изменяет их в своей базе, а затем помещает результат обратно в хранилище. Пока объект захвачен одним пользователем, остальные могут его просматривать, но не могут изменять.

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

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

Хранилище конфигурации — это файл или каталог специального формата (обычно файл с расширением 1cd в каталоге хранилища), в котором платформа сохраняет все версии конфигурации и данные о захватах объектов. Физически хранилище размещают в общей сетевой папке, на сервере или публикуют через веб-сервер для доступа по HTTP/HTTPS.

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

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

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

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

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

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

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

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

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

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

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

Помещение изменений в хранилище

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

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

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

Обновление конфигурации из хранилища и история версий

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

Обновляться из хранилища стоит регулярно — минимум раз в день и обязательно перед началом новой задачи. Чем дольше ваша локальная конфигурация расходится с хранилищем, тем сложнее будет объединение, особенно если коллеги правили те же модули.

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

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

Организация доступа и обслуживание хранилища

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

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

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

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

Связь с хранилищем
Норма

В конфигураторе доступны команды захвата и помещения, статус объектов отображается

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

Команды хранилища неактивны или выдают ошибку доступа к каталогу

Помещение изменений
Норма

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

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

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

Обновление из хранилища
Норма

Конфигурация обновилась, в дереве видны объекты, изменённые коллегами

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

Появляются сообщения о конфликтах объединения или ошибки обновления

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

Итог

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

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

Частые вопросы о хранилище конфигурации 1С

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

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

Что делать, если объект захвачен коллегой, который недоступен?

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

Как посмотреть, кто и когда изменил конкретный объект?

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

Можно ли отключить базу от хранилища и что при этом произойдёт?

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

Чем хранилище 1С отличается от Git?

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