diff --git a/.claude/skills/help-add/scripts/add-help.ps1 b/.claude/skills/help-add/scripts/add-help.ps1 index d4c3f49bb..102256a05 100644 --- a/.claude/skills/help-add/scripts/add-help.ps1 +++ b/.claude/skills/help-add/scripts/add-help.ps1 @@ -1,4 +1,4 @@ -# help-add v1.23 — Add built-in help to 1C object (+write_xml_file/write_utf8_bom: общий эталон записи) +# help-add v1.24 — Add built-in help to 1C object (+write_xml_file/write_utf8_bom: общий эталон записи) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [Parameter(Mandatory)] @@ -187,13 +187,15 @@ if (-not (Test-Path $extDir)) { # мержа веток), и только без него — подъёмом от каталога объекта. Не от SrcDir: у внешней обработки # корень <Имя>.xml лежит В SrcDir, подъём его не видел, и справка обработки 2.20 писалась 2.17. $formatVersion = $null -$ownerXml = "$((Resolve-Path $objectDir).Path).xml" +# Resolve-Path сохраняет завершающий разделитель («Обр/» → «…\Обр\»): без обрезки искался бы «…\Обр\.xml». +$objectFull = (Resolve-Path $objectDir).Path.TrimEnd('\', '/') +$ownerXml = "$objectFull.xml" if (Test-Path $ownerXml) { $ownerHead = [System.IO.File]::ReadAllText($ownerXml, [System.Text.Encoding]::UTF8) $ownerHead = $ownerHead.Substring(0, [Math]::Min(2000, $ownerHead.Length)) if ($ownerHead -match ']+version="(\d+\.\d+)"') { $formatVersion = $Matches[1] } } -if (-not $formatVersion) { $formatVersion = Detect-FormatVersion (Resolve-Path $objectDir).Path } +if (-not $formatVersion) { $formatVersion = Detect-FormatVersion $objectFull } # Код языка идёт и в текст XML, и в имя файла страницы, поэтому проверяем его до записи: # пустое значение дало бы файл «.html» и пустой , разделитель пути — запись мимо diff --git a/.claude/skills/help-add/scripts/add-help.py b/.claude/skills/help-add/scripts/add-help.py index c3c12086c..d60b61118 100644 --- a/.claude/skills/help-add/scripts/add-help.py +++ b/.claude/skills/help-add/scripts/add-help.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# help-add v1.23 — Add built-in help to 1C object (+write_xml_file/write_utf8_bom: общий эталон записи) +# help-add v1.24 — Add built-in help to 1C object (+write_xml_file/write_utf8_bom: общий эталон записи) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse diff --git a/tests/skills/cases/help-add/help-to-epf-220-trailing-slash.json b/tests/skills/cases/help-add/help-to-epf-220-trailing-slash.json new file mode 100644 index 000000000..92c0447f0 --- /dev/null +++ b/tests/skills/cases/help-add/help-to-epf-220-trailing-slash.json @@ -0,0 +1,15 @@ +{ + "name": "Справка к обработке 2.20 при ObjectName с косой чертой на конце — версия корня обработки", + "preRun": [ + { + "script": "epf-init/scripts/init", + "args": { "-Name": "Обработка220", "-SrcDir": "{workDir}", "-FormatVersion": "2.20" } + } + ], + "params": { "objectName": "Обработка220/" }, + "expect": { + "fileContains": [ + { "file": "Обработка220/Ext/Help.xml", "text": "version=\"2.20\"" } + ] + } +} diff --git a/tests/skills/cases/help-add/snapshots/help-to-epf-220-trailing-slash/Обработка220.xml b/tests/skills/cases/help-add/snapshots/help-to-epf-220-trailing-slash/Обработка220.xml new file mode 100644 index 000000000..7f51edfd8 --- /dev/null +++ b/tests/skills/cases/help-add/snapshots/help-to-epf-220-trailing-slash/Обработка220.xml @@ -0,0 +1,28 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + + Обработка220 + + + ru + Обработка220 + + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/help-add/snapshots/help-to-epf-220-trailing-slash/Обработка220/Ext/Help.xml b/tests/skills/cases/help-add/snapshots/help-to-epf-220-trailing-slash/Обработка220/Ext/Help.xml new file mode 100644 index 000000000..9d108f93c --- /dev/null +++ b/tests/skills/cases/help-add/snapshots/help-to-epf-220-trailing-slash/Обработка220/Ext/Help.xml @@ -0,0 +1,4 @@ + + + ru + \ No newline at end of file diff --git a/tests/skills/cases/help-add/snapshots/help-to-epf-220-trailing-slash/Обработка220/Ext/Help/ru.html b/tests/skills/cases/help-add/snapshots/help-to-epf-220-trailing-slash/Обработка220/Ext/Help/ru.html new file mode 100644 index 000000000..13b716c60 --- /dev/null +++ b/tests/skills/cases/help-add/snapshots/help-to-epf-220-trailing-slash/Обработка220/Ext/Help/ru.html @@ -0,0 +1,11 @@ + + + + + + + +

Обработка220/

+

Описание.

+ + \ No newline at end of file diff --git a/tests/skills/cases/help-add/snapshots/help-to-epf-220-trailing-slash/Обработка220/Ext/ObjectModule.bsl b/tests/skills/cases/help-add/snapshots/help-to-epf-220-trailing-slash/Обработка220/Ext/ObjectModule.bsl new file mode 100644 index 000000000..15543d277 --- /dev/null +++ b/tests/skills/cases/help-add/snapshots/help-to-epf-220-trailing-slash/Обработка220/Ext/ObjectModule.bsl @@ -0,0 +1,11 @@ +#Область ОписаниеПеременных + +#КонецОбласти + +#Область ПрограммныйИнтерфейс + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#КонецОбласти \ No newline at end of file