Разработка и Конфигурация · 12 мин
CFE-файлы 1С: что это такое и как с ними работать
CFE-файл 1С — это расширение конфигурации. Разбираем, чем CFE отличается от CF, как подключить расширение в базе, снять его и какие риски учитывать при обновлениях.
CFE-файл — это файл расширения конфигурации 1С:Предприятие. Он содержит доработку прикладного решения, которая подключается к базе поверх основной конфигурации, не изменяя её саму. Такой механизм позволяет добавлять печатные формы, отчёты, обработчики событий и новые объекты, сохраняя конфигурацию на поддержке поставщика.
Формат появился как ответ на массовую проблему: раньше любую доработку вносили прямо в типовую конфигурацию, снимали её с поддержки и затем часами разбирали конфликты при каждом обновлении. Расширения решают эту задачу — типовая конфигурация остаётся нетронутой, а все изменения живут отдельным слоем и подключаются в режиме предприятия или через конфигуратор.
Работа с CFE-файлами требует понимания ограничений механизма: не всё можно изменить расширением, не каждое расширение совместимо с новой версией конфигурации, а некорректное расширение способно заблокировать вход пользователей в базу. Ниже разобраны формат, отличия от смежных типов файлов, порядок подключения и типовые проблемы.
Что находится внутри CFE-файла
Файл с расширением .cfe — это бинарный контейнер внутреннего формата платформы 1С. В нём хранятся метаданные расширения: заимствованные объекты основной конфигурации с изменениями, собственные объекты расширения (отчёты, обработки, роли, общие модули), программный код на встроенном языке, макеты и формы.
Открыть CFE как архив или текстовый документ не получится — структура закрытая, читается только средствами платформы. Просмотреть содержимое можно, загрузив расширение в конфигураторе: там видно дерево объектов, код модулей и свойства, аналогично работе с обычной конфигурацией.
Чем CFE отличается от CF, DT и других файлов 1С
В практике администратора и разработчика встречается несколько похожих форматов, и их часто путают. Подмена одного файла другим — типичная ошибка: например, попытка загрузить расширение через механизм обновления конфигурации завершится ошибкой.
| Формат | Назначение | Как применяется |
|---|---|---|
| .cfe | Расширение конфигурации | Подключается поверх конфигурации, не меняя её |
| .cf | Файл конфигурации целиком | Загружается через «Загрузить конфигурацию из файла», заменяет конфигурацию |
| .cfu | Файл обновления конфигурации | Применяется только к конкретной версии-источнику при обновлении |
| .dt | Выгрузка информационной базы | Перенос данных и конфигурации целиком, разворачивается как копия базы |
| .epf / .erf | Внешние обработки и отчёты | Открываются в режиме предприятия или подключаются как дополнительные |
Ключевое отличие CFE от CF: расширение не заменяет конфигурацию, а накладывается на неё. Одна и та же база может содержать несколько активных расширений одновременно, и каждое из них работает независимо от файла конфигурации.
Как подключить CFE-файл к базе
Перед подключением убедитесь, что расширение предназначено именно для вашей конфигурации и её версии. Расширение, созданное для другого прикладного решения, либо не загрузится, либо загрузится с нерабочими объектами.
В файловой базе подключение выполняется двумя способами: через конфигуратор (меню «Конфигурация — Расширения конфигурации», затем добавление и загрузка из файла) или в режиме предприятия через раздел администрирования, если в конфигурации включена стандартная обработка управления расширениями. Для серверных баз действуют те же механизмы, но требуются права администратора.
- 1Сделайте резервную копию базы: выгрузку DT или копию файловой базы
- 2Откройте базу в конфигураторе с правами администратора
- 3Перейдите: Конфигурация → Расширения конфигурации
- 4Создайте новое расширение, задайте имя и префикс без пробелов
- 5В свойствах расширения загрузите данные из CFE-файла
- 6Убедитесь, что флажок «Активно» установлен, и обновите конфигурацию базы данных
- 7Запустите режим предприятия и проверьте работу доработанного функционала
Подключение в режиме предприятия
В типовых конфигурациях на базе Библиотеки стандартных подсистем есть раздел «Печатные формы, отчеты и обработки» или «Расширения конфигурации» в настройках администрирования. Там расширение добавляется кнопкой «Добавить из файла» без входа в конфигуратор. Это удобно для простых доработок, но не заменяет резервную копию.
Безопасный режим и профили безопасности
При добавлении расширения платформа может предложить безопасный режим, в котором запрещены опасные операции: доступ к файловой системе, COM-объектам, внешним компонентам. Если расширение требует таких операций, придётся либо отключить безопасный режим для него, либо настроить профиль безопасности в кластере. Отключайте защиту только для расширений из доверенного источника.
Как создать и выгрузить собственное расширение
Создание расширения начинается в конфигураторе: в окне расширений конфигурации добавляется новый элемент, после чего нужные объекты основной конфигурации заимствуются в расширение через контекстное меню «Добавить в расширение». Затем изменяются формы, модули, добавляются собственные объекты.
Обязательно заполните префикс расширения — он автоматически добавляется к именам новых объектов и предотвращает конфликты имён с основной конфигурацией и другими расширениями. Имя и префикс должны быть уникальными в пределах базы.
Выгрузка в CFE-файл выполняется из списка расширений командой «Сохранить в файл» или через свойства расширения. Полученный файл можно переносить между базами с одинаковой конфигурацией — например, из тестовой среды в рабочую.
Ограничения механизма расширений
Расширения не всесильны, и часть задач по-прежнему требует изменения основной конфигурации. Перед выбором подхода проверьте, поддерживается ли нужная доработка механизмом.
К основным ограничениям относятся: нельзя изменять состав планов обмена, существенно ограничена работа с ролями и правами основной конфигурации, нельзя менять структуру хранения отдельных системных объектов, поддерживаются не все типы заимствуемых объектов. Набор возможностей зависит от версии платформы — с каждым релизом список расширяемых объектов пополняется, поэтому сверяйтесь с документацией к вашей версии платформы.
Ещё одно ограничение — производительность и диагностика. Ошибка в коде расширения проявляется в режиме предприятия, а стек вызовов смешивает код конфигурации и расширения, что усложняет отладку. Доработки, затрагивающие массовые операции с данными, тестируйте на копии базы с реальным объёмом информации.
Как выбрать подход к доработке
Расширения и обновление конфигурации
Главное преимущество CFE проявляется при обновлении типовой конфигурации: поскольку основная конфигурация не изменена, обновление проходит штатно, без сравнения и объединения с доработками. Расширение при этом остаётся в базе.
Однако «остаётся» не значит «работает». Если в новом релизе поставщик переименовал объект, изменил состав реквизитов или сигнатуру процедуры, на которую опирается расширение, оно может перестать применяться. Платформа при обновлении выполняет проверку применимости расширений, и проблемные расширения отключаются или блокируют обновление в зависимости от настроек.
Практический порядок такой: обновляйте сначала копию базы, проверяйте применимость каждого расширения, исправляйте несовместимости в конфигураторе и только потом повторяйте процедуру на рабочей базе. Ведите учёт установленных расширений — без списка через полгода никто не вспомнит, какая доработка откуда взялась.
Диагностика проблем и отключение расширений
Характерные признаки проблемного расширения: ошибки при входе в базу, сообщения о невозможности применить расширение, исчезнувшие доработанные формы, ошибки вида «объект не найден» в журнале регистрации. Первым делом откройте журнал регистрации и отфильтруйте события по имени расширения.
Если база запускается, отключите расширение штатно: снимите флажок «Активно» в списке расширений или в разделе администрирования режима предприятия. Если вход в базу заблокирован ошибкой расширения, используйте запуск конфигуратора и отключение расширения там — данные основной конфигурации при этом не пострадают.
Проверить результат после любых манипуляций помогает простой контроль: вход под пользователем без административных прав, открытие доработанных форм, проведение типового документа и просмотр журнала регистрации на предмет новых ошибок.
Как проверить результат
Расширение присутствует, флажок «Активно» установлен, ошибок применимости нет
Расширение отключено или помечено как неприменимое
Формы открываются, обработчики срабатывают, документы проводятся
Ошибки «метод не обнаружен», «объект не найден» при обращении к доработке
Нет новых ошибок, связанных с именем расширения
Серии ошибок при входе пользователей или выполнении операций
Обновление проходит штатно, расширение остаётся применимым
Проверка применимости блокирует обновление или отключает расширение
Частые вопросы о CFE-файлах
Чем открыть CFE-файл без 1С?
Никак. Формат закрытый и читается только средствами платформы 1С:Предприятие через конфигуратор или механизмы подключения расширений. Архиваторы и текстовые редакторы покажут бинарные данные без полезной структуры.
Можно ли подключить несколько расширений к одной базе?
Да, механизм поддерживает несколько активных расширений одновременно. Ограничение — расширения не должны конфликтовать: если два расширения изменяют один и тот же обработчик или форму, порядок их применения может дать неожиданный результат.
Удалится ли расширение при обновлении конфигурации?
Нет, расширения хранятся в базе отдельно от конфигурации и при штатном обновлении сохраняются. Но платформа проверяет их применимость: если новый релиз несовместим с расширением, оно может быть отключено до исправления.
Что делать, если после подключения расширения база не запускается?
Запустите конфигуратор — он обычно открывается даже при ошибках расширения в режиме предприятия. В списке расширений снимите флажок активности у проблемного расширения и перезапустите базу. Поэтому и важна резервная копия перед подключением.
Можно ли перенести CFE из файловой базы в серверную?
Да, если в обеих базах одна и та же конфигурация совместимой версии. Файл расширения не привязан к типу развёртывания базы — загрузите его в целевую базу стандартным способом и проверьте применимость.
Чем расширение лучше внешней обработки?
Внешняя обработка (EPF) подходит для отдельных отчётов и сервисных операций, но не может изменить типовую форму или перехватить событие документа. Расширение встраивается в логику конфигурации, поэтому выбор зависит от задачи: для автономного инструмента достаточно EPF, для изменения поведения типовых объектов нужен CFE.
Что важно запомнить
CFE-файл — это расширение конфигурации 1С, подключаемое поверх типового решения без его изменения. Подключайте расширения только после резервного копирования, задавайте префикс объектам, проверяйте применимость после каждого обновления и не отключайте безопасный режим для кода из недоверенных источников.