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