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

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

Расширения конфигурации 1С: что это такое и как их использовать

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

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

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

Механизм доступен в управляемых приложениях на платформе 1С:Предприятие 8.3 и активно развивается: с ростом версий платформы расширяется список объектов и возможностей, которые можно переопределять. Поэтому расширения стали стандартным способом адаптации типовых решений — «Управление торговлей», «Бухгалтерия предприятия», «Зарплата и управление персоналом» — под нужды конкретной компании.

Как устроен механизм расширений

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

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

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

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

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

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

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

Другой частый случай — подключение внешнего сервиса: расширение добавляет кнопку в документ, которая отправляет данные в API транспортной компании или CRM. Логика интеграции целиком живёт в расширении и не смешивается с типовым кодом.

Чем расширение отличается от изменения конфигурации

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

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

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

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

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

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

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

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

Механизм расширений не всесилен. Через расширение нельзя, например, изменить состав измерений регистра, удалить типовой реквизит или поменять типовую структуру справочника. Ряд объектов и свойств платформа просто не отдаёт на переопределение, и список таких ограничений меняется от версии к версии.

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

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

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

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

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

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

Открытие изменённой формы
Норма

Форма открывается, новые элементы видны и доступны

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

Ошибка открытия формы или отсутствие добавленных элементов

Работа типовых сценариев
Норма

Документы проводятся, отчёты формируются как раньше

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

Ошибки проведения или изменение результатов типовых отчётов

Поведение после обновления конфигурации
Норма

Расширение применяется, контролируемые методы без расхождений

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

Предупреждения о нарушении контроля или отказ применения

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

Типичные ошибки при использовании расширений

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

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

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

Как выбрать инструмент доработки

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

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

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

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

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

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

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

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

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

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

Чем расширение отличается от внешней обработки?

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

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

Да, расширения работают и в файловом, и в клиент-серверном варианте. Различий в механизме нет, но в файловой базе с несколькими пользователями обновление и отключение расширений требует завершения их сеансов.

Итог

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

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