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

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

1C CFE: что это такое и как работать с расширением конфигурации

CFE в 1С — файл расширения конфигурации. Разбираем, чем CFE отличается от CF и DT, как создать, подключить, обновить расширение и какие ошибки встречаются чаще всего.

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

Расширения появились в платформе 1С:Предприятие 8.3.6 и стали стандартным способом адаптации типовых конфигураций (Бухгалтерия, ЗУП, Управление торговлей и других) под требования конкретной организации. Вместо правки типового кода — которая раньше приводила к снятию конфигурации с поддержки и усложнению обновлений — изменения выносятся в отдельный слой.

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

Что такое расширение конфигурации простыми словами

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

Типичные задачи, которые решают расширениями:

  • добавление собственной печатной формы или отчёта;
  • изменение поведения формы документа (дополнительные проверки, автозаполнение);
  • переопределение процедур и функций общих модулей через аннотации &ИзменениеИКонтроль, &После, &Вместо;
  • добавление ролей и прав доступа;
  • создание новых подсистем, команд, регистров сведений для служебных нужд.

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

Чем CFE отличается от CF, DT и EPF

У начинающих специалистов часто возникает путаница между форматами файлов 1С, так как все они создаются в конфигураторе и выглядят похоже. Различия принципиальны:

ФорматЧто содержитДля чего используется
CFEРасширение конфигурации — слой доработокПеренос и подключение доработок без изменения типовой конфигурации
CFПолная конфигурация (без данных)Обновление конфигурации, поставка решения, перенос метаданных
DTВыгрузка информационной базы — конфигурация и данныеРезервное копирование, перенос базы целиком, развёртывание копии
EPF / ERFВнешняя обработка или внешний отчётРазовые сервисные операции, дополнительные отчёты без изменения конфигурации

Главная ошибка — пытаться «обновить» базу файлом CFE через «Загрузить конфигурацию из файла»: этот пункт предназначен только для CF. Расширение подключается через отдельный механизм, о котором ниже.

Что выбрать для доработки

Расширение (CFE)

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

Внешняя обработка (EPF)

Подходит для разовых операций и инструментов, не требующих изменения метаданных: загрузка данных, групповая обработка, тестирование.

Изменение конфигурации (CF)

Оправдано, только если задача невозможна в расширении (например, изменение состава плана обмена в старых версиях платформы). Ведёт к частичной или полной потере поддержки.

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

Расширение создаётся в конфигураторе. Порядок действий:

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

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

Как подключить CFE к базе

Загрузить расширение из файла можно двумя способами — в конфигураторе и в режиме 1С:Предприятие. Второй удобнее, когда нет доступа к конфигуратору (например, в файловой базе бухгалтера с соответствующими правами).

Подключение в конфигураторе

Откройте Конфигурация → Расширения конфигурации, нажмите Загрузить из файла и укажите CFE-файл. Затем обновите конфигурацию базы данных. Если расширение добавляет объекты, влияющие на структуру данных (например, новый регистр сведений), потребуется монопольный доступ к базе.

Подключение в режиме 1С:Предприятие

В типовых конфигурациях на базе БСП (Библиотека стандартных подсистем) перейдите в Администрирование → Печатные формы, отчёты и обработки → Расширения (в некоторых конфигурациях путь отличается: «НСИ и администрирование → Расширения конфигурации»). Нажмите Добавить из файла, выберите CFE и перезапустите сеанс, если программа попросит об этом.

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

Обновление типовой конфигурации при установленном расширении

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

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

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

Что делать после обновления релиза

Расширение активно и ошибок в журнале регистрации нетНичего не требуется — проведите контрольную проверку доработанных функций вручную
Расширение отключилось из-за несовместимости одного-двух объектовОткройте расширение в конфигураторе, обновите заимствованные объекты до текущего состояния типовой конфигурации и примените изменения
Конфликтов много или расширение критично для работыОтложите обновление рабочей базы: разверните копию, обновите её, адаптируйте расширение и только после проверки повторите процедуру на рабочей базе

Практическое правило: чем меньше объектов заимствовано в расширение и чем точнее используются аннотации вида &ИзменениеИКонтроль (вместо полного копирования типовых процедур), тем выше шанс, что расширение переживёт обновление без правок.

Ограничения и типичные ошибки при работе с CFE

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

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

Частые ошибки при работе с расширениями:

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

Как проверить, что расширение работает корректно

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

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

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

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

Расширение включено, нет пометок о несовместимости

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

Расширение отключено или помечено как неприменённое

Доработанная функция
Норма

Новая печатная форма, проверка или обработчик срабатывают в пользовательском режиме

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

Поведение не изменилось — возможно, расширение подключено к другой базе или не активно

Типовые сценарии
Норма

Проведение документов, формирование отчётов и обмены работают как раньше

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

Ошибки в журнале регистрации при типовых операциях

Журнал регистрации
Норма

Нет ошибок с упоминанием имени расширения

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

Ошибки «Объект не найден» или нарушения прав доступа

Для ответственных доработок полезно завести короткий чек-лист ручной проверки: список из 5–10 операций, которые нужно выполнить после каждого обновления релиза или изменения расширения. Это занимает минуты, но позволяет поймать проблему до того, как с ней столкнутся пользователи.

Когда расширения недостаточно и какие есть альтернативы

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

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

Итог

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

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

Частые вопросы о CFE в 1С

Можно ли открыть файл CFE без 1С?

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

Чем расширение отличается от внешней печатной формы?

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

Почему расширение отключилось после обновления конфигурации?

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

Безопасно ли подключать CFE, полученный от стороннего разработчика?

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

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

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

Как удалить расширение, если база перестала открываться?

Запустите конфигуратор: расширения можно отключить или удалить через «Конфигурация → Расширения конфигурации» без входа в режим предприятия. Если и конфигуратор не открывается из-за ошибки расширения, используйте параметр командной строки запуска с отключением расширений либо восстановите базу из резервной копии.