mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-30 14:05:53 +03:00
fix(help-add): ObjectName с завершающей косой чертой — версия справки не терялась
Resolve-Path сохраняет завершающий разделитель: для «Обработка/» дескриптор искался как «…\Обработка\.xml», не находился, и справка обработки 2.20 снова выходила 2.17. py-порт (os.path.abspath) разделитель отбрасывал, так что порты расходились. Путь объекта нормализуется. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
0791b0cfe1
commit
97e92e084b
@@ -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 '<MetaDataObject[^>]+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» и пустой <Page></Page>, разделитель пути — запись мимо
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user