agentleFS
anymasoftanymasoft/1c-ai/.claude/skills/cfe-patch-method/SKILL.md

cfe-patch-method

Skill0 starsChanged 4 months agoMITView on GitHub

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

2 other projects use a version of this, 1 of them edited.

Adopted by

Most recently taken up by

The file

Files
SKILL.md

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

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

Предусловие

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

Параметры

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

Формат ModulePath

ModulePathФайл
Catalog.X.ObjectModuleCatalogs/X/Ext/ObjectModule.bsl
Catalog.X.ManagerModuleCatalogs/X/Ext/ManagerModule.bsl
Catalog.X.Form.YCatalogs/X/Forms/Y/Ext/Form/Module.bsl
CommonModule.XCommonModules/X/Ext/Module.bsl
Document.X.ObjectModuleDocuments/X/Ext/ObjectModule.bsl
Document.X.Form.YDocuments/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: код перед вызовом оригинального метода
КонецПроцедуры

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.