Разработка и Конфигурация · 12 мин
Как подключиться к хранилищу расширений в 1С
Как подключиться к хранилищу расширений конфигурации в 1С: создание хранилища, настройка доступа, захват объектов, типичные ошибки и проверка подключения.
Хранилище расширений в 1С — это механизм командной разработки, который позволяет нескольким специалистам одновременно работать над одним расширением конфигурации, не мешая друг другу. Оно работает по тому же принципу, что и классическое хранилище конфигурации: объекты захватываются на редактирование, изменения помещаются в хранилище версиями, а историю правок можно отследить по любому объекту.
Подключение к хранилищу расширений требуется, когда доработки ведутся через расширение, а не через изменение основной конфигурации. Это типовой сценарий для конфигураций на поддержке: типовой код не трогается, вся кастомизация выносится в расширение, а расширение, в свою очередь, разрабатывается командой через хранилище.
Процедура подключения не отличается сложностью, но содержит несколько неочевидных моментов: хранилище расширения привязано к конкретному расширению конкретной информационной базы, права настраиваются отдельно от основного хранилища, а ошибки в путях и версиях платформы приводят к конфликтам. Ниже разобран полный цикл — от создания хранилища до проверки корректности подключения.
Что такое хранилище расширений и когда оно нужно
Хранилище расширения — это файловое хранилище версий, которое платформа 1С ведёт отдельно для конкретного расширения конфигурации. Физически это каталог с файлом 1Cv8.1CD (или набором служебных файлов), доступный разработчикам по сети. Каждое расширение в базе может иметь своё собственное хранилище, не связанное с хранилищем основной конфигурации.
Механизм нужен в трёх ситуациях. Первая — над расширением работает больше одного разработчика, и нужно исключить перезатирание чужих изменений. Вторая — требуется история версий расширения с возможностью отката и сравнения. Третья — сборка расширения автоматизирована: файл .cfe выгружается из хранилища системой непрерывной интеграции, а не вручную из чьей-то базы.
Если расширение ведёт один человек и не нужна история версий, хранилище можно не использовать — достаточно периодически выгружать расширение в файл .cfe и складывать копии в резервное хранилище. Но как только в разработке участвуют двое, хранилище становится практически обязательным.
Подготовка: что проверить до подключения
До подключения убедитесь, что выполнены базовые условия. Во-первых, расширение должно существовать в вашей информационной базе — хранилище привязывается к конкретному расширению, а не к базе целиком. Если расширения ещё нет, создайте его через меню «Конфигурация → Расширения конфигурации → Создать».
Во-вторых, у всех участников должна быть совместимая версия платформы 1С. Хранилище, созданное на более новой версии платформы, может не открыться на старой. Договоритесь в команде об единой версии и зафиксируйте её в регламенте разработки.
В-третьих, каталог хранилища должен быть доступен по сети всем разработчикам с правами на чтение и запись. Обычно это общая папка на сервере. Проверьте доступ заранее: откройте путь в проводнике под своей учётной записью и убедитесь, что можете создать там файл.
Откройте список расширений в конфигураторе и убедитесь, что нужное расширение есть в базе
Сетевой путь к хранилищу открывается, в папке можно создать файл
Сверьте версию платформы с коллегами — несовпадение приводит к ошибкам формата
У вас есть имя и пароль пользователя хранилища расширения
Как создать хранилище расширения
Если хранилище ещё не создано, это делает администратор разработки. Откройте конфигуратор под пользователем с правами администратора, перейдите в меню «Конфигурация → Расширения конфигурации». В открывшемся списке выделите нужное расширение и в меню расширения выберите пункт «Хранилище расширения → Создать хранилище» (точное название пунктов может немного отличаться в зависимости от версии платформы).
Укажите путь к каталогу, где будет размещено хранилище. Каталог должен быть пустым и доступным по сети всем участникам. После создания задайте пользователей хранилища: для каждого разработчика создаётся отдельная учётная запись с именем и паролем. Не работайте все под одним пользователем — иначе теряется смысл захвата объектов и истории изменений.
Сразу после создания хранилища поместите в него текущее состояние расширения. Это станет первой версией, от которой начнётся история. Если расширение уже активно дорабатывалось без хранилища, убедитесь, что в базе находится актуальная версия кода, — именно она уйдёт в первую версию хранилища.
Пошаговое подключение к существующему хранилищу
Подключение выполняется из конфигуратора информационной базы разработчика. Важно: каждый разработчик подключается из своей собственной копии базы (или из отдельной базы, развёрнутой из общего шаблона), а не из общей рабочей базы.
- 1Откройте конфигуратор своей информационной базы под своим пользователем
- 2Перейдите в меню «Конфигурация → Расширения конфигурации»
- 3Выделите нужное расширение в списке
- 4Откройте меню расширения и выберите «Хранилище расширения → Подключиться к хранилищу»
- 5Укажите сетевой путь к каталогу хранилища
- 6Введите имя и пароль своего пользователя хранилища
- 7Подтвердите подключение и дождитесь получения данных из хранилища
- 8Проверьте, что объекты расширения отображаются со статусами хранилища (замки, признаки захвата)
После подключения платформа сравнит состояние расширения в вашей базе с последней версией в хранилище. Если расширение в базе отличается, конфигуратор предложит получить данные из хранилища. Внимательно отнеситесь к этому шагу: получение заменит локальную версию расширения той, что лежит в хранилище. Если в базе есть несохранённые нигде доработки, сначала выгрузите их в файл .cfe.
Признак успешного подключения — появление в окне расширения команд работы с хранилищем (захватить, поместить, получить, показать историю) и индикаторов состояния объектов. Если меню хранилища остаётся неактивным, подключение не выполнено.
Ежедневная работа: захват, изменение, помещение
Рабочий цикл с хранилищем расширения повторяет цикл работы с обычным хранилищем конфигурации. Перед изменением объекта захватите его: платформа заблокирует объект в хранилище за вами. После завершения правок выполните помещение — изменения уйдут в хранилище новой версией, а объект освободится для коллег.
Периодически выполняйте получение данных из хранилища, чтобы подтянуть изменения, которые поместили коллеги. Чем дольше вы работаете без получения, тем выше вероятность конфликтов при сравнении и объединении. Разумная практика — получать изменения минимум раз в день и перед началом правки объектов, которые могли затрагивать другие.
Если объект захвачен коллегой, а вам срочно нужно его изменить, не отменяйте чужой захват без предупреждения — несохранённые правки коллеги в его базе потеряют связь с хранилищем. Сначала договоритесь с ним, пусть он поместит изменения или отменит захват сам.
Проверка подключения и решение типовых проблем
После подключения выполните контрольную проверку: захватите какой-нибудь тестовый объект, внесите минимальное изменение, поместите его в хранилище и посмотрите историю — там должна появиться новая версия с вашим именем пользователя. Затем получите данные из хранилища и убедитесь, что ошибок сравнения нет.
Как проверить результат
Команды захвата, помещения и истории доступны
Пункты меню неактивны — подключение не выполнено
Отображаются версии с именами пользователей хранилища
История пуста или недоступна — проверьте путь и права
Объект захватывается, у коллег отображается замок
Ошибка доступа к файлу хранилища — проблемы с сетевыми правами
Изменения приходят без ошибок сравнения
Конфликты версий или ошибка формата — несовпадение платформ
Наиболее частые проблемы при подключении: неверный путь к каталогу (проверьте, что путь указан именно к каталогу хранилища расширения, а не основной конфигурации), отсутствие прав записи на сетевую папку (обратитесь к системному администратору) и несовпадение версий платформы (обновите платформу до версии команды). Ошибка «пользователь не найден» означает, что администратор хранилища ещё не создал вашу учётную запись — запросите её.
Альтернативы хранилищу расширений
Хранилище расширений — не единственный способ командной разработки расширений. Распространённая альтернатива — выгрузка расширения в файлы конфигурации (XML) и работа через Git. Этот подход даёт ветвление, код-ревью через merge request и интеграцию с привычными инструментами разработки, но требует дисциплины и настройки конвейера выгрузки-загрузки.
Сравнение вариантов
Подходит небольшим командам без DevOps-инфраструктуры. Встроено в платформу, не требует настройки. Ограничение: нет ветвления и удобного код-ревью
Подходит командам с выстроенными процессами CI/CD. Даёт ветки, ревью, автосборку .cfe. Ограничение: нужна настройка выгрузки и дисциплина синхронизации
Допустимо только при одном разработчике. Расширение периодически выгружается в .cfe для резерва. Ограничение: нет истории версий и защиты от потери кода
Выбор зависит от размера команды и зрелости процессов. Для двух-пяти разработчиков без выделенного DevOps-инженера хранилище расширений — самый быстрый и надёжный вариант. Для распределённых команд с формальным код-ревью лучше подходит Git.
Что важно запомнить
Хранилище расширения привязано к конкретному расширению конкретной базы и создаётся в отдельном пустом каталоге. Подключение выполняется из конфигуратора через список расширений, с указанием пути и персональной учётной записи. Работайте по циклу «захват — изменение — помещение», регулярно получайте изменения коллег и следите за единой версией платформы в команде.
Частые вопросы
Можно ли подключить одно расширение к хранилищу из нескольких баз?
Да, именно так и работает командная разработка: каждый разработчик подключается к одному и тому же хранилищу из своей собственной информационной базы. Нельзя подключаться из общей рабочей базы, где работают пользователи.
Что делать, если хранилище расширения повреждено?
Сначала проверьте хранилище утилитой тестирования и исправления файловой базы (chdbfl или тестирование через конфигуратор, в зависимости от формата). Если восстановить не удаётся, создайте новое хранилище и поместите в него актуальную версию расширения из базы разработчика, у которого самая свежая копия. История версий при этом будет потеряна, поэтому каталог хранилища стоит включать в резервное копирование.
Нужны ли административные права на базу для подключения к хранилищу?
Для подключения и повседневной работы (захват, помещение, получение) достаточно прав на разработку расширений. Создание хранилища и управление его пользователями обычно требует административных прав на информационную базу.
Как отключить расширение от хранилища?
В меню хранилища расширения есть команда отключения. После отключения расширение остаётся в базе, но теряет связь с хранилищем: захваты снимаются, история становится недоступной. Перед отключением поместите все незавершённые изменения, иначе они не попадут в хранилище.
Можно ли перенести хранилище расширения на другой сервер?
Да. Скопируйте весь каталог хранилища на новое место, сохранив структуру файлов, затем все разработчики отключаются от старого пути и подключаются заново по новому. Перенос выполняйте в момент, когда никто не работает с хранилищем, чтобы не потерять помещаемые изменения.
Почему конфигуратор не видит пункты меню хранилища расширения?
Чаще всего причина в том, что расширение не выделено в списке или открыт не тот режим: команды хранилища доступны именно из окна списка расширений конфигурации. Также проверьте, что версия платформы поддерживает хранилища расширений и что у вашего пользователя базы есть права на разработку.