Выгрузка расширения конфигурации 1С в файл: все способы
Содержание
Чтобы сохранить расширение 1С в файл, откройте конфигуратор, выберите Конфигурация → Расширения конфигурации, выделите нужное расширение и в меню окна выполните Конфигурация → Сохранить в файл.... Платформа запишет расширение в один файл с расширением .cfe, который потом загружается в любую базу с той же конфигурацией.
Есть ещё три пути: из пользовательского режима (без конфигуратора), пакетной командой 1cv8 DESIGNER /DumpCfg и программным кодом. Ниже — каждый способ по шагам, работа с хранилищем, типичные ошибки и порядок хранения версий.
Формат файла расширения — .cfe. Не путайте его с .cf (полная конфигурация) и .cfu (файл поставки обновления). Если вам прислали «расширение» в .cfu или .cf, это не расширение, и через окно расширений его не загрузить.
| Формат | Что внутри | Где используется |
|---|---|---|
.cfe | одно расширение конфигурации | загрузка в окно расширений, обмен доработками |
.cf | вся основная конфигурация | перенос конфигурации, поставка |
.cfu | файл обновления поставки | обновление типовой конфигурации |
.dt | вся база с данными | резервная копия, перенос базы |
Подготовка: права, версия платформы, резервная копия
Сохранение расширения в файл ничего не меняет в базе. Это чтение. Но перед работой стоит проверить три вещи.
1. Права пользователя. Видеть и выгружать расширения может пользователь с правом «Администрирование» (в типовых конфигурациях — роль «Полные права» или профиль «Администратор»). Под обычным бухгалтером пункт меню будет недоступен или список окажется пустым.
2. Версия платформы. Расширения появились в 8.3.6 и сильно развились в последующих версиях. Если файл нужно загрузить в другую базу, проверьте, что там платформа с номером не ниже, чем у исходной. Расширение, сохранённое на свежей платформе, может не загрузиться на старой.
3. Монопольный режим не нужен. Выгружать расширение можно, пока пользователи работают. Монопольный доступ понадобится только при загрузке и применении расширения к базе, и то не всегда.
Если после выгрузки вы собираетесь что-то менять в этом же расширении или удалять его, сначала сделайте копию всей базы (.dt или средствами СУБД). Файл .cfe сохраняет только код и метаданные расширения. Данные, записанные в реквизиты и объекты расширения, в файл .cfe не попадают.
Как сохранить расширение в файл через конфигуратор
Основной и самый надёжный способ. Работает в файловых и клиент-серверных базах одинаково.
Пошагово
- Запустите 1С в режиме «Конфигуратор» под пользователем с правами администратора.
- Откройте главное меню
Конфигурация → Расширения конфигурации. Появится окно со списком всех расширений базы. - Выделите строку нужного расширения. Смотрите на колонку «Имя»: синоним на экране может отличаться от технического имени.
- В командной панели окна откройте меню
Конфигурация(в части версий те же команды лежат под кнопкой «Действия») и выберитеСохранить в файл.... - Укажите папку и имя файла. По умолчанию подставится имя расширения, тип файла —
*.cfe. - Нажмите «Сохранить». Сообщения об успехе обычно нет: проверьте, что файл появился в папке и его размер не нулевой.
Как проверить, что файл рабочий
Нулевой или подозрительно маленький файл — повод выгрузить заново. Надёжная проверка занимает пять минут:
- Создайте пустую файловую базу из того же шаблона конфигурации (или возьмите тестовую копию).
- В окне
Конфигурация → Расширения конфигурациинажмите «Добавить» и выберите сохранённый.cfe. - Если расширение загрузилось без ошибок и открывается его дерево, файл целый.
Сравните также свойство «Версия» и список объектов с исходной базой. Расхождение значит, что вы выгрузили не то расширение или не ту его редакцию.
Если расширение открыто в дереве
Когда дерево расширения уже открыто (двойной щелчок по строке в списке), можно сохранить его, не возвращаясь к списку. В окне конфигуратора каждое открытое расширение — отдельное дерево, и команды меню Конфигурация относятся к тому дереву, которое сейчас активно. Щёлкните по дереву расширения, а не основной конфигурации, иначе получите .cf вместо .cfe.
Сохраняется текущее состояние расширения в конфигураторе. Если вы правили код и ещё не обновили конфигурацию базы данных (F7), в файл уйдут именно эти правки. Чтобы файл совпадал с тем, что реально работает у пользователей, сначала примените изменения.
Выгрузка расширения из пользовательского режима
Иногда доступа к конфигуратору нет: облачная база, сервис на базе 1С:Фреш, запрет администратора сервера. Тогда расширение сохраняют прямо из программы.
В конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3, УТ 11 и др.)
- Откройте
Администрирование → Печатные формы, отчеты и обработки. - Перейдите по ссылке «Расширения».
- Выделите расширение в списке.
- Нажмите
Ещёи выберите команду сохранения (обычноСохранить как...). - Укажите папку на своём компьютере.
Через стандартную обработку платформы
В любой конфигурации, даже нетиповой, есть встроенный инструмент платформы:
- Включите отображение команды «Все функции» в настройках (
Сервис и настройки → Параметры → Отображать команду "Все функции"). - Откройте
Все функции → Стандартные → Управление расширениями конфигурации. - Выделите расширение и нажмите кнопку сохранения в файл.
Файл получится тот же .cfe, что и из конфигуратора.
В базах с разделением данных (сервис, облако) часть расширений устанавливается для всей базы поставщиком сервиса, и пользователь их не видит или не может выгрузить. Это ограничение сервиса, а не ошибка: свои расширения вы сохраните, чужие — нет.
Расширение в хранилище конфигурации
Расширение можно подключить к хранилищу отдельно от основной конфигурации. У каждого расширения своё хранилище со своей историей версий.
Сохранить текущее состояние
Если расширение подключено к хранилищу, порядок такой же, как в разделе про конфигуратор. Но учитывайте, что в файл попадёт ваша локальная копия, включая захваченные и ещё не помещённые объекты.
Чтобы выгрузить «чистую» версию, как она лежит в хранилище:
- Отмените захват своих объектов или поместите изменения.
- Получите последнюю версию из хранилища.
- Только после этого сохраняйте в файл.
Сохранить одну из прошлых версий
- Активируйте дерево расширения в конфигураторе.
- Откройте
Конфигурация → Хранилище конфигурации → История хранилища. - Выделите нужную версию в списке.
- В командах окна истории выберите сохранение версии в файл и укажите имя
.cfe.
Так удобно доставать расширение «на дату»: например, версию до неудачной правки, чтобы сравнить или откатиться.
Номер версии из истории хранилища полезно вписывать в имя файла: Доработки_v137.cfe. Через полгода вы точно не вспомните, какой файл откуда.
Автоматическая выгрузка: пакетный режим и код
Ручная выгрузка хороша один раз. Если расширений несколько или их нужно бэкапить каждую ночь, удобнее командная строка.
Пакетный запуск конфигуратора
Команда /DumpCfg с параметром -Extension сохраняет указанное расширение в .cfe:
@echo off
set V8="C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe"
set DATE_STAMP=%date:~6,4%-%date:~3,2%-%date:~0,2%
%V8% DESIGNER /S"srv1c\buh" /N"Администратор" /P"пароль" ^
/DumpCfg "D:\backup\ext\Доработки_%DATE_STAMP%.cfe" -Extension "Доработки" ^
/Out "D:\backup\ext\dump.log"
Для файловой базы вместо /S"сервер\база" укажите /F"D:\Bases\Buh". Путь к 1cv8.exe поправьте под свою версию платформы.
Обратная операция — /LoadCfg "файл.cfe" -Extension "Имя". Для выгрузки в XML-файлы (под Git) используйте /DumpConfigToFiles "папка" -Extension "Имя".
Не храните пароль администратора открытым текстом в bat-файле на общем диске. Заведите для выгрузки отдельного пользователя 1С с минимально нужными правами и ограничьте доступ к папке со скриптом.
Программная выгрузка встроенным языком
Из обработки или регламентного задания расширение получают через менеджер РасширенияКонфигурации. Метод ПолучитьДанные() возвращает двоичные данные файла .cfe:
&НаСервере
Процедура ВыгрузитьРасширениеНаСервере(ИмяРасширения, ПутьКФайлу)
Отбор = Новый Структура("Имя", ИмяРасширения);
Найденные = РасширенияКонфигурации.Получить(Отбор);
Если Найденные.Количество() = 0 Тогда
ВызватьИсключение "Расширение не найдено: " + ИмяРасширения;
КонецЕсли;
Данные = Найденные[0].ПолучитьДанные();
Данные.Записать(ПутьКФайлу);
КонецПроцедуры
Код выполняется на сервере, поэтому ПутьКФайлу — это путь на сервере 1С, а не на компьютере пользователя. Чтобы отдать файл пользователю, поместите данные во временное хранилище и вызовите на клиенте ПолучитьФайл или НачатьПолучениеФайлов.
Сравнение способов:
| Способ | Когда подходит | Ограничения |
|---|---|---|
| Конфигуратор | разовая выгрузка, разработка | нужен доступ к конфигуратору |
| Пользовательский режим | облако, нет конфигуратора | нужны права администратора в программе |
Пакетный /DumpCfg | ночные бэкапы, CI | пароль в скрипте, нужен доступ к серверу |
| Код на встроенном языке | регламентные задания, массовая выгрузка | файл пишется на сервере, нужен привилегированный режим или права |
Ошибки при сохранении расширения и что с ними делать
Отдельно про кириллицу. В bat-файлах с русскими именами и путями сохраняйте скрипт в кодировке, которую ожидает консоль (обычно OEM 866), либо используйте латинские имена папок. Иначе 1cv8 получит искажённый путь и молча ничего не сделает.
Хранение файлов расширений: версии и безопасность
Файл .cfe — это исполняемый код, который будет работать с правами пользователей вашей базы. Относитесь к нему как к программе, а не как к документу.
Как называть и где хранить
- 📁 Одна папка на расширение, внутри — файлы по датам:
Доработки_2026-10-07.cfe. - 🔢 Перед выгрузкой заполняйте свойство расширения «Версия» в конфигураторе (окно свойств корня дерева расширения). Его видно в списке расширений, и спорить «какая версия стоит» не придётся.
- 🗂 Для командной разработки храните не только
.cfe, но и XML-выгрузку в Git. По.cfeнельзя посмотреть, что изменилось, а по XML видно каждую строку кода. - 🧹 Держите последние 10-20 версий, старые отправляйте в архив. Файл расширения обычно весит от сотен килобайт до нескольких мегабайт, место он почти не занимает.
Что проверять перед загрузкой чужого файла
- 🔍 Откуда файл. Расширение от неизвестного источника может читать и отправлять данные базы.
- 🛡 Свойства «Безопасный режим» и «Защита от опасных действий». При загрузке из файла платформа и БСП предупреждают о расширениях без безопасного режима, не отключайте эти предупреждения бездумно.
- 🧪 Сначала загрузите расширение в копию базы, проверьте работу, потом — в рабочую.
Не кладите .cfe с доработками обмена или интеграций в общий облачный диск с публичной ссылкой. Внутри могут быть адреса сервисов, логины и токены, если разработчик зашил их в код.
Частые вопросы
Сохраняются ли в файл .cfe данные, введённые в справочники расширения?
.dt или обменом.Можно ли открыть файл .cfe без загрузки в базу?
Как выгрузить сразу все расширения базы?
РасширенияКонфигурации.Получить() в цикле и сохраните каждое под своим именем. Для XML есть параметр -AllExtensions у /DumpConfigToFiles.Нужно ли выгонять пользователей из базы, чтобы сохранить расширение?
Расширение подключено к хранилищу. Попадёт ли в файл привязка к хранилищу?
.cfe не содержит настроек подключения к хранилищу. После загрузки в другую базу расширение будет обычным, его можно заново подключить к хранилищу.