mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-21 20:21:02 +03:00
feat(cfe-patch-method): распознавание неактуальных правок при актуализации (v2.4)
Правка, перенесённая вендором в основную конфигурацию, больше не дублируется и не уходит в ложный конфликт: - вставка, чей код уже в новом оригинале → раньше ДУБЛЬ, теперь снимается; - удаление, чей блок уже вырезан → раньше ложный КОНФЛИКТ, теперь снимается. Обесценивание — свойство операции. Новый статус метода ПЕРЕНЕСЕНО В ОСНОВНУЮ, когда поглощены все правки (перехватчик можно удалить); при частичном — АКТУАЛИЗИРОВАН со счётчиками «правок сохранено: N, перенесено в основную: M». Существующий счётчик «перенесено правок» переименован в «правок сохранено», чтобы «перенесено» осталось за поглощением базой. -Check не роняет exit, если единственное расхождение — перенесённые правки. Детекция на существующих примитивах (Find-UniqueRun + новые Test-RunAt/ Test-DeleteAbsorbed), только по точному совпадению. Зеркально ps1↔py, +3 кейса (transferred-insert/delete/partial), 19/19 на обоих рантаймах. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
4b6ced87c4
commit
912128d24f
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"name": "Ресинк: вставка уже в новом оригинале — перенесено в основную (без дубля)",
|
||||
"preRun": [
|
||||
{
|
||||
"script": "meta-compile/scripts/meta-compile",
|
||||
"input": { "type": "CommonModule", "name": "ПереносМод", "properties": { "Server": true } },
|
||||
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
|
||||
},
|
||||
{
|
||||
"writeFile": {
|
||||
"path": "CommonModules/ПереносМод/Ext/Module.bsl",
|
||||
"content": "#Область ПрограммныйИнтерфейс\n\nПроцедура П(Спр) Экспорт\n\tНачатьТранзакцию();\n\tСпр.Записать();\n\tЗафиксироватьТранзакцию();\nКонецПроцедуры\n\n#КонецОбласти\n"
|
||||
}
|
||||
},
|
||||
{
|
||||
"script": "cfe-init/scripts/cfe-init",
|
||||
"args": { "-Name": "Тест", "-OutputDir": "{workDir}/ext", "-ConfigPath": "{workDir}" }
|
||||
},
|
||||
{
|
||||
"script": "cfe-borrow/scripts/cfe-borrow",
|
||||
"args": { "-ExtensionPath": "{workDir}/ext", "-ConfigPath": "{workDir}", "-Object": "CommonModule.ПереносМод" }
|
||||
},
|
||||
{
|
||||
"writeFile": {
|
||||
"path": "ext/CommonModules/ПереносМод/Ext/Module.bsl",
|
||||
"content": "#Область ПрограммныйИнтерфейс\n&ИзменениеИКонтроль(\"П\")\nПроцедура Тест_П(Спр)\n\tНачатьТранзакцию();\n#Вставка\n\tСпр.Записать();\n#КонецВставки\n\tЗафиксироватьТранзакцию();\nКонецПроцедуры\n#КонецОбласти\n"
|
||||
}
|
||||
}
|
||||
],
|
||||
"params": {
|
||||
"extensionPath": "ext",
|
||||
"modulePath": "CommonModule.ПереносМод",
|
||||
"methodName": "П",
|
||||
"interceptorType": "ModificationAndControl"
|
||||
},
|
||||
"expect": { "stdoutContains": "ПЕРЕНЕСЕНО В ОСНОВНУЮ" }
|
||||
}
|
||||
Reference in New Issue
Block a user