Выгрузка расширения конфигурации 1С в файл: все способы

· 9 мин

Содержание

Чтобы сохранить расширение 1С в файл, откройте конфигуратор, выберите Конфигурация → Расширения конфигурации, выделите нужное расширение и в меню окна выполните Конфигурация → Сохранить в файл.... Платформа запишет расширение в один файл с расширением .cfe, который потом загружается в любую базу с той же конфигурацией.

Есть ещё три пути: из пользовательского режима (без конфигуратора), пакетной командой 1cv8 DESIGNER /DumpCfg и программным кодом. Ниже — каждый способ по шагам, работа с хранилищем, типичные ошибки и порядок хранения версий.

Формат файла расширения — .cfe. Не путайте его с .cf (полная конфигурация) и .cfu (файл поставки обновления). Если вам прислали «расширение» в .cfu или .cf, это не расширение, и через окно расширений его не загрузить.

ФорматЧто внутриГде используется
.cfeодно расширение конфигурациизагрузка в окно расширений, обмен доработками
.cfвся основная конфигурацияперенос конфигурации, поставка
.cfuфайл обновления поставкиобновление типовой конфигурации
.dtвся база с даннымирезервная копия, перенос базы

Подготовка: права, версия платформы, резервная копия

Сохранение расширения в файл ничего не меняет в базе. Это чтение. Но перед работой стоит проверить три вещи.

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

2. Версия платформы. Расширения появились в 8.3.6 и сильно развились в последующих версиях. Если файл нужно загрузить в другую базу, проверьте, что там платформа с номером не ниже, чем у исходной. Расширение, сохранённое на свежей платформе, может не загрузиться на старой.

3. Монопольный режим не нужен. Выгружать расширение можно, пока пользователи работают. Монопольный доступ понадобится только при загрузке и применении расширения к базе, и то не всегда.

Если после выгрузки вы собираетесь что-то менять в этом же расширении или удалять его, сначала сделайте копию всей базы (.dt или средствами СУБД). Файл .cfe сохраняет только код и метаданные расширения. Данные, записанные в реквизиты и объекты расширения, в файл .cfe не попадают.

Как сохранить расширение в файл через конфигуратор

Основной и самый надёжный способ. Работает в файловых и клиент-серверных базах одинаково.

Пошагово

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

Как проверить, что файл рабочий

Нулевой или подозрительно маленький файл — повод выгрузить заново. Надёжная проверка занимает пять минут:

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

Сравните также свойство «Версия» и список объектов с исходной базой. Расхождение значит, что вы выгрузили не то расширение или не ту его редакцию.

Если расширение открыто в дереве

Когда дерево расширения уже открыто (двойной щелчок по строке в списке), можно сохранить его, не возвращаясь к списку. В окне конфигуратора каждое открытое расширение — отдельное дерево, и команды меню Конфигурация относятся к тому дереву, которое сейчас активно. Щёлкните по дереву расширения, а не основной конфигурации, иначе получите .cf вместо .cfe.

Сохраняется текущее состояние расширения в конфигураторе. Если вы правили код и ещё не обновили конфигурацию базы данных (F7), в файл уйдут именно эти правки. Чтобы файл совпадал с тем, что реально работает у пользователей, сначала примените изменения.

Выгрузка расширения из пользовательского режима

Иногда доступа к конфигуратору нет: облачная база, сервис на базе 1С:Фреш, запрет администратора сервера. Тогда расширение сохраняют прямо из программы.

В конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3, УТ 11 и др.)

  1. Откройте Администрирование → Печатные формы, отчеты и обработки.
  2. Перейдите по ссылке «Расширения».
  3. Выделите расширение в списке.
  4. Нажмите Ещё и выберите команду сохранения (обычно Сохранить как...).
  5. Укажите папку на своём компьютере.

Через стандартную обработку платформы

В любой конфигурации, даже нетиповой, есть встроенный инструмент платформы:

  1. Включите отображение команды «Все функции» в настройках (Сервис и настройки → Параметры → Отображать команду "Все функции").
  2. Откройте Все функции → Стандартные → Управление расширениями конфигурации.
  3. Выделите расширение и нажмите кнопку сохранения в файл.

Файл получится тот же .cfe, что и из конфигуратора.

В базах с разделением данных (сервис, облако) часть расширений устанавливается для всей базы поставщиком сервиса, и пользователь их не видит или не может выгрузить. Это ограничение сервиса, а не ошибка: свои расширения вы сохраните, чужие — нет.

Расширение в хранилище конфигурации

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

Сохранить текущее состояние

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

Чтобы выгрузить «чистую» версию, как она лежит в хранилище:

  1. Отмените захват своих объектов или поместите изменения.
  2. Получите последнюю версию из хранилища.
  3. Только после этого сохраняйте в файл.

Сохранить одну из прошлых версий

  1. Активируйте дерево расширения в конфигураторе.
  2. Откройте Конфигурация → Хранилище конфигурации → История хранилища.
  3. Выделите нужную версию в списке.
  4. В командах окна истории выберите сохранение версии в файл и укажите имя .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 версий, старые отправляйте в архив. Файл расширения обычно весит от сотен килобайт до нескольких мегабайт, место он почти не занимает.

Что проверять перед загрузкой чужого файла

  • 🔍 Откуда файл. Расширение от неизвестного источника может читать и отправлять данные базы.
  • 🛡 Свойства «Безопасный режим» и «Защита от опасных действий». При загрузке из файла платформа и БСП предупреждают о расширениях без безопасного режима, не отключайте эти предупреждения бездумно.
  • 🧪 Сначала загрузите расширение в копию базы, проверьте работу, потом — в рабочую.
Перед отправкой файла расширения коллеге или подрядчику
Выполнено: 0 / 6

Не кладите .cfe с доработками обмена или интеграций в общий облачный диск с публичной ссылкой. Внутри могут быть адреса сервисов, логины и токены, если разработчик зашил их в код.

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

Сохраняются ли в файл .cfe данные, введённые в справочники расширения?
Нет. В файле только метаданные, формы, модули и макеты. Данные хранятся в базе и переносятся выгрузкой .dt или обменом.
Можно ли открыть файл .cfe без загрузки в базу?
Посмотреть код без базы нельзя. Создайте пустую тестовую базу с той же конфигурацией, загрузите файл в окно расширений и откройте дерево.
Как выгрузить сразу все расширения базы?
Через конфигуратор — по одному. Для массовой выгрузки удобнее код: переберите РасширенияКонфигурации.Получить() в цикле и сохраните каждое под своим именем. Для XML есть параметр -AllExtensions у /DumpConfigToFiles.
Нужно ли выгонять пользователей из базы, чтобы сохранить расширение?
Нет. Сохранение в файл — операция чтения. Пользователи могут работать дальше.
Расширение подключено к хранилищу. Попадёт ли в файл привязка к хранилищу?
Нет. Файл .cfe не содержит настроек подключения к хранилищу. После загрузки в другую базу расширение будет обычным, его можно заново подключить к хранилищу.