diff --git a/.claude/skills/cfe-borrow/scripts/cfe-borrow.ps1 b/.claude/skills/cfe-borrow/scripts/cfe-borrow.ps1
index 9a766a1c..eddd9afa 100644
--- a/.claude/skills/cfe-borrow/scripts/cfe-borrow.ps1
+++ b/.claude/skills/cfe-borrow/scripts/cfe-borrow.ps1
@@ -1,4 +1,4 @@
-# cfe-borrow v1.26 — Borrow objects from configuration into extension (CFE)
+# cfe-borrow v1.27 — Borrow objects from configuration into extension (CFE)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
param(
[Parameter(Mandatory)][string]$ExtensionPath,
@@ -1571,14 +1571,6 @@ function Merge-AttributesIntoObject {
$added = 0
foreach ($attr in $attrsToAdd) {
if ($existingNames.ContainsKey($attr.Name)) { continue }
- $attrXml = Build-AdoptedAttributeXml $attr.Name $attr.Uuid $attr.TypeXml "`t`t`t"
-
- # Expand self-closing ChildObjects if needed
- if (-not $childObjs.HasChildNodes -or $childObjs.IsEmpty) {
- $closeWs = $objDoc.CreateWhitespace("`r`n`t`t")
- $childObjs.AppendChild($closeWs) | Out-Null
- }
-
$added++
}
@@ -1605,8 +1597,14 @@ function Merge-AttributesIntoObject {
if ($text3.Length -gt 0 -and $text3[0] -eq [char]0xFEFF) { $text3 = $text3.Substring(1) }
$text3 = $text3.Replace('encoding="utf-8"', 'encoding="UTF-8"')
- # Insert attributes before
- $text3 = $text3 -replace '', "${allAttrXml}`r`n`t`t"
+ # Insert attributes — handle both and ....
+ # Самозакрытый элемент раскрывается здесь же, а не пробельным узлом в DOM: тот давал
+ # лишнюю строку с табуляцией перед первым (у Конфигуратора пустых строк нет).
+ if ($text3 -match '') {
+ $text3 = [regex]::Replace($text3, '', "${allAttrXml}`r`n`t`t")
+ } else {
+ $text3 = $text3.Replace('', "${allAttrXml}`r`n`t`t")
+ }
# Пустой элемент: XmlWriter отдаёт ``, Конфигуратор пишет ``. Внутри
# CDATA/комментария ` />` может быть содержимым (там `>` не экранируется),
diff --git a/.claude/skills/cfe-borrow/scripts/cfe-borrow.py b/.claude/skills/cfe-borrow/scripts/cfe-borrow.py
index 8eaa312f..dc193fcf 100644
--- a/.claude/skills/cfe-borrow/scripts/cfe-borrow.py
+++ b/.claude/skills/cfe-borrow/scripts/cfe-borrow.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# cfe-borrow v1.26 — Borrow objects from configuration into extension (CFE)
+# cfe-borrow v1.27 — Borrow objects from configuration into extension (CFE)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse