Files
cc-1c-skills/tests/skills/cases/meta-compile/snapshots/http-service/HTTPServices/ТоварныйAPI.xml
T
Nick ShirokovandClaude Opus 5 abe9431d8f 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>
2026-08-05 13:53:05 +03:00

96 lines
3.3 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" 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">
<HTTPService uuid="UUID-001">
<Properties>
<Name>ТоварныйAPI</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ТоварныйAPI</v8:content>
</v8:item>
</Synonym>
<Comment>Публичный API</Comment>
<RootURL>api/v1</RootURL>
<ReuseSessions>Use</ReuseSessions>
<SessionMaxAge>30</SessionMaxAge>
</Properties>
<ChildObjects>
<URLTemplate uuid="UUID-002">
<Properties>
<Name>Товары</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Товары</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Template>/products/{id}</Template>
</Properties>
<ChildObjects>
<Method uuid="UUID-003">
<Properties>
<Name>Получить</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Получить</v8:content>
</v8:item>
</Synonym>
<Comment/>
<HTTPMethod>GET</HTTPMethod>
<Handler>ТоварыПолучить</Handler>
</Properties>
</Method>
<Method uuid="UUID-004">
<Properties>
<Name>Обновить</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Обновить</v8:content>
</v8:item>
</Synonym>
<Comment/>
<HTTPMethod>PUT</HTTPMethod>
<Handler>ТоварыОбновить</Handler>
</Properties>
</Method>
</ChildObjects>
</URLTemplate>
<URLTemplate uuid="UUID-005">
<Properties>
<Name>rpc</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>rpc</v8:content>
</v8:item>
</Synonym>
<Comment>Удалённый вызов</Comment>
<Template>/rpc</Template>
</Properties>
<ChildObjects>
<Method uuid="UUID-006">
<Properties>
<Name>post</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Отправить</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Post</v8:content>
</v8:item>
</Synonym>
<Comment/>
<HTTPMethod>POST</HTTPMethod>
<Handler>ВызовЧерезТелоЗапроса</Handler>
</Properties>
</Method>
</ChildObjects>
</URLTemplate>
</ChildObjects>
</HTTPService>
</MetaDataObject>