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

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

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

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

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

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

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

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

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

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

Сравнение подходов к доработке

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

Типовая остаётся на поддержке, обновления штатные. Ограничение: не все объекты и изменения поддерживаются.

Изменение типовой конфигурации

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

Внешние обработки и отчёты

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

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

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

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

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

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

Когда расширение — правильный выбор

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как проверить расширение после обновления

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

Подключено, ошибок совместимости нет

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

Отключено или помечено как несовместимое

Работа доработанных форм
Норма

Формы открываются, новые элементы на месте

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

Ошибка открытия формы или пропавшие элементы

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

Нет ошибок, связанных с расширением

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

Ошибки вызова методов или обращения к объектам

Проведение доработанных документов
Норма

Проведение и контроли работают как раньше

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

Движения не формируются или контроль не срабатывает

Типичные ошибки при работе с расширениями

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

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

Если в базе несколько расширений, давайте им осмысленные имена по назначению (например, «ПечатныеФормы_Продажи», «ДопРеквизиты_Склад»), а не «Расширение1». При поиске источника ошибки это экономит значительное время, особенно когда доработки делали разные специалисты.
ПЗ
Практическое замечание

Ограничения и безопасность

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

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

Итог

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

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

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

Можно ли обновлять типовую конфигурацию, если подключены расширения?

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

Что произойдёт с данными при удалении расширения?

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

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

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

Расширение не подключается — в чём может быть причина?

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

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

Да, расширение сохраняется в файл через конфигуратор и загружается в другую базу с той же конфигурацией и совместимой версией. Перенос между разными конфигурациями (например, из «Управления торговлей» в «Комплексную автоматизацию») невозможен из-за различий в составе объектов.

Что выбрать: расширение или внешнюю обработку?

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