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

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

Как открыть модуль расширения 1С

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

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

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

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

Что нужно подготовить перед открытием модуля

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

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

Если у вас есть только файл расширения (.cfe), его предварительно загружают в базу. Сам файл двойным кликом не открывается — платформа 1С не ассоциирует .cfe с каким-либо приложением для просмотра.

Как открыть окно расширений конфигурации

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

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

Если список пуст, расширение нужно добавить: нажмите кнопку «Добавить» (или F6 в некоторых версиях платформы), укажите файл .cfe, при необходимости снимите флаг «Безопасный режим» и задайте понятное имя. После добавления расширение появится в списке.

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

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

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

Модуль формы

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

Модуль объекта и модуль менеджера

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

Общие модули расширения

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

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

После открытия модуля убедитесь, что код читается: процедуры и функции имеют аннотации расширения (&Вместо, &После и т.п.), нет красных пометок синтаксических ошибок. Выполните проверку: меню «Конфигурация» → «Проверка конфигурации» с установленным флагом проверки расширений, либо Ctrl+F7 непосредственно в окне модуля для синтаксического контроля.

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

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

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

Содержимое модуля
Норма

Видны процедуры с аннотациями &Вместо, &После, &Перед или собственный код

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

Модуль пустой, хотя расширение должно что-то менять — возможно, открыта не та ветка дерева

Синтаксический контроль (Ctrl+F7)
Норма

Ошибок нет или перечислены только осмысленные предупреждения

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

Ошибки компиляции — расширение не будет работать до их исправления

Работа в пользовательском режиме
Норма

Форма открывается, поведение соответствует коду расширения

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

Ошибка при открытии формы или обработчик не срабатывает — проверьте активность расширения и контролируемые роли

Почему модуль расширения не открывается: типичные ситуации

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

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

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

Типичные ошибки
01
Открытие не той базы: расширение подключено к рабочей базе, а конфигуратор запущен для копии — список расширений пуст
02
Попытка открыть файл .cfe двойным кликом: платформа не связывает файл с приложением, его нужно добавлять через окно расширений
03
Редактирование модуля без обновления конфигурации БД: изменения сохранены, но в пользовательском режиме работает старый код
04
Поиск кода основной конфигурации в модуле расширения: там только переопределяющие обработчики, исходный текст смотрят в основной конфигурации
05
Игнорирование безопасного режима: обработчики не срабатывают, потому что расширение неактивно, а разработчик ищет ошибку в коде

Ограничения и альтернативные способы работы с кодом расширения

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

Для командной разработки удобнее работать не в конфигураторе, а в 1C:EDT: расширение выгружается в проект, модули открываются как обычные файлы с подсветкой и контролем версий через Git. Это снижает риск потери кода и упрощает совместную работу, но требует настройки среды.

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

Сравнение вариантов

Конфигуратор

Быстрый способ открыть и поправить модуль прямо в базе; подходит для разовых правок, но изменения легко потерять без выгрузки в файл

1C:EDT

Проектная работа с Git и контролем версий; требует установки и настройки, избыточен для мелкой правки

Внешняя обработка

Альтернатива, когда расширение не может заимствовать нужный объект; не меняет типовые формы, а работает отдельно

Итог

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

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

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

Можно ли открыть модуль расширения без конфигуратора?

Нет, штатного способа просмотреть код расширения из пользовательского режима 1С:Предприятия нет. Нужен конфигуратор или 1C:EDT. Из пользовательского режима доступно только подключение и отключение расширения через раздел «Администрирование».

Почему в списке расширений пусто, хотя расширение точно установлено?

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

Модуль открылся, но он пустой — это нормально?

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

Как открыть модуль расширения, защищённого паролем?

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

Изменил модуль, но в базе ничего не поменялось. Что делать?

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

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

Только если это же расширение подключено и к ней. Чтобы перенести код, сохраните расширение в файл .cfe из первой базы и загрузите его во вторую через кнопку «Добавить» в окне расширений. Учтите, что расширение может быть несовместимо с версией конфигурации во второй базе.