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

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

Как подключить расширение 1С к хранилищу

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

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

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

Материал ориентирован на конфигуратор в режиме обычного приложения и управляемом интерфейсе «Такси». Версии платформы 8.3 поддерживают хранилище расширений, однако точные названия пунктов меню могут немного отличаться в зависимости от релиза.

Что нужно подготовить перед подключением

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

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

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

Создание хранилища для расширения

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

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

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

Пошаговое подключение расширения к хранилищу

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

Порядок подключения
  1. 1
    Откройте конфигуратор под своим пользователем информационной базы
  2. 2
    Перейдите в меню «Конфигурация → Расширения конфигурации»
  3. 3
    Выделите нужное расширение в списке
  4. 4
    Выполните команду «Подключиться к хранилищу» из контекстного меню
  5. 5
    Укажите путь к каталогу хранилища или адрес сервера хранилища
  6. 6
    Введите имя и пароль пользователя хранилища
  7. 7
    Подтвердите получение данных из хранилища — локальное расширение будет заменено версией из хранилища
  8. 8
    Обновите конфигурацию базы данных (F7) и проверьте работу расширения

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

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

Ежедневная работа: захват, изменение и помещение объектов

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

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

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

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

Проверка результата и контроль состояния

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

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

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

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

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

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

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

Захват объекта
Норма

У объекта появляется пиктограмма захвата вашим пользователем

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

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

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

Версия в истории хранилища увеличивается, комментарий сохранён

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

Ошибка помещения из-за устаревшей версии — требуется обновление из хранилища

Работа расширения в базе
Норма

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

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

Расширение отключено или не применяется — проверяйте безопасный режим и активность расширения

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

Ограничения, альтернативы и когда хранилище не нужно

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

Для небольших команд и одиночных разработчиков альтернативой служит выгрузка расширения в файл (*.cfe) и хранение версий во внешней системе контроля версий, например Git. Это требует дисциплины при ручной выгрузке, зато даёт ветвление и слияние, которых у хранилища нет. Также существует связка: хранилище для оперативной работы плюс периодическая выгрузка в Git для долгосрочной истории.

Маршрут решения

Как выбрать вариант

Команда из двух и более разработчиков правит одно расширениеИспользуйте хранилище расширения — захват объектов исключит взаимное перезаписывание
Расширение ведёт один разработчикДостаточно регулярной выгрузки в файл .cfe и резервных копий, хранилище избыточно
Нужны ветки, code review и интеграция с CIВыгружайте расширение в файлы конфигуратора или EDT и используйте Git
В инфраструктуре уже внедрена EDTРассмотрите разработку расширения в 1C:EDT с хранением проекта в Git вместо классического хранилища

При миграции между инструментами помните: история классического хранилища не переносится в Git автоматически. Если история изменений критична, выгрузите версии последовательно или сохраните само хранилище в архиве как справочный источник.

Итог

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

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

FAQ

Можно ли подключить расширение к тому же хранилищу, что и основная конфигурация?

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

Что произойдёт с моими доработками при подключении к хранилищу?

Локальное содержимое расширения будет заменено версией из хранилища. Если есть несохранённые в хранилище изменения, сначала выгрузите расширение в файл .cfe, чтобы иметь возможность вернуть доработки вручную.

Как отключить расширение от хранилища?

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

Почему объекты расширения недоступны для редактирования после подключения?

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

Нужно ли обновлять конфигурацию базы данных после помещения объектов в хранилище?

Помещение в хранилище само по себе не меняет работающую базу. Чтобы изменения применились в режиме Предприятия, выполните обновление конфигурации базы данных (F7) и убедитесь, что расширение активно.

Можно ли работать с хранилищем расширения через 1C:EDT?

1C:EDT использует иную модель — проектную, с ориентацией на Git. Классическое хранилище расширений в EDT не применяется; для командной работы в EDT проект расширения хранится в системе контроля версий.