feat(cfe-borrow): условное оформление формы переносится, как у Конфигуратора

Навык терял условное оформление заимствованной формы: писал <Attributes/>
(или только основной реквизит). Конфигуратор копирует <ConditionalAppearance>
как есть в обе части формы, внутрь <Attributes> после реквизитов — и без
основного реквизита тоже. Ссылки оформления на незаимствованные реквизиты
формы остаются, платформа их принимает. Элементы стиля из оформления
заимствуются, даже если больше нигде в форме не упомянуты; регэксп сбора
стилей не видел закрывающий тег с префиксом (<dcscor:value>style:X</…>).

Порядок заимствования стилей — порядок первого упоминания в обоих портах
(в PS был порядок хеша, в Python — множество). Оба порта, v1.42.

Эталоны Конфигуратора совпадают построчно в обоих портах: УТ StdPic,
StdPic_WithMain, CAStyle (включая набор стилей), УНФ Номенклатура.ФормаЭлемента —
она теперь совпадает целиком; прежние пять форм (link, TypeLink*, LinkOnly)
не сдвинулись. Кейсы form-conditional-appearance и -main; на v1.41 падали.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-09-27 19:25:26 +03:00
co-authored by Claude Opus 5.5
parent bdf7902e6a
commit 39f08563b2
39 changed files with 2056 additions and 22 deletions
+2
View File
@@ -457,6 +457,8 @@ Form.xml заимствованной формы — **двухчастный ф
3. **Attributes** — по умолчанию пустой `<Attributes/>` в обеих секциях. Атрибуты базовой конфигурации **не включаются**. Реквизиты расширения (id ≥ 1000000) добавляются только в Part 1.
**Условное оформление формы** (`<ConditionalAppearance>` внутри `<Attributes>`) копируется из исходной формы как есть в обе секции, после реквизитов; без основного реквизита — единственным ребёнком `<Attributes>`. Ссылки оформления на незаимствованные реквизиты формы остаются — платформа их принимает. Элементы стиля, на которые ссылается оформление (`<dcscor:value>style:X</dcscor:value>`), заимствуются, даже если больше нигде в форме не упомянуты (эталоны Конфигуратора УТ 8.3.27 и УНФ 8.5).
**Вариант с заимствованным основным реквизитом**: если реквизиты объекта заимствованы (см. раздел 5.3), секция `<Attributes>` содержит основной реквизит формы:
```xml
<Attributes>