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

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

Как отредактировать расширение 1С

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

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

Работа ведётся в конфигураторе 1С:Предприятие. Понадобятся права администратора информационной базы (или доступ к копии базы для доработок), файл расширения в формате .cfe, если правка делается вне рабочей базы, и понимание того, какие объекты расширение заимствует из основной конфигурации.

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

Что понадобится перед началом работы

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

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

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

Открытие расширения в конфигураторе

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

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

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

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

Редактирование форм и модулей

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

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

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

Добавление и изменение объектов метаданных

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

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

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

Сохранение и обновление расширения в базе

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

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

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

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

Загрузка расширения
Норма

Расширение активно, ошибок при загрузке нет

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

Сообщения о несовместимости или отсутствующих объектах

Работа изменённой формы
Норма

Форма открывается, доработки отображаются и работают

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

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

Поведение типовых функций
Норма

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

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

Ошибки в типовых процедурах, перехваченных расширением

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

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

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

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

Типичные ошибки
01
Правка расширения прямо в рабочей базе без копии — ошибка блокирует работу всех пользователей до исправления
02
Использование &Вместо там, где достаточно &После или &ИзменениеИКонтроль — после обновления конфигурации доработка молча конфликтует с новой типовой логикой
03
Забытое обновление конфигурации базы данных после добавления реквизитов — данные не сохраняются, формы выдают ошибки
04
Перенос расширения между базами с разными релизами конфигурации без проверки заимствованных объектов — расширение не загружается

Частые вопросы по редактированию расширений

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

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

Почему расширение стало неактивным после обновления конфигурации?

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

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

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

Что произойдёт с данными, если отключить расширение?

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

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

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

Итог

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

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