Что происходит с расширениями при выгрузке информационной базы через конфигуратор 1С?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Рассмотрим детально, как платформа 1С:Предприятие 8.3 обрабатывает расширения при создании файла выгрузки информационной базы (.dt), выгрузке файла конфигурации (.cf), а также как устроен механизм хранения расширений и их собственных данных.

Поведение расширений при выгрузке и загрузке базы через файл .dt

Проанализируем механизм работы стандартного архива базы. Выгрузка информационной базы в файл .dt («Администрирование» — «Выгрузить информационную базу...») представляет собой полный логический снимок всей информационной базы 1С.

В файл выгрузки .dt включаются:

  1. Основная конфигурация базы данных.
  2. Все подключенные расширения конфигурации (их структура, программные модули и настройки).
  3. Данные таблиц информационной базы (как типовых объектов, так и собственных объектов метаданных, созданных внутри расширений).
  4. Пользователи базы и административные настройки.

Таким образом, при восстановлении базы через команду «Администрирование» — «Загрузить информационную базу...» из файла .dt повторно подключать расширения не требуется. Все расширения восстановятся автоматически в том состоянии и с теми настройками, в которых они находились в момент создания выгрузки.

Поведение расширений при выгрузке файла конфигурации .cf

Разберем распространенное заблуждение относительно файла конфигурации .cf («Конфигурация» — «Сохранить конфигурацию в файл...»).

Файл .cf содержит исключительно структуру и модули основной конфигурации. Расширения конфигурации не входят в файл .cf и при сохранении конфигурации полностью игнорируются.

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

Как правильно выгружать и переносить расширения (.cfe)

Рассмотрим, как выгрузить и подключить расширение отдельно от основной конфигурации и данных:

  1. Откроем список расширений через меню «Конфигурация» — «Расширения конфигурации».
  2. Выделим нужное расширение в списке.
  3. Нажмем кнопку «Сохранить конфигурацию в файл...» (или выберем соответствующий пункт в контекстном меню) и укажем путь для файла с расширением .cfe.
  4. Для загрузки расширения в другую базу достаточно в окне «Расширения конфигурации» нажать «Добавить» и выполнить команду «Конфигурация» — «Загрузить конфигурацию из файла...», указав сохраненный .cfe.

Платформа также поддерживает объединение расширений через команду «Сравнить, объединить с конфигурацией из файла...» (для формата .cfe) и одновременное подключение множества расширений, если их заимствованные объекты и методы не вызывают конфликтов.

Хранение данных расширений и создание бэкапов на уровне СУБД

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

Важные особенности хранения:

  1. Все данные объектов расширений физически размещаются в таблицах единой базы данных СУБД (PostgreSQL, MS SQL Server, Oracle, IBM DB2).
  2. При создании резервной копии средствами СУБД (например, файлов .bak в MS SQL Server или дампа pg_dump в PostgreSQL) вся структура расширений и все их данные сохраняются целиком.
  3. Внимание: если удалить расширение из информационной базы через конфигуратор или в режиме «1С:Предприятие», платформа удалит соответствующие таблицы из СУБД, и все данные объектов этого расширения будут безвозвратно утеряны.

Возможные ошибки валидации и безопасный режим при восстановлении

Разберем нюансы, с которыми можно столкнуться при переносе и обновлении базы с расширениями:

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

Автоматизация работы с расширениями через командную строку

Посмотрим, как управлять расширениями в пакетном режиме при автоматической сборке или развертывании релизов:

Для загрузки или обновления расширения из файла .cfe через командную строку:


"C:\Program Files\1cv8\common\1cestart.exe" CONFIG /F "C:\Bases\MyBase" /N "Admin" /P "Pass" /UpdateConfig "C:\Ext\MyExtension.cfe" -Extension "ИмяРасширения" /UpdateDBCfg

Для выгрузки расширения в файл .cfe:


"C:\Program Files\1cv8\common\1cestart.exe" CONFIG /F "C:\Bases\MyBase" /N "Admin" /P "Pass" /SaveConfigToFile "C:\Ext\MyExtension.cfe" -Extension "ИмяРасширения"

Для удаления расширения из базы:


"C:\Program Files\1cv8\common\1cestart.exe" CONFIG /F "C:\Bases\MyBase" /N "Admin" /P "Pass" /DeleteConfig -Extension "ИмяРасширения" /UpdateDBCfg
← На главную