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

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

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

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

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

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

Ниже разобран полный цикл: от создания хранилища для расширения до захвата объектов, помещения изменений и проверки результата. Инструкции применимы к конфигуратору платформы 1С:Предприятие 8.3; в EDT механика командной разработки устроена иначе — через Git.

Когда расширению нужно собственное хранилище

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

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

Подготовка: права и ограничения

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

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

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

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

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

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

Подключение к существующему хранилищу

Если хранилище уже создано коллегой, подключение выполняется из того же окна расширений. Выделите расширение, откройте меню «Хранилище расширения» и выберите команду подключения. Укажите путь к каталогу хранилища — он должен совпадать с тем, что использовал администратор при создании. Затем введите имя пользователя хранилища и пароль, выданные администратором.

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

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

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

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

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

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

text
Конфигуратор → Конфигурация → Расширения конфигурации → выбрать расширение → Хранилище расширения → Подключиться к хранилищу → указать путь и учётные данные

Проверка результата и типичные ошибки

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

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

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

Альтернативы и частные сценарии

Хранилище расширения — не единственный способ командной работы. Если команда использует 1C:EDT, расширение разрабатывается как проект и версионируется через Git — это даёт ветвление, код-ревью и интеграцию с привычными инструментами. Для небольших команд промежуточный вариант — обмен файлами .cfe с дисциплиной именования версий, но он быстро перестаёт работать при росте числа участников.

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

Способы командной разработки расширения

Хранилище расширения

Подходит для работы в конфигураторе, простая настройка, но нет ветвления и ревью

Git через 1C:EDT

Полноценное версионирование с ветками и слияниями, но требует перехода команды на EDT

Обмен файлами .cfe

Минимальный порог входа для 1–2 разработчиков, при масштабировании приводит к конфликтам и потере истории

Итог

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

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

Частые вопросы

Можно ли подключить одно расширение к хранилищу из нескольких информационных баз?

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

Что делать, если забыт пароль пользователя хранилища?

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

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

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

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

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

Можно ли работать с хранилищем расширения без монопольного доступа?

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