# Cfe Patch Method

Генерация и актуализация перехватчика метода в расширении 1С (CFE).

- Repository: https://github.com/Nikolay-Shirokov/cc-1c-skills (750 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-10-31
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add Nikolay-Shirokov/cc-1c-skills --skill cfe-patch-method -g -a claude-code -y`
Codex: `npx skills add Nikolay-Shirokov/cc-1c-skills --skill cfe-patch-method -g -a codex -y`
Cursor: `npx skills add Nikolay-Shirokov/cc-1c-skills --skill cfe-patch-method -g -a cursor -y`
Gemini CLI: `npx skills add Nikolay-Shirokov/cc-1c-skills --skill cfe-patch-method -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add Nikolay-Shirokov/cc-1c-skills`

## Description

Генерация и актуализация перехватчика метода в расширении 1С (CFE). Используй когда нужно перехватить метод заимствованного объекта, вставить код до, после, вместо оригинала, изменить его тело (ИзменениеИКонтроль), или актуализировать перехватчик после изменения оригинала

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# /cfe-patch-method, Генерация перехватчика метода

Читает оригинал метода из конфигурации-источника и генерирует `.bsl`-перехватчик заимствованного объекта: с правильной директивой контекста, полной сигнатурой, обрамляющими инструкциями препроцессора и областями. Для `ИзменениеИКонтроль` копирует всё тело оригинала. Создаёт файл модуля, дописывает в существующий или актуализирует уже заимствованный метод.

## Предусловие

Объект должен быть заимствован в расширение (`/cfe-borrow`). Нужен доступ к исходникам базовой конфигурации (`-ConfigPath`), оттуда читается оригинал метода. `NamePrefix` берётся из `Configuration.xml` расширения.

### Авто-определение ConfigPath

Если пользователь не указал `-ConfigPath`, попробуй определить автоматически:
1. Прочитай `.v8-project.json` из корня проекта
2. Разреши целевую базу (по имени, ветке или `default`, алгоритм из `/db-list`)
3. Если у базы есть поле `configSrc`, используй как `-ConfigPath`
4. Если `configSrc` нет, спроси у пользователя

## Параметры

| Параметр | Описание | По умолчанию |
|----------|----------|--------------|
| `ExtensionPath` | Путь к расширению (обязат.) |, |
| `ConfigPath` | Путь к конфигурации-источнику | обязат., кроме случая, когда `ModulePath`, путь к файлу |
| `ModulePath` | Логическое имя (`Тип.Имя.Модуль`) **или** путь к файлу модуля `.bsl` | обязат. для генерации |
| `MethodName` | Имя перехватываемого метода | обязат. для генерации |
| `InterceptorType` | `Before` / `After` / `Instead` / `ModificationAndControl` | обязат. для генерации |
| `Check` | Проверить контролируемые методы на дрейф (только отчёт) |, |
| `Actualize` | Актуализировать дрейфнувшие контролируемые методы |, |

## Формат ModulePath

The rest: https://github.com/Nikolay-Shirokov/cc-1c-skills/blob/HEAD/.claude/skills/cfe-patch-method/SKILL.md
