К статье
Практический материал

Разработка и Конфигурация · 12 мин

Расширение CFE в 1С: что это и как с ним работать

Что такое расширение CFE в 1С, зачем оно нужно, как создать, подключить и обновить расширение конфигурации без снятия с поддержки. Практическая инструкция.

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

Механизм появился в платформе 1С:Предприятие 8.3.6 и с тех пор стал стандартным способом адаптации типовых решений под потребности конкретной компании. Файл CFE — это, по сути, выгрузка расширения из информационной базы: его можно перенести в другую базу с той же конфигурацией или хранить как резервную копию доработок.

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

Что такое расширение конфигурации и формат CFE

Расширение конфигурации — это отдельный слой метаданных, который платформа применяет поверх основной конфигурации при запуске сеанса. В расширении можно добавлять собственные объекты (справочники, документы, отчёты, регистры сведений) и заимствовать объекты основной конфигурации, чтобы изменить их формы, модули, команды или макеты.

Файл с расширением .cfe — это экспорт такого слоя. Через конфигуратор расширение выгружается в файл командой «Сохранить в файл» и загружается обратно командой «Загрузить из файла». Это удобно для переноса доработок между базами, версионирования в системе контроля версий и резервного копирования.

Важно понимать: расширение применяется на уровне сеанса. Разным пользователям можно назначать разные расширения или отключать их, не затрагивая остальных. Данные, которые расширение добавляет (например, новые реквизиты в добавленных объектах), хранятся в базе и привязаны к имени расширения.

Чем расширение отличается от внешней обработки и доработки конфигурации

В 1С есть три основных способа добавить функциональность: внешняя обработка/отчёт (EPF/ERF), расширение конфигурации (CFE) и прямая доработка конфигурации (CF). У каждого своя область применения.

КритерийВнешняя обработка (EPF)Расширение (CFE)Доработка конфигурации (CF)
Изменение типовых форм и модулейНетДа, через заимствованиеДа, напрямую
Добавление новых объектов метаданныхНетДа, с ограничениямиДа, без ограничений
Влияние на обновление типовойНе влияетНе влияет, конфигурация на поддержкеУсложняет или блокирует автообновление
Изменение структуры типовых данныхНетОграниченно (доп. реквизиты иначе)Да
Типовой сценарийРазовые выгрузки, интеграцииДоработка форм, печати, проведенияГлубокая переработка логики учёта

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

Сравнение вариантов

Внешняя обработка

Подходит для разовых задач: выгрузки, загрузки, пакетные изменения данных. Не может менять типовые формы и подписки на события.

Расширение CFE

Оптимально для доработки форм, печатных форм, обработчиков проведения и добавления отчётов. Сохраняет конфигурацию на поддержке.

Доработка конфигурации

Нужна при глубоком изменении структуры данных и учётных механизмов. Усложняет все последующие обновления и требует сопровождения разработчика.

Какие задачи решают расширения, а какие — нет

Типовые сценарии, где расширение — правильный инструмент: изменение формы документа (добавить поле, кнопку, колонку табличной части), подмена процедуры проведения через аннотации «Вместо», «Перед», «После», создание собственной печатной формы, добавление отчёта или регистра сведений для хранения настроек, доработка прав ролей.

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

Ещё одно ограничение — производительность и диагностика. Подменённые методы «Вместо» полностью перекрывают типовой код: если поставщик в новом релизе изменит эту процедуру, ваши изменения продолжат работать поверх старой логики, и вы можете потерять исправления ошибок из обновления. Поэтому «Вместо» применяют только при крайней необходимости, предпочитая «Перед» и «После».

Как создать и подключить расширение CFE

Создание расширения выполняется в конфигураторе. Откройте меню «Конфигурация — Расширения конфигурации», создайте новое расширение, задайте имя, синоним и префикс. Префикс важен: он добавляется к именам объектов расширения и предотвращает конфликты с типовыми объектами и другими расширениями.

Далее заимствуйте нужные объекты: в дереве конфигурации найдите объект, откройте контекстное меню и выберите «Добавить в расширение». После этого можно редактировать форму, модуль объекта или модули менеджера, добавлять свои процедуры с аннотациями изменения типового кода.

Порядок действий
  1. 1
    Откройте конфигуратор, меню «Конфигурация — Расширения конфигурации», создайте расширение и задайте уникальный префикс.
  2. 2
    Добавьте в расширение нужные типовые объекты через контекстное меню «Добавить в расширение».
  3. 3
    Внесите изменения: доработайте формы, добавьте процедуры с аннотациями «Перед», «После» или «Вместо».
  4. 4
    Обновите конфигурацию базы данных (F7) и проверьте работу в пользовательском режиме.
  5. 5
    Выгрузите расширение в файл CFE командой «Сохранить в файл» для переноса или архива.
  6. 6
    В целевой базе загрузите CFE через «Загрузить из файла» или подключите в режиме 1С:Предприятие через «Администрирование — Печатные формы, отчёты и обработки — Расширения».

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

