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

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

EFD-расширение 1С: что это и как с ним работать

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

Запрос «efd расширение 1С» обычно означает одно из двух: либо пользователь ищет, что такое механизм расширений конфигурации в 1С:Предприятии 8.3, либо встретил файл расширения и хочет понять, как его открыть и подключить. Штатный формат файла расширения в 1С — .cfe, именно в него сохраняется расширение через конфигуратор. Отдельного официального формата «EFD» в платформе 1С нет, поэтому дальше речь пойдёт о механизме расширений конфигурации и файлах .cfe.

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

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

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

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

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

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

У разработчика в 1С есть три основных способа доработать функциональность, и выбор между ними влияет на стоимость сопровождения. Прямая доработка конфигурации даёт полную свободу, но требует снятия объектов с поддержки и усложняет каждое обновление. Расширение сохраняет поддержку, но ограничено набором изменяемых объектов. Внешняя обработка (.epf) вообще не меняет конфигурацию, но работает только тогда, когда её явно запускают или подключают через механизм дополнительных отчётов и обработок.

КритерийДоработка конфигурацииРасширение (.cfe)Внешняя обработка (.epf)
Поддержка поставщикаЧастично или полностью теряетсяСохраняется полностьюСохраняется полностью
Изменение форм и модулейЛюбые измененияОграниченный набор объектовНедоступно напрямую
Обновление типовойРучное сопоставление измененийШтатное, расширение проверяется отдельноШтатное, обработка не затрагивается
Типовой сценарийГлубокая переработка логикиПечатные формы, реквизиты, обработчикиРазовые отчёты и сервисные операции

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

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

Расширение конфигурации

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

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

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

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

Подходит для глубокой перестройки учётных механизмов. Ограничение: снятие с поддержки и дорогие обновления.

Что можно и чего нельзя сделать расширением

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

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

Важно понимать поведение аннотации &ИзменениеИКонтроль: она фиксирует текст типового метода на момент заимствования, и при обновлении конфигурации платформа проверяет, не изменился ли оригинал. Если поставщик поменял метод, расширение потребует пересмотра — это защита, а не неудобство.

Как создать и подключить расширение: порядок действий

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

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

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

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

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

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

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

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

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

Флаг активности установлен, ошибок применения нет

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

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

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

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

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

Ошибки вида «объект не обнаружен» или конфликт контроля метода

Поведение формы в сеансе
Норма

Новые реквизиты и команды отображаются и работают

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

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

Права пользователей
Норма

Доработка доступна под целевой ролью

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

У части пользователей элементы недоступны

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

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

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

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

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

Риски, ограничения и когда расширения не подходят

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

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

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

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

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

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

Чем открыть файл .cfe вне 1С?

Файл .cfe — это внутренний формат платформы, сторонними программами он осмысленно не открывается. Просмотреть и изменить содержимое можно только в конфигураторе 1С: загрузите файл через «Расширения конфигурации → Загрузить из файла» в тестовую базу с совместимой конфигурацией.

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

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

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

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

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

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

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

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

Работают ли расширения в файловой и клиент-серверной базе одинаково?

Механизм одинаков: расширение хранится в информационной базе и применяется при старте сеанса в обоих вариантах работы. Различия касаются только администрирования — в клиент-серверном варианте управление расширениями и безопасным режимом обычно централизовано через консоль кластера и права администратора.

Итог

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

Расширение конфигурации (.cfe) — штатный способ доработать типовую 1С без снятия с поддержки. Используйте его для форм, реквизитов, печатных форм и обработчиков, выгружайте копии в файлы, а любые обновления и новые расширения проверяйте сначала на копии базы.