Разработка и Конфигурация · 8 мин
Как отредактировать расширение 1С
Как отредактировать расширение 1С: открытие в конфигураторе, изменение форм и кода, контроль совместимости, обновление в базе и типичные ошибки.
Расширение конфигурации в 1С — это отдельный слой доработок, который подключается к типовой конфигурации без снятия её с поддержки. Редактировать расширение приходится, когда нужно исправить ошибку в доработке, адаптировать её под обновлённую конфигурацию или добавить новую функциональность без изменения основного кода поставщика.
Работа ведётся в конфигураторе 1С:Предприятие. Понадобятся права администратора информационной базы (или доступ к копии базы для доработок), файл расширения в формате .cfe, если правка делается вне рабочей базы, и понимание того, какие объекты расширение заимствует из основной конфигурации.
Главный риск при редактировании — потеря совместимости с типовой конфигурацией. После обновления основной конфигурации заимствованные объекты могут измениться или исчезнуть, и расширение перестанет загружаться. Поэтому любую правку начинают с резервной копии и проверяют на тестовой базе.
Что понадобится перед началом работы
Для редактирования расширения нужен доступ к конфигуратору с полными правами или правами администратора. Если расширение подключено к рабочей базе, правки лучше выполнять на копии: прямое изменение в продуктивной базе может привести к ошибкам у пользователей в момент обновления.
Если расширение хранится отдельным файлом, убедитесь, что у вас есть актуальная версия .cfe. Файл можно выгрузить из базы: в списке расширений выделите нужное и нажмите «Сохранить в файл». Это также способ сделать резервную копию самого расширения перед правкой.
Проверьте версию платформы и релиз конфигурации. Расширение, разработанное под другой релиз, может содержать заимствованные объекты, которых в текущей конфигурации уже нет. Это первое, что нужно установить, прежде чем что-то менять.
Открытие расширения в конфигураторе
Запустите конфигуратор нужной информационной базы. В главном меню выберите «Конфигурация — Расширения конфигурации». Откроется список всех подключённых расширений с указанием имени, версии, безопасного режима и состояния активности.
Выделите нужное расширение и нажмите «Открыть» (или дважды кликните по строке). Конфигуратор откроет дерево объектов расширения — оно выглядит как обычное дерево конфигурации, но содержит только заимствованные и собственные объекты расширения.
Если расширения нет в списке, а есть только файл .cfe, сначала загрузите его: в окне расширений нажмите «Добавить» и укажите файл. После загрузки расширение появится в списке, и его можно открыть для правки.
- 1Откройте конфигуратор и перейдите в «Конфигурация — Расширения конфигурации»
- 2Выгрузите расширение в файл .cfe как резервную копию
- 3Откройте расширение двойным щелчком
- 4Найдите нужный объект в дереве расширения
- 5Внесите изменения в форму, модуль или состав объекта
- 6Сохраните расширение и проверьте его в режиме предприятия
Редактирование форм и модулей
Формы в расширении существуют в двух вариантах: заимствованные из основной конфигурации и собственные. Заимствованная форма показывает элементы типовой формы, к которым добавлены или изменены элементы расширения. Редактировать можно только свои доработки — исходные элементы типовой формы напрямую не изменяются.
Чтобы изменить поведение формы, откройте её модуль. В расширении доступны аннотации перехвата обработчиков: &ИзменениеИКонтроль, &Вместо, &Перед, &После. Рекомендуется использовать &ИзменениеИКонтроль — она сохраняет контрольную точку, и при обновлении конфигурации платформа сообщит, если типовой метод изменился.
Аннотация &Вместо полностью замещает типовой обработчик. Это рискованный вариант: после обновления конфигурации ваш код может конфликтовать с новой логикой поставщика, и вы об этом не узнаете автоматически. Применяйте замещение только когда без него не обойтись.
Добавление и изменение объектов метаданных
Расширение позволяет добавлять собственные объекты: справочники, документы, регистры, отчёты, обработки, роли. Они создаются так же, как в обычной конфигурации, — через контекстное меню дерева объектов. Собственные объекты не зависят от типовой конфигурации и не ломаются при её обновлении.
В заимствованные объекты можно добавлять реквизиты, табличные части, движения по регистрам. Для этого заимствуйте объект в расширение (правой кнопкой — «Добавить в расширение») и изменяйте его состав. Учтите: добавленные через расширение реквизиты хранятся в базе, и при отключении расширения доступ к этим данным пропадёт.
Есть ограничения: расширение не может изменять некоторые свойства типовых объектов, например состав планов обмена, и не может удалять типовые объекты. Если требуемая доработка невозможна средствами расширения, придётся вносить изменения в основную конфигурацию.
Сохранение и обновление расширения в базе
После внесения правок сохраните расширение: «Конфигурация — Сохранить расширение конфигурации» либо комбинацией Ctrl+S при активном окне расширения. Затем обновите конфигурацию базы данных (F7), если изменения затрагивали структуру данных — реквизиты, регистры, табличные части.
Если правка делалась на копии базы, перенесите результат в рабочую: выгрузите расширение в файл .cfe, откройте список расширений в рабочей базе и загрузите файл поверх существующего расширения. После загрузки перезапустите сеансы пользователей — изменения форм и кода подхватываются при новом входе.
Как проверить результат
Расширение активно, ошибок при загрузке нет
Сообщения о несовместимости или отсутствующих объектах
Форма открывается, доработки отображаются и работают
Ошибка при открытии формы или исчезнувшие элементы
Штатные операции конфигурации выполняются без ошибок
Ошибки в типовых процедурах, перехваченных расширением
Проверка совместимости после обновления конфигурации
После обновления типовой конфигурации платформа автоматически проверяет расширения. Если заимствованный объект или метод изменился либо удалён, расширение может быть отключено с диагностикой в журнале регистрации. Проверяйте состояние расширений сразу после каждого обновления.
Для ручной проверки откройте расширение в конфигураторе и выполните проверку конфигурации: «Конфигурация — Проверка конфигурации». Ошибки вида «объект не найден» означают, что заимствованный объект исчез из типовой конфигурации — его нужно удалить из расширения или заменить.
Контрольные точки, созданные аннотацией &ИзменениеИКонтроль, покажут методы, которые изменились в новом релизе. Сравните текущий типовой код со своей доработкой и скорректируйте перехват, если логика поставщика поменялась.
Частые вопросы по редактированию расширений
Можно ли редактировать расширение без конфигуратора?
Нет, штатный способ правки — только конфигуратор 1С:Предприятие. Теоретически файл .cfe можно распаковать сторонними средствами, но такая правка не гарантирует корректности и не поддерживается. Для любых изменений используйте конфигуратор соответствующей версии платформы.
Почему расширение стало неактивным после обновления конфигурации?
Чаще всего причина в том, что заимствованный объект или метод, использованный в расширении, был изменён или удалён в новом релизе. Откройте журнал регистрации и список расширений — там будет диагностика. Исправьте ссылки на изменённые объекты в конфигураторе и сохраните расширение заново.
Как перенести отредактированное расширение в другую базу?
Выгрузите расширение в файл .cfe через кнопку «Сохранить в файл» в списке расширений. В целевой базе откройте список расширений, добавьте файл или загрузите его поверх существующего расширения. Убедитесь, что релизы конфигураций в обеих базах совпадают или совместимы.
Что произойдёт с данными, если отключить расширение?
Данные, записанные в реквизиты и объекты, добавленные расширением, физически останутся в базе, но станут недоступны из интерфейса и кода. При повторном подключении того же расширения доступ к данным восстановится. Удаление расширения с очисткой данных приведёт к их потере.
Чем расширение лучше прямой доработки конфигурации?
Расширение не снимает конфигурацию с поддержки, поэтому типовые обновления устанавливаются штатно, без ручного сравнения и объединения модулей. Прямая доработка оправдана только тогда, когда нужное изменение невозможно реализовать механизмом расширений.
Что важно запомнить
Расширение редактируется в конфигураторе через список расширений конфигурации. Перед правкой выгрузите .cfe и работайте на копии базы, для перехвата обработчиков используйте &ИзменениеИКонтроль, после изменений структуры данных обновляйте конфигурацию базы данных и проверяйте работу в режиме предприятия.