fix(9 навыков): без хвостового перевода строки в конце XML (#57)

Конфигуратор не пишет перевод строки в конце файла — последний байт `>`. Это видно
на чистой выгрузке пустой ИБ (Windows и macOS) и на всех 8 выгрузках в cfsrc.
Наши эмиттеры добавляли лишний, причём оба порта и по разным причинам:

- PS: StringBuilder.AppendLine дописывает Environment.NewLine после последней строки;
- PY: '\n'.join(lines) + '\n' — хвост добавлен явно.

В meta-compile заведена единая точка записи Write-XmlFile: там документ собирают
и AppendLine, и явные `n в билдерах Predefined/Content/Flowchart, а выходов семь.
В остальных обрезка стоит в самом вызове записи.

Модули .bsl, JSON-выход form-compile, HTML-справка help-add и XSD из xdto-decompile
сюда НЕ входят: канон Конфигуратора описывает XML метаданных, а у этих артефактов
свои правила. Результаты XmlDocument.Save тоже не трогаются — у них хвоста нет.

Навыки редактирования продолжают сохранять стиль ВХОДНОГО файла: кейс
subsystem-edit/roundtrip-crlf-preserve, где фикстура намеренно с хвостом, остаётся
зелёным. Это контракт #44/#46/#47, и он не отменяется.

Дрейф снэпшотов: 547 файлов, у каждого только последняя строка, содержательных
изменений ноль. Тесты 641/641.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-08-05 13:53:05 +03:00
co-authored by Claude Opus 5
parent 39cf8e49cf
commit abe9431d8f
565 changed files with 601 additions and 593 deletions
@@ -29,4 +29,4 @@
<Comment/>
</Properties>
</Role>
</MetaDataObject>
</MetaDataObject>
@@ -6,4 +6,4 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
</Rights>
</Rights>
@@ -88,4 +88,4 @@
</Properties>
<ChildObjects/>
</Catalog>
</MetaDataObject>
</MetaDataObject>
@@ -79,4 +79,4 @@
</Properties>
<ChildObjects/>
</Document>
</MetaDataObject>
</MetaDataObject>
@@ -88,4 +88,4 @@
</Properties>
<ChildObjects/>
</Catalog>
</MetaDataObject>
</MetaDataObject>
@@ -88,4 +88,4 @@
</Properties>
<ChildObjects/>
</Catalog>
</MetaDataObject>
</MetaDataObject>
@@ -29,4 +29,4 @@
<Comment/>
</Properties>
</Role>
</MetaDataObject>
</MetaDataObject>
@@ -6,4 +6,4 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
</Rights>
</Rights>
@@ -29,4 +29,4 @@
<Comment/>
</Properties>
</Role>
</MetaDataObject>
</MetaDataObject>
@@ -6,4 +6,4 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
</Rights>
</Rights>
@@ -91,4 +91,4 @@
<Form>ФормаОбъекта</Form>
</ChildObjects>
</Catalog>
</MetaDataObject>
</MetaDataObject>
@@ -91,4 +91,4 @@
<Form>ФормаЭлемента</Form>
</ChildObjects>
</Catalog>
</MetaDataObject>
</MetaDataObject>
@@ -31,4 +31,4 @@
<Form>ФормаПоиска</Form>
</ChildObjects>
</DataProcessor>
</MetaDataObject>
</MetaDataObject>
@@ -29,4 +29,4 @@
<Comment/>
</Properties>
</Role>
</MetaDataObject>
</MetaDataObject>
@@ -6,4 +6,4 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
</Rights>
</Rights>
@@ -29,4 +29,4 @@
<Comment/>
</Properties>
</Role>
</MetaDataObject>
</MetaDataObject>
@@ -6,4 +6,4 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
</Rights>
</Rights>
@@ -88,4 +88,4 @@
</Properties>
<ChildObjects/>
</Catalog>
</MetaDataObject>
</MetaDataObject>
@@ -79,4 +79,4 @@
</Properties>
<ChildObjects/>
</Document>
</MetaDataObject>
</MetaDataObject>
@@ -118,4 +118,4 @@
</EnumValue>
</ChildObjects>
</Enum>
</MetaDataObject>
</MetaDataObject>
@@ -88,4 +88,4 @@
</Properties>
<ChildObjects/>
</Catalog>
</MetaDataObject>
</MetaDataObject>
@@ -20,4 +20,4 @@
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>
</MetaDataObject>
@@ -193,4 +193,4 @@
</Properties>
<ChildObjects/>
</DocumentJournal>
</MetaDataObject>
</MetaDataObject>
@@ -31,4 +31,4 @@
</Properties>
<ChildObjects/>
</FilterCriterion>
</MetaDataObject>
</MetaDataObject>
@@ -16,4 +16,4 @@
</Properties>
<ChildObjects/>
</HTTPService>
</MetaDataObject>
</MetaDataObject>
@@ -35,4 +35,4 @@
</Properties>
<ChildObjects/>
</Report>
</MetaDataObject>
</MetaDataObject>
@@ -31,4 +31,4 @@
</Properties>
<ChildObjects/>
</Sequence>
</MetaDataObject>
</MetaDataObject>
@@ -23,4 +23,4 @@
</Properties>
<ChildObjects/>
</SettingsStorage>
</MetaDataObject>
</MetaDataObject>
@@ -18,4 +18,4 @@
</Properties>
<ChildObjects/>
</WebService>
</MetaDataObject>
</MetaDataObject>
@@ -29,4 +29,4 @@
</Properties>
<ChildObjects/>
</DataProcessor>
</MetaDataObject>
</MetaDataObject>
@@ -79,4 +79,4 @@
</Properties>
<ChildObjects/>
</Document>
</MetaDataObject>
</MetaDataObject>
@@ -118,4 +118,4 @@
</EnumValue>
</ChildObjects>
</Enum>
</MetaDataObject>
</MetaDataObject>
@@ -134,4 +134,4 @@
<Form>ФормаЭлемента</Form>
</ChildObjects>
</Catalog>
</MetaDataObject>
</MetaDataObject>
@@ -73,4 +73,4 @@
</Type>
</Attribute>
</Attributes>
</Form>
</Form>
@@ -88,4 +88,4 @@
</Properties>
<ChildObjects/>
</Catalog>
</MetaDataObject>
</MetaDataObject>
@@ -118,4 +118,4 @@
</EnumValue>
</ChildObjects>
</Enum>
</MetaDataObject>
</MetaDataObject>
@@ -88,4 +88,4 @@
</Properties>
<ChildObjects/>
</Catalog>
</MetaDataObject>
</MetaDataObject>
@@ -20,4 +20,4 @@
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>
</MetaDataObject>
@@ -20,4 +20,4 @@
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>
</MetaDataObject>
@@ -88,4 +88,4 @@
</Properties>
<ChildObjects/>
</Catalog>
</MetaDataObject>
</MetaDataObject>
@@ -88,4 +88,4 @@
</Properties>
<ChildObjects/>
</Catalog>
</MetaDataObject>
</MetaDataObject>
@@ -20,4 +20,4 @@
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>
</MetaDataObject>
@@ -79,4 +79,4 @@
</Properties>
<ChildObjects/>
</Document>
</MetaDataObject>
</MetaDataObject>
@@ -20,4 +20,4 @@
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>
</MetaDataObject>
@@ -134,4 +134,4 @@
<Form>ФормаЭлемента</Form>
</ChildObjects>
</Catalog>
</MetaDataObject>
</MetaDataObject>
@@ -24,4 +24,4 @@
<SavedData>true</SavedData>
</Attribute>
</Attributes>
</Form>
</Form>
@@ -20,4 +20,4 @@
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>
</MetaDataObject>
@@ -20,4 +20,4 @@
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>
</MetaDataObject>
@@ -79,4 +79,4 @@
</Properties>
<ChildObjects/>
</Document>
</MetaDataObject>
</MetaDataObject>
@@ -20,4 +20,4 @@
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>
</MetaDataObject>
@@ -20,4 +20,4 @@
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>
</MetaDataObject>
@@ -20,4 +20,4 @@
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>
</MetaDataObject>
@@ -20,4 +20,4 @@
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>
</MetaDataObject>
@@ -20,4 +20,4 @@
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>
</MetaDataObject>
@@ -20,4 +20,4 @@
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>
</MetaDataObject>
@@ -20,4 +20,4 @@
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>
</MetaDataObject>
@@ -20,4 +20,4 @@
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>
</MetaDataObject>
@@ -20,4 +20,4 @@
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>
</MetaDataObject>
@@ -20,4 +20,4 @@
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>
</MetaDataObject>
@@ -88,4 +88,4 @@
</Properties>
<ChildObjects/>
</Catalog>
</MetaDataObject>
</MetaDataObject>
@@ -90,4 +90,4 @@
<Form>ФормаЭлемента</Form>
</ChildObjects>
</Catalog>
</MetaDataObject>
</MetaDataObject>
@@ -31,4 +31,4 @@
<Form>Форма</Form>
</ChildObjects>
</DataProcessor>
</MetaDataObject>
</MetaDataObject>
@@ -81,4 +81,4 @@
<Form>ФормаДокумента</Form>
</ChildObjects>
</Document>
</MetaDataObject>
</MetaDataObject>
@@ -16,4 +16,4 @@
<MainAttribute>true</MainAttribute>
</Attribute>
</Attributes>
</Form>
</Form>
@@ -90,4 +90,4 @@
<Form>ФормаСписка</Form>
</ChildObjects>
</Catalog>
</MetaDataObject>
</MetaDataObject>
@@ -81,4 +81,4 @@
<Form>ФормаДокумента</Form>
</ChildObjects>
</Document>
</MetaDataObject>
</MetaDataObject>
@@ -362,4 +362,4 @@
<Form>ФормаСписка</Form>
</ChildObjects>
</AccumulationRegister>
</MetaDataObject>
</MetaDataObject>
@@ -524,4 +524,4 @@
</TabularSection>
</ChildObjects>
</Catalog>
</MetaDataObject>
</MetaDataObject>
@@ -86,4 +86,4 @@
<SavedData>true</SavedData>
</Attribute>
</Attributes>
</Form>
</Form>
@@ -524,4 +524,4 @@
</TabularSection>
</ChildObjects>
</Catalog>
</MetaDataObject>
</MetaDataObject>
@@ -142,4 +142,4 @@
</Settings>
</Attribute>
</Attributes>
</Form>
</Form>
@@ -107,4 +107,4 @@
<Form>ФормаЭлемента</Form>
</ChildObjects>
</ChartOfCharacteristicTypes>
</MetaDataObject>
</MetaDataObject>
@@ -54,4 +54,4 @@
<SavedData>true</SavedData>
</Attribute>
</Attributes>
</Form>
</Form>
@@ -356,4 +356,4 @@
<Form>ФормаСчета</Form>
</ChildObjects>
</ChartOfAccounts>
</MetaDataObject>
</MetaDataObject>
@@ -153,4 +153,4 @@
<SavedData>true</SavedData>
</Attribute>
</Attributes>
</Form>
</Form>
@@ -94,4 +94,4 @@
</Properties>
<ChildObjects/>
</ChartOfCharacteristicTypes>
</MetaDataObject>
</MetaDataObject>
@@ -13,4 +13,4 @@
</Type>
<IsFolder>false</IsFolder>
</Item>
</PredefinedData>
</PredefinedData>
@@ -356,4 +356,4 @@
<Form>ФормаСписка</Form>
</ChildObjects>
</ChartOfAccounts>
</MetaDataObject>
</MetaDataObject>
@@ -94,4 +94,4 @@
</Properties>
<ChildObjects/>
</ChartOfCharacteristicTypes>
</MetaDataObject>
</MetaDataObject>
@@ -13,4 +13,4 @@
</Type>
<IsFolder>false</IsFolder>
</Item>
</PredefinedData>
</PredefinedData>
@@ -1126,4 +1126,4 @@
</TabularSection>
</ChildObjects>
</Document>
</MetaDataObject>
</MetaDataObject>
@@ -1126,4 +1126,4 @@
</TabularSection>
</ChildObjects>
</Document>
</MetaDataObject>
</MetaDataObject>
@@ -162,4 +162,4 @@
<Form>ФормаЭлемента</Form>
</ChildObjects>
</ExchangePlan>
</MetaDataObject>
</MetaDataObject>
@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<ExchangePlanContent xmlns="http://v8.1c.ru/8.3/xcf/extrnprops" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.17"/>
<ExchangePlanContent xmlns="http://v8.1c.ru/8.3/xcf/extrnprops" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.17"/>
@@ -71,4 +71,4 @@
<SavedData>true</SavedData>
</Attribute>
</Attributes>
</Form>
</Form>
@@ -309,4 +309,4 @@
<Form>ФормаСписка</Form>
</ChildObjects>
</InformationRegister>
</MetaDataObject>
</MetaDataObject>
@@ -305,4 +305,4 @@
<Form>ФормаЗаписи</Form>
</ChildObjects>
</InformationRegister>
</MetaDataObject>
</MetaDataObject>
@@ -35,4 +35,4 @@
<SavedData>true</SavedData>
</Attribute>
</Attributes>
</Form>
</Form>
@@ -353,4 +353,4 @@
<Form>ФормаЗаписи</Form>
</ChildObjects>
</InformationRegister>
</MetaDataObject>
</MetaDataObject>
@@ -45,4 +45,4 @@
<SavedData>true</SavedData>
</Attribute>
</Attributes>
</Form>
</Form>
@@ -219,4 +219,4 @@
</TabularSection>
</ChildObjects>
</DataProcessor>
</MetaDataObject>
</MetaDataObject>
@@ -47,4 +47,4 @@
</Columns>
</Attribute>
</Attributes>
</Form>
</Form>
@@ -31,4 +31,4 @@
<Form>Форма</Form>
</ChildObjects>
</DataProcessor>
</MetaDataObject>
</MetaDataObject>
@@ -228,4 +228,4 @@
</Columns>
</Attribute>
</Attributes>
</Form>
</Form>
@@ -90,4 +90,4 @@
<Form>ФормаСписка</Form>
</ChildObjects>
</Catalog>
</MetaDataObject>
</MetaDataObject>

Some files were not shown because too many files have changed in this diff Show More