mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-12 21:20:52 +03:00
Из ~46 навыков-эмиттеров XML восемь не имели ни одной проверки `preserves`: form-edit, form-remove, meta-remove, skd-edit, template-remove, xdto-edit, support-edit, cfe-patch-method. Шесть из них правились в предыдущем коммите, и канон у них держался на том, что правка была механической, а не на проверке. Ожидания писались ПО КАНОНУ, а не по текущему поведению — и это сразу вскрыло три дефекта: 1. form-remove очищал слот формы через InnerText="" / text="" — получалась пустая пара <DefaultObjectForm></DefaultObjectForm>. Платформа пустых пар не пишет (0 на 476 942 XML). Теперь IsEmpty / text=None. 2. Опустевший <ChildObjects> оставался парой, разнесённой по строкам, — в PS-порту form-remove и template-remove. Корпус: 1394 самозакрывающихся <ChildObjects/> на acc+erp, пустых пар 0 в обеих формах. 3. template-add писал пустой макет парой <SpreadsheetDocument></...>. Во всей выгрузке acc_8.3.27 (65 040 XML) многострочных пустых пар нет ни для одного тега. Заодно усилена сама проверка noEmptyPairs: она ловила только СМЕЖНЫЕ теги, поэтому дефект №2 проходил мимо неё. Добавлен вариант с переводом строки внутри; дискриминатором служит сам перевод строки — значащий пробельный текст-узел (<xr:FillValue xsi:type="xs:string"> </xr:FillValue>) его не содержит и под проверку не попадает. support-edit покрыт частично (BOM у ParentConfigurations.bin — проверено, что платформа пишет его с BOM во всех трёх выгрузках), cfe-patch-method — BOM+EOL у .bsl: хвостовой перевод строки у модулей неканоничен (1235 с ним, 766 без), поэтому не утверждается. Регресс: 647/647 ps1, 644/647 py (3 skipped). Эталоны переснятые: три места, каждое — ровно ожидаемая пара строк. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
34 lines
1.7 KiB
XML
34 lines
1.7 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">
|
|
<ExternalReport uuid="UUID-001">
|
|
<InternalInfo>
|
|
<xr:ContainedObject>
|
|
<xr:ClassId>UUID-002</xr:ClassId>
|
|
<xr:ObjectId>UUID-003</xr:ObjectId>
|
|
</xr:ContainedObject>
|
|
<xr:GeneratedType name="ExternalReportObject.МойОтчёт" category="Object">
|
|
<xr:TypeId>UUID-004</xr:TypeId>
|
|
<xr:ValueId>UUID-005</xr:ValueId>
|
|
</xr:GeneratedType>
|
|
</InternalInfo>
|
|
<Properties>
|
|
<Name>МойОтчёт</Name>
|
|
<Synonym>
|
|
<v8:item>
|
|
<v8:lang>ru</v8:lang>
|
|
<v8:content>МойОтчёт</v8:content>
|
|
</v8:item>
|
|
</Synonym>
|
|
<Comment/>
|
|
<DefaultForm/>
|
|
<AuxiliaryForm/>
|
|
<MainDataCompositionSchema/>
|
|
<DefaultSettingsForm/>
|
|
<AuxiliarySettingsForm/>
|
|
<DefaultVariantForm/>
|
|
<VariantsStorage/>
|
|
<SettingsStorage/>
|
|
</Properties>
|
|
<ChildObjects/>
|
|
</ExternalReport>
|
|
</MetaDataObject> |