mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-01 07:50:50 +03:00
-Check сравнивал только тело и сигнатуру не смотрел вовсе. Если поставщик добавил методу параметр, а тело не изменил (новый параметр часто ещё не используется), платформа перехватчик отвергает — «Список параметров метода "X" не соответствует методу "Y"» — а -Check говорил АКТУАЛЕН, и починка не запускалась. Замер на стенде (8.3.24, /CheckCanApplyConfigurationExtensions + рантайм): платформа сверяет только ЧИСЛО параметров. Имена, значения по умолчанию и лишний Экспорт не сравнивает; дефолты копии вдобавок не действуют — берутся из оригинала. Поэтому сверяем количество и ничего сверх того, иначе получили бы ложный дрейф там, где платформа молчит. Число параметров считается существующим Split-TopLevel по ParamsText обеих сторон; при расхождении метод идёт обычной веткой дрейфа со статусом ДРЕЙФ и причиной «список параметров: в оригинале N, в перехватчике M». -Actualize починку уже умел: он собирает строку сигнатуры заново из оригинала — не запускался только потому, что -Check не звал. Кейсы: расхождение числа (ДРЕЙФ), переименованные параметры с другим дефолтом (АКТУАЛЕН, как у платформы) и -Actualize, переписывающий список параметров. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QoAJmoNbgWKobA7JGgN5S3
58 lines
1.8 KiB
JSON
58 lines
1.8 KiB
JSON
{
|
|
"name": "-Actualize: список параметров перехватчика переписывается по оригиналу",
|
|
"preRun": [
|
|
{
|
|
"script": "meta-compile/scripts/meta-compile",
|
|
"input": {
|
|
"type": "CommonModule",
|
|
"name": "БатчМод",
|
|
"context": "server"
|
|
},
|
|
"args": {
|
|
"-JsonPath": "{inputFile}",
|
|
"-OutputDir": "{workDir}"
|
|
}
|
|
},
|
|
{
|
|
"writeFile": {
|
|
"path": "CommonModules/БатчМод/Ext/Module.bsl",
|
|
"content": "#Область ПрограммныйИнтерфейс\n\nФункция Расчёт(А, Б = 5) Экспорт\n\tХ = 1;\n\tВозврат Х;\nКонецФункции\n\n#КонецОбласти\n"
|
|
}
|
|
},
|
|
{
|
|
"script": "cfe-init/scripts/cfe-init",
|
|
"args": {
|
|
"-Name": "Тест",
|
|
"-OutputDir": "{workDir}/cfe",
|
|
"-ConfigPath": "{workDir}"
|
|
}
|
|
},
|
|
{
|
|
"script": "cfe-borrow/scripts/cfe-borrow",
|
|
"args": {
|
|
"-ExtensionPath": "{workDir}/cfe",
|
|
"-ConfigPath": "{workDir}",
|
|
"-Object": "CommonModule.БатчМод"
|
|
}
|
|
},
|
|
{
|
|
"writeFile": {
|
|
"path": "cfe/CommonModules/БатчМод/Ext/Module.bsl",
|
|
"content": "#Область ПрограммныйИнтерфейс\n&ИзменениеИКонтроль(\"Расчёт\")\nФункция Тест_Расчёт(А)\n\tХ = 1;\n\tВозврат Х;\nКонецФункции\n#КонецОбласти\n"
|
|
}
|
|
}
|
|
],
|
|
"params": {
|
|
"extensionPath": "cfe"
|
|
},
|
|
"args_extra": [
|
|
"-Actualize"
|
|
],
|
|
"expect": {
|
|
"fileContains": {
|
|
"file": "cfe/CommonModules/БатчМод/Ext/Module.bsl",
|
|
"text": "Функция Тест_Расчёт(А, Б = 5)"
|
|
}
|
|
}
|
|
}
|