Разработка и Конфигурация · 11 мин
Расширения конфигурации 1С: что это такое и как их использовать
Расширения конфигурации 1С: что это, как работают, чем отличаются от изменения типовой конфигурации. Создание, подключение, ограничения и типичные ошибки.
Расширение конфигурации в 1С — это механизм платформы, который позволяет добавить или изменить функциональность типовой конфигурации без снятия её с поддержки. Вместо правки объектов внутри основной конфигурации разработчик создаёт отдельный «слой» с изменениями, который подключается к базе и работает поверх типового решения.
Главная практическая ценность расширений — сохранение возможности штатного обновления. Если конфигурация изменена напрямую, каждое обновление превращается в ручное сравнение и объединение объектов, что занимает часы и требует привлечения специалиста. Расширение же «лежит отдельно»: типовая конфигурация обновляется автоматически, а доработки продолжают работать поверх неё.
Механизм доступен в управляемых приложениях на платформе 1С:Предприятие 8.3 и активно развивается: с ростом версий платформы расширяется список объектов и возможностей, которые можно переопределять. Поэтому расширения стали стандартным способом адаптации типовых решений — «Управление торговлей», «Бухгалтерия предприятия», «Зарплата и управление персоналом» — под нужды конкретной компании.
Как устроен механизм расширений
Расширение хранится отдельно от основной конфигурации — в информационной базе либо в файле с расширением .cfe. При запуске сеанса платформа «накладывает» расширения на основную конфигурацию: пользователь видит и работает с объединённым результатом. Если расширение отключить, база возвращается к исходному типовому поведению.
Внутри расширения разработчик может заимствовать объекты типовой конфигурации (формы, модули, макеты, роли) и изменять их, а также создавать собственные объекты. Например, можно взять типовую форму документа и добавить на неё кнопку, поле или обработчик события, не затрагивая исходный код формы в основной конфигурации.
Изменения в расширении работают по принципу переопределения: если процедура объявлена в расширении с аннотацией &ИзменениеИКонтроль или &Вместо, она подменяет или оборачивает типовой код. Это даёт гибкость, но требует аккуратности: при обновлении конфигурации типовой код может измениться, и переопределённая логика потребует пересмотра.
Что можно сделать через расширение
Набор возможностей зависит от версии платформы, но в современных релизах через расширения доступно большинство типовых задач адаптации:
- изменение форм объектов: добавление реквизитов, команд, элементов, обработчиков событий;
- дополнение модулей объектов и менеджеров собственными процедурами и функциями;
- создание новых отчётов, обработок, дополнительных реквизитов и сведений;
- добавление собственных подсистем, ролей, макетов, критериев отбора;
- изменение командного интерфейса и состава подсистем;
- переопределение типовых процедур общих модулей с контролем изменений.
Типичный сценарий: в «Бухгалтерии предприятия» нужно добавить на форму счёта поле с внутренним номером договора и печатную форму по шаблону компании. Обе задачи решаются расширением за один-два часа работы, при этом конфигурация остаётся на полной поддержке.
Другой частый случай — подключение внешнего сервиса: расширение добавляет кнопку в документ, которая отправляет данные в API транспортной компании или CRM. Логика интеграции целиком живёт в расширении и не смешивается с типовым кодом.
Чем расширение отличается от изменения конфигурации
Выбор между расширением и прямой правкой конфигурации определяет дальнейшую стоимость сопровождения. Прямая правка даёт полную свободу, но ломает механизм автоматического обновления. Расширение ограничено рамками механизма, зато сохраняет поддержку.
| Критерий | Расширение | Изменение конфигурации |
|---|---|---|
| Обновление конфигурации | Автоматическое, расширение продолжает работать | Ручное сравнение и объединение объектов |
| Поддержка поставщика | Сохраняется полностью | Частично или полностью теряется |
| Глубина изменений | Ограничена возможностями механизма | Любые, включая структуру данных |
| Стоимость сопровождения | Низкая | Растёт с каждым обновлением |
| Риск при обновлении | Конфликты только в переопределённых методах | Конфликты по всем изменённым объектам |
Практическое правило: если задачу можно решить расширением — решайте расширением. Прямая правка оправдана только там, где механизм расширений физически не позволяет добиться результата, например при глубокой переработке структуры метаданных.
Как создать и подключить расширение
Для создания расширения нужен доступ к конфигуратору и права на администрирование. Порядок действий одинаков для большинства типовых конфигураций.
- 1Откройте конфигуратор и перейдите в меню «Конфигурация» → «Расширения конфигурации».
- 2Создайте новое расширение, задайте имя и префикс для собственных объектов.
- 3Заимствуйте нужные объекты: например, форму документа или общий модуль.
- 4Внесите изменения: добавьте элементы формы, реквизиты, процедуры с аннотациями переопределения.
- 5Сохраните расширение и обновите конфигурацию базы данных (F7).
- 6Откройте базу в режиме предприятия и проверьте, что изменения видны и работают.
В пользовательском режиме расширения подключаются через раздел «Администрирование» → «Печатные формы, отчёты и обработки» → «Расширения» (точный путь зависит от конфигурации). Там же расширение можно временно отключить без удаления — это удобно для диагностики.
Ограничения и риски при работе с расширениями
Механизм расширений не всесилен. Через расширение нельзя, например, изменить состав измерений регистра, удалить типовой реквизит или поменять типовую структуру справочника. Ряд объектов и свойств платформа просто не отдаёт на переопределение, и список таких ограничений меняется от версии к версии.
Вторая группа рисков связана с обновлениями. Если типовая процедура, которую вы переопределили через &Вместо, в новом релизе изменилась, ваш вариант продолжит выполняться вместо нового типового — и вы потеряете исправления поставщика. Аннотация &ИзменениеИКонтроль частично защищает: платформа отслеживает изменения контролируемого метода и сообщает о расхождении.
Третий риск — конфликт нескольких расширений. Если два расширения переопределяют один и тот же метод, порядок их применения определяется очерёдностью подключения, и результат может быть непредсказуемым. Поэтому количество расширений в базе стоит держать под контролем и документировать, какое расширение что меняет.
Как проверить, что расширение работает корректно
После установки расширения проверка должна охватывать не только добавленную функциональность, но и смежные типовые механизмы. Минимальный контроль выглядит так:
Как проверить результат
Форма открывается, новые элементы видны и доступны
Ошибка открытия формы или отсутствие добавленных элементов
Документы проводятся, отчёты формируются как раньше
Ошибки проведения или изменение результатов типовых отчётов
Расширение применяется, контролируемые методы без расхождений
Предупреждения о нарушении контроля или отказ применения
Дополнительно полезно проверить работу под пользователем с ограниченными правами, а не только под администратором: расширение может добавлять объекты, к которым у рядовых пользователей нет доступа, и это выявляется только в реальной ролевой модели.
Типичные ошибки при использовании расширений
Отдельная ошибка — использование расширения там, где достаточно штатных механизмов. Дополнительные реквизиты и сведения, дополнительные печатные формы, внешние отчёты и обработки решают значительную часть задач безо всякого расширения. Расширение оправдано, когда нужно изменить поведение типовых объектов, а не просто добавить новое.
Как выбрать инструмент доработки
Частые вопросы
Снимается ли конфигурация с поддержки при подключении расширения?
Нет. Расширение хранится отдельно от основной конфигурации и не меняет её режим поддержки. Конфигурация остаётся на полной поддержке поставщика и обновляется штатно.
Что произойдёт с расширением при обновлении конфигурации?
Расширение продолжит работать поверх обновлённой конфигурации. Если в обновлении изменились заимствованные объекты, платформа подтянет изменения автоматически. Риск возникает только для переопределённых методов: их нужно проверить на соответствие новой типовой логике, особенно при использовании аннотации «Вместо».
Можно ли временно отключить расширение без удаления?
Да. В разделе «Администрирование» → «Расширения» снимите флажок использования у нужного расширения — база вернётся к типовому поведению. Это стандартный способ диагностики: если проблема исчезла после отключения, причина в расширении.
Сколько расширений можно подключить к одной базе?
Жёсткого лимита нет, но практически разумно держать их количество небольшим: каждое расширение увеличивает время запуска сеанса и усложняет диагностику конфликтов. Связанные доработки лучше объединять в одно расширение.
Чем расширение отличается от внешней обработки?
Внешняя обработка — это отдельный файл, который запускается пользователем или по расписанию и не изменяет типовые объекты. Расширение встраивается в конфигурацию: меняет формы, модули и поведение типовых объектов. Для разовых задач (загрузка данных, специальный отчёт) достаточно обработки, для изменения поведения системы нужно расширение.
Работают ли расширения в файловой базе?
Да, расширения работают и в файловом, и в клиент-серверном варианте. Различий в механизме нет, но в файловой базе с несколькими пользователями обновление и отключение расширений требует завершения их сеансов.
Что важно запомнить
Расширение конфигурации — штатный способ доработать типовую 1С без потери поддержки и автоматического обновления. Используйте его для изменения форм и логики, а простые задачи решайте дополнительными реквизитами и внешними обработками. Переопределённые методы проверяйте после каждого обновления, а новые расширения тестируйте на копии базы.