mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-21 20:21:02 +03:00
feat(cfe-patch-method): source-aware перехватчик + ресинк ИзменениеИКонтроль
Навык переписан в v2.0: вместо шаблона-заглушки читает оригинал метода из конфигурации-источника и генерирует корректный каркас. Генерация: - новый -ConfigPath (опционален, если ModulePath — путь к файлу .bsl модуля); - наследование директивы контекста, полной сигнатуры, обрамляющих #Если и #Область (в исходном порядке; регион переиспользуется, если уже есть); - тип Instead (&Вместо с ПродолжитьВызов); гвард: Before/After только для процедур; - ModAndControl копирует всё тело оригинала; - воздух (пустые строки) вокруг структурных границ и между методами; - имя с суффиксом типа только при коллизии; - убраны -Context/-IsFunction (выводятся из оригинала). Актуализация (повторный ModAndControl): предок восстанавливается из маркеров, однозначные правки #Вставка/#Удаление переносятся авто, спорные — [РЕСИНК-КОНФЛИКТ] плюс файлы-версии v1/v2/current/diff. Статусы АКТУАЛЕН/АКТУАЛИЗИРОВАН/ЧАСТИЧНО. Паритет ps1<->py (raw-кириллица в .py). Тесты: 12 кейсов, оба рантайма зелёные. runner.mjs: шаг writeFile теперь делает mkdir -p. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
fc2323f321
commit
a125464caa
@@ -6,6 +6,12 @@
|
||||
"input": { "type": "Document", "name": "ПриходТоваров" },
|
||||
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
|
||||
},
|
||||
{
|
||||
"writeFile": {
|
||||
"path": "Documents/ПриходТоваров/Ext/ManagerModule.bsl",
|
||||
"content": "#Область ОбработчикиСобытий\n\nПроцедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)\n\tСтандартнаяОбработка = Ложь;\nКонецПроцедуры\n\n#КонецОбласти\n"
|
||||
}
|
||||
},
|
||||
{
|
||||
"script": "cfe-init/scripts/cfe-init",
|
||||
"args": { "-Name": "Тест", "-OutputDir": "{workDir}/ext", "-ConfigPath": "{workDir}" }
|
||||
@@ -20,5 +26,6 @@
|
||||
"modulePath": "Document.ПриходТоваров.ManagerModule",
|
||||
"methodName": "ОбработкаПолученияДанныхВыбора",
|
||||
"interceptorType": "Before"
|
||||
}
|
||||
},
|
||||
"expect": { "stdoutContains": "ОбработкаПолученияДанныхВыбора" }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user