1C Skills для расширений: заимствование объектов и перехват методов

Работа с CFE через 1C Skills: создание расширения, заимствование объекта, вставка до или после метода, diff и валидация.

Article

Расширение 1С редко создаётся с нуля целиком. Обычно нужно заимствовать документ или форму, добавить реквизит и аккуратно вставить код в существующий метод. В 1C Skills для этого есть цепочка cfe-init → cfe-borrow → cfe-patch-method → cfe-validate.

Начинаем с минимального CFE

cfe-init создаёт XML-каркас расширения. На этом этапе задаются имя, назначение и совместимость, но конфигурация ещё не копируется в проект. Чем меньше состав, тем проще обновлять типовую конфигурацию и разбирать конфликты.

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

Вставка в существующий метод

cfe-patch-method создаёт перехватчик и размещает код до, после или вместо оригинального фрагмента. Хорошее задание:

В расширении КонтрольЗаказов заимствуй документ ЗаказКлиента. После выполнения ПередЗаписью добавь проверку ответственного. Не отменяй стандартную логику. Покажи diff и проверь расширение.

Фраза «измени ПередЗаписью» недостаточна: нужна точка вставки, ожидаемое поведение и отношение к стандартному коду.

Проверка переноса и обновлений

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

Перед сборкой выполните cfe-validate. Валидатор проверит структуру и связи, но не заменит запуск в тестовой базе. Финальный цикл включает загрузку CFE, обновление базы, открытие изменённой формы и выполнение рабочего сценария.

В одном коммите должна быть одна понятная причина заимствования. Несколько небольших CFE часто прозрачнее универсального пакета с десятками вмешательств.

Статьи по теме