При обслуживании, переносе или создании резервных копий информационных баз 1С:Предприятия у разработчиков и администраторов часто возникает вопрос: сохраняются ли подключенные расширения конфигурации при различных сценариях выгрузки? Потребуется ли повторно подключать расширение после восстановления базы из архивной копии или загрузки конфигурации?
Рассмотрим детально, как платформа 1С:Предприятие 8.3 обрабатывает расширения при создании файла выгрузки информационной базы (.dt), выгрузке файла конфигурации (.cf), а также как устроен механизм хранения расширений и их собственных данных.
Проанализируем механизм работы стандартного архива базы. Выгрузка информационной базы в файл .dt («Администрирование» — «Выгрузить информационную базу...») представляет собой полный логический снимок всей информационной базы 1С.
В файл выгрузки .dt включаются:
Таким образом, при восстановлении базы через команду «Администрирование» — «Загрузить информационную базу...» из файла .dt повторно подключать расширения не требуется. Все расширения восстановятся автоматически в том состоянии и с теми настройками, в которых они находились в момент создания выгрузки.
Разберем распространенное заблуждение относительно файла конфигурации .cf («Конфигурация» — «Сохранить конфигурацию в файл...»).
Файл .cf содержит исключительно структуру и модули основной конфигурации. Расширения конфигурации не входят в файл .cf и при сохранении конфигурации полностью игнорируются.
Если выгрузить .cf из базы с расширениями, а затем загрузить этот файл в чистую информационную базу, расширений в ней не окажется. Для сохранения и переноса самих расширений предусмотрен отдельный механизм и свой формат файла — .cfe.
Рассмотрим, как выгрузить и подключить расширение отдельно от основной конфигурации и данных:
.cfe..cfe.Платформа также поддерживает объединение расширений через команду «Сравнить, объединить с конфигурацией из файла...» (для формата .cfe) и одновременное подключение множества расширений, если их заимствованные объекты и методы не вызывают конфликтов.
Выясним, как сохраняются данные, накопленные в объектах расширений. Начиная с платформы 8.3.14, расширения могут содержать собственные справочники, документы, регистры сведений и дополнительные реквизиты к типовым объектам.
Важные особенности хранения:
.bak в MS SQL Server или дампа pg_dump в PostgreSQL) вся структура расширений и все их данные сохраняются целиком.Разберем нюансы, с которыми можно столкнуться при переносе и обновлении базы с расширениями:
Посмотрим, как управлять расширениями в пакетном режиме при автоматической сборке или развертывании релизов:
Для загрузки или обновления расширения из файла .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