fix(cfe-borrow): основной реквизит формы переносится из источника

Реквизит синтезировался с зашитыми name="Объект", типом <Тип>Object и
SavedData=true, а сверху доклеивались «довески» исходной формы. Для формы
списка это давало реквизит «Объект» объектного типа с настройками
динамического списка внутри, и платформа отвергала файл: «Исключение XDTO
произошло при чтении файла». Навык при этом отрабатывал молча, exit 0.

По корпусу (8675 форм с основным реквизитом, УТ + ERP) объектных только 4074:
динамический список — 3847, менеджер записи — 546, xs:string — 108, набор
констант — 97. <Settings xsi:type="DynamicList"> встречается ровно у
динамических списков, 3847 из 3847.

Эталоны Конфигуратора дают единое правило для всех видов: реквизит копируется
из исходной формы дословно, меняется только id. Теперь так и делается, а
вычисление типа из таблицы GeneratedType уходит вместе с тихим сбоем
«нет категории Object → cfg:.Имя» для перечислений, констант и регистров.

Следом расшиты ещё три места, зашитые на литерал «Объект»:
- вырезание путей к данным — корень берётся из имени основного реквизита,
  иначе у формы списка вырезало бы все пути «Список.*»; путь ровно на сам
  реквизит («Список» у таблицы формы) тоже сохраняется;
- сбор путей для заимствования дочерних объектов — на необъектных формах не
  находил ничего, и в оболочку не попадало ни одного реквизита;
- вид дочернего объекта: измерения и ресурсы регистра переносятся как
  <Dimension>/<Resource>, а не все как <Attribute>.

Проверено на трёх эталонах (форма документа, форма списка, форма записи
регистра): основной реквизит, корни путей к данным и виды дочерних объектов
оболочки совпадают. Расширение с формой списка и формой записи грузится в
UT_DEMO и применяется к БД — до правки загрузка падала.

Снапшоты: <Type> у основного реквизита теперь многострочный, как у
Конфигуратора; синтез писал его в одну строку.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-08-14 14:32:54 +03:00
co-authored by Claude Opus 5
parent b5662a380d
commit d3ea826286
5 changed files with 171 additions and 143 deletions
@@ -31,7 +31,9 @@
</ChildItems>
<Attributes>
<Attribute name="Объект" id="1000001">
<Type><v8:Type>cfg:CatalogObject.Товары</v8:Type></Type>
<Type>
<v8:Type>cfg:CatalogObject.Товары</v8:Type>
</Type>
<MainAttribute>true</MainAttribute>
<SavedData>true</SavedData>
</Attribute>
@@ -68,7 +70,9 @@
</ChildItems>
<Attributes>
<Attribute name="Объект" id="1000001">
<Type><v8:Type>cfg:CatalogObject.Товары</v8:Type></Type>
<Type>
<v8:Type>cfg:CatalogObject.Товары</v8:Type>
</Type>
<MainAttribute>true</MainAttribute>
<SavedData>true</SavedData>
</Attribute>
@@ -64,7 +64,9 @@
</ChildItems>
<Attributes>
<Attribute name="Объект" id="1000001">
<Type><v8:Type>cfg:DocumentObject.ЗаказКлиента</v8:Type></Type>
<Type>
<v8:Type>cfg:DocumentObject.ЗаказКлиента</v8:Type>
</Type>
<MainAttribute>true</MainAttribute>
<SavedData>true</SavedData>
<UseAlways>
@@ -151,7 +153,9 @@
</ChildItems>
<Attributes>
<Attribute name="Объект" id="1000001">
<Type><v8:Type>cfg:DocumentObject.ЗаказКлиента</v8:Type></Type>
<Type>
<v8:Type>cfg:DocumentObject.ЗаказКлиента</v8:Type>
</Type>
<MainAttribute>true</MainAttribute>
<SavedData>true</SavedData>
<UseAlways>
@@ -35,7 +35,9 @@
</ChildItems>
<Attributes>
<Attribute name="Объект" id="1000001">
<Type><v8:Type>cfg:DocumentObject.Расход</v8:Type></Type>
<Type>
<v8:Type>cfg:DocumentObject.Расход</v8:Type>
</Type>
<MainAttribute>true</MainAttribute>
<SavedData>true</SavedData>
</Attribute>
@@ -76,7 +78,9 @@
</ChildItems>
<Attributes>
<Attribute name="Объект" id="1000001">
<Type><v8:Type>cfg:DocumentObject.Расход</v8:Type></Type>
<Type>
<v8:Type>cfg:DocumentObject.Расход</v8:Type>
</Type>
<MainAttribute>true</MainAttribute>
<SavedData>true</SavedData>
</Attribute>