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