Обновление типовой конфигурации с подключёнными расширениями

Главное преимущество расширений проявляется при обновлении: конфигурация остаётся на поддержке, и обновление ставится штатно. Однако после обновления расширение обязательно нужно проверить — платформа сама выполняет контроль применимости при запуске, и если заимствованный объект изменился или удалён поставщиком, расширение может оказаться неприменимым.

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

Контрольные точки

Как проверить результат

Статус расширения после обновления
Норма

В списке расширений статус «Подключено», ошибок применимости нет

Тревожный признак

Статус «Не применимо» или ошибки в журнале регистрации

Доработанные формы
Норма

Форма открывается с добавленными элементами и работает без ошибок

Тревожный признак

Форма типовая, доработки пропали, либо ошибка при открытии

Подменённые процедуры
Норма

Логика «Перед»/«После» выполняется, типовые исправления релиза сохранены

Тревожный признак

«Вместо» глушит новый типовой код, поведение устарело

Практика, которая снижает риски: перед обновлением боевой базы обновите копию, проверьте все расширения, зафиксируйте несовместимости и только потом обновляйте рабочую базу. Файлы CFE актуальных версий расширений храните отдельно — это позволит быстро откатить доработку, если после обновления что-то пойдёт не так.

Типичные ошибки при работе с расширениями

Большинство проблем с расширениями возникает не из-за механизма, а из-за нарушения простых правил сопровождения. Ниже — ошибки, которые встречаются чаще всего.

Типичные ошибки
01
Использование аннотации «Вместо» без необходимости: после обновления типовой процедуры поставщиком расширение продолжает выполнять старую логику, и исправления релиза теряются.
02
Отсутствие префикса или одинаковые префиксы у нескольких расширений: конфликт имён объектов и неприменимость расширений.
03
Перенос CFE между базами с разными версиями конфигурации: расширение не применяется, потому что заимствованные объекты изменились.
04
Добавление данных в объекты расширения без резервной копии: при удалении расширения данные его объектов удаляются вместе с ним.
05
Изменение расширения прямо в рабочей базе без тестирования на копии: ошибка в доработанном обработчике проведения останавливает учёт.

Отдельно стоит сказать о данных. Если расширение добавляет собственные объекты (например, регистр сведений) и в них накоплены данные, удаление расширения из базы удалит и эти данные. Перед удалением или заменой расширения выгрузите значимые данные или убедитесь, что они больше не нужны.

Удобно давать расширениям говорящие имена с указанием задачи, например «ПечатьСчёта_Логотип» или «ФормаЗаказа_Склад». Когда расширений в базе становится больше трёх-четырёх, такая нумерация экономит заметное время при поиске нужного и при разборе конфликтов после обновления.
ПЗ
Практическое замечание

Когда расширение не подходит: альтернативы

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

И только когда нужно изменить ядро учётной логики — структуру регистров, планы счетов, принципы закрытия периода — оправдана доработка основной конфигурации. Такое решение стоит принимать осознанно, с пониманием стоимости будущих обновлений.

Маршрут решения

Как выбрать действие

Нужно изменить форму, печатную форму или добавить отчётИспользуйте расширение конфигурации (CFE)
Нужна разовая загрузка или выгрузка данныхДостаточно внешней обработки (EPF)
Нужно изменить состав типового регистра или плана счетовРасширение не подойдёт — оценивайте доработку конфигурации или обходное решение через собственные объекты
Нужно хранить дополнительные свойства объектов без кодаПопробуйте типовой механизм дополнительных реквизитов и сведений
Итог

Что важно запомнить

CFE — файл расширения конфигурации 1С, способ доработать типовое решение без снятия с поддержки. Используйте префиксы, избегайте «Вместо», проверяйте применимость после каждого обновления и храните выгрузки расширений как резервные копии.

Частые вопросы о расширениях CFE

Чем открыть файл CFE?

Файл CFE открывается только средствами платформы 1С:Предприятие — через конфигуратор («Расширения конфигурации — Загрузить из файла») или в пользовательском режиме типовой конфигурации через раздел расширений. Текстовым редактором или сторонними программами его содержимое не редактируется.

Снимает ли расширение конфигурацию с поддержки?

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

Можно ли подключить несколько расширений одновременно?

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

Что будет с расширением после обновления конфигурации?

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

Удалятся ли данные при удалении расширения?

Данные типовых объектов не пострадают. Но если расширение добавляло собственные объекты (справочники, регистры) и в них есть данные, при удалении расширения из базы эти данные будут удалены вместе со структурой объектов. Перед удалением сделайте резервную копию базы.

Можно ли перенести расширение в другую базу?

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