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

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

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

Пошаговая инструкция по созданию расширения конфигурации 1С: от нового расширения до изменения форм и процедур без снятия конфигурации с поддержки.

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

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

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

Когда стоит делать расширение, а когда — доработку конфигурации

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

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

Сравнение подходов

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

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

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

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

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

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

Создание нового расширения в конфигураторе

Откройте конфигуратор под пользователем с правами администратора. Перейдите в меню «Конфигурация — Расширения конфигурации». В открывшемся списке нажмите «Создать» — появится окно свойств нового расширения.

Заполните основные свойства: имя (латиницей, без пробелов, например ДоработкиПечати), синоним (отображаемое название), префикс (добавляется к именам новых объектов, чтобы не было конфликтов с типовыми). Назначение оставьте «Дополнение» для обычных задач; «Исправление» применяется для патчей, «Адаптация» — для служебных целей при обновлении.

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

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

Заимствование объектов и добавление своих

Чтобы изменить форму типового документа, встаньте на объект в дереве конфигурации, откройте контекстное меню и выберите «Добавить в расширение». Форма копируется в расширение, и дальше вы редактируете именно её копию: добавляете поля, меняете порядок элементов, скрываете лишнее. Типовая форма при этом не трогается.

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

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

Изменение форм: практические приёмы

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

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

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

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

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

Проверка результата и поведение при обновлении

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

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

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

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

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

Подключено, флажок активен, нет пометок об ошибках

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

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

Новые реквизиты и элементы форм
Норма

Поля видны у пользователей, данные сохраняются и отображаются в отчётах

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

Поле есть в конфигураторе, но не видно в режиме предприятия — проверьте права и подключение расширения

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

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

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

Ошибки совместимости заимствованных объектов — требуется повторное заимствование

Типичные ошибки и ограничения

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Можно ли отладить код расширения?

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

Как перенести расширение на другую базу?

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