cfe-patch-method

star 139

Этот скилл MUST быть вызван когда нужно перехватить метод заимствованного объекта в расширении: вставить код до, после или вместо оригинального. SHOULD также вызывать после cfe-borrow когда требуется изменение метода. Do NOT использовать для заимствования объектов — используй cfe-borrow; для создания расширения — используй cfe-init.

Arman-Kudaibergenov By Arman-Kudaibergenov schedule Updated 3/4/2026

name: cfe-patch-method description: > Этот скилл MUST быть вызван когда нужно перехватить метод заимствованного объекта в расширении: вставить код до, после или вместо оригинального. SHOULD также вызывать после cfe-borrow когда требуется изменение метода. Do NOT использовать для заимствования объектов — используй cfe-borrow; для создания расширения — используй cfe-init. argument-hint: -ExtensionPath -ModulePath "Catalog.X.ObjectModule" -MethodName "ПриЗаписи" -InterceptorType Before allowed-tools: - Bash - Read - Glob

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

Генерирует .bsl файл с декоратором перехвата для заимствованного объекта расширения. Создаёт файл или дописывает в существующий.

Предусловие

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

Параметры

Параметр Описание По умолчанию
ExtensionPath Путь к расширению (обязат.)
ModulePath Путь к модулю (обязат.)
MethodName Имя перехватываемого метода (обязат.)
InterceptorType Before / After / ModificationAndControl (обязат.)
Context Директива контекста НаСервере
IsFunction Метод — функция (добавит Возврат) false

Формат ModulePath

ModulePath Файл
Catalog.X.ObjectModule Catalogs/X/Ext/ObjectModule.bsl
Catalog.X.ManagerModule Catalogs/X/Ext/ManagerModule.bsl
Catalog.X.Form.Y Catalogs/X/Forms/Y/Ext/Form/Module.bsl
CommonModule.X CommonModules/X/Ext/Module.bsl
Document.X.ObjectModule Documents/X/Ext/ObjectModule.bsl
Document.X.Form.Y Documents/X/Forms/Y/Ext/Form/Module.bsl

Аналогично для Report, DataProcessor, InformationRegister и других типов.

Типы перехвата

InterceptorType Декоратор Назначение
Before &Перед Код до вызова оригинального метода
After &После Код после вызова оригинального метода
ModificationAndControl &ИзменениеИКонтроль Копия тела метода с маркерами #Вставка/#Удаление

Команда

powershell.exe -NoProfile -File .claude/skills/cfe-patch-method/scripts/cfe-patch-method.ps1 -ExtensionPath src -ModulePath "Catalog.Контрагенты.ObjectModule" -MethodName "ПриЗаписи" -InterceptorType Before

Примеры

# Перехват &Перед на сервере
... -ExtensionPath src -ModulePath "Catalog.Контрагенты.ObjectModule" -MethodName "ПриЗаписи" -InterceptorType Before

# Перехват &После на клиенте
... -ExtensionPath src -ModulePath "Document.Заказ.Form.ФормаДокумента" -MethodName "ПослеЗаписиНаСервере" -InterceptorType After -Context "НаКлиенте"

# ИзменениеИКонтроль для функции
... -ExtensionPath src -ModulePath "CommonModule.ОбщийМодуль" -MethodName "ПолучитьДанные" -InterceptorType ModificationAndControl -IsFunction

Генерируемый код (Before)

&НаСервере
&Перед("ПриЗаписи")
Процедура Расш1_ПриЗаписи()
    // TODO: код перед вызовом оригинального метода
КонецПроцедуры
Install via CLI
npx skills add https://github.com/Arman-Kudaibergenov/1c-ai-development-kit --skill cfe-patch-method
Repository Details
star Stars 139
call_split Forks 18
navigation Branch main
article Path SKILL.md
More from Creator
Arman-Kudaibergenov
Arman-Kudaibergenov Explore all skills →