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

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

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

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

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

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

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

Что умеют и чего не умеют расширения

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

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

Способы доработки 1С

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

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

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

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

Изменение конфигурации

Нужно при добавлении новых объектов метаданных. Снимает объекты с полной поддержки и усложняет обновления.

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

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

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

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

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

Подключение и разработка через конфигуратор

Для разработчика основной инструмент — конфигуратор. Откройте меню «Конфигурация — Расширения конфигурации», создайте новое расширение или загрузите существующее из файла. В дереве расширения добавляйте собственные объекты или заимствуйте типовые через контекстное меню «Добавить в расширение» на объекте основной конфигурации.

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

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

Безопасный режим и профили безопасности

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

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

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

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

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

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

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

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

Проверка применимости в конфигураторе
Норма

Проверка завершается без ошибок по всем заимствованным объектам

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

Сообщения об отсутствующих объектах или изменённых сигнатурах процедур

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

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

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

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

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

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

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

Повторяющиеся ошибки при работе пользователей

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

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

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

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

Когда расширение не подходит: альтернативы

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

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

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

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

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

Часто задаваемые вопросы

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

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

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

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

Что делать, если расширение перестало работать после обновления?

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

Безопасно ли отключать безопасный режим у расширения?

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

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

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

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

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

Итог

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

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