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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как выбрать подход

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

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

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

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

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

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

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

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

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

Безопасность и типичные ошибки

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

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

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

Проверка результата и FAQ

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

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

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

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

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

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

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

Доступность новых объектов
Норма

Отчёт, форма или реквизит видны пользователям

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

Объект отсутствует — проверьте права и подсистемы

Работа изменённой логики
Норма

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

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

Выполняется типовой код или возникает ошибка

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

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

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

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

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

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

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

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

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

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

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

Опасно ли отключать расширение?

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

Итог

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

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