mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-24 13:41:01 +03:00
feat(form-decompile,form-compile): Save — сохранение значения реквизита в польз. настройках
Ключ save на реквизите формы (<Save><Field>…): - true → <Field>имя</Field> (голое имя, 93% случаев) - строка/массив строк → под-поля с авто-префиксом "имя." (путь с точкой, UUID 1/0:guid, или совпадающее с именем — берутся как есть) - нет ключа или false → не эмитим Гипотеза подтверждена на корпусе: Field=имя в 383/410 (93%); gating формовыми SaveDataInSettings/AutoSaveDataInSettings НЕ требуется (51/160 форм с Save без них). Период-кейс (голое имя Период + Период.EndDate/StartDate/Variant) round-trip бит-в-бит. Переиспользует механику нормализации useAlways. ≠ savedData (отдельное, уже было). Декомпилятор: один Field=имя → save:true, иначе массив со снятым префиксом. Зеркало py (байт-в-байт), кейс attributes-types сертифицирован в 1С. Регресс 39/39 ps1+py. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
09c3dcd988
commit
5a67c56e92
@@ -23,10 +23,11 @@
|
||||
],
|
||||
"attributes": [
|
||||
{ "name": "Объект", "type": "DataProcessorObject.Типы", "main": true },
|
||||
{ "name": "Строка", "type": "string(200)", "view": false },
|
||||
{ "name": "Строка", "type": "string(200)", "view": false, "save": true },
|
||||
{ "name": "Число", "type": "decimal(10,0,nonneg)", "edit": false },
|
||||
{ "name": "Дата", "type": "dateTime", "title": "" },
|
||||
{ "name": "Булево", "type": "boolean" },
|
||||
{ "name": "Период", "type": "v8:StandardPeriod", "save": ["Период", "EndDate", "StartDate", "Variant"] },
|
||||
{ "name": "СписокЗначений", "type": "ValueList" },
|
||||
{ "name": "Идентификатор", "type": "v8:UUID" }
|
||||
]
|
||||
|
||||
+22
-2
@@ -57,6 +57,9 @@
|
||||
<View>
|
||||
<xr:Common>false</xr:Common>
|
||||
</View>
|
||||
<Save>
|
||||
<Field>Строка</Field>
|
||||
</Save>
|
||||
</Attribute>
|
||||
<Attribute name="Число" id="15">
|
||||
<Title>
|
||||
@@ -96,7 +99,24 @@
|
||||
<v8:Type>xs:boolean</v8:Type>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="СписокЗначений" id="18">
|
||||
<Attribute name="Период" id="18">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Период</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>v8:StandardPeriod</v8:Type>
|
||||
</Type>
|
||||
<Save>
|
||||
<Field>Период</Field>
|
||||
<Field>Период.EndDate</Field>
|
||||
<Field>Период.StartDate</Field>
|
||||
<Field>Период.Variant</Field>
|
||||
</Save>
|
||||
</Attribute>
|
||||
<Attribute name="СписокЗначений" id="19">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -107,7 +127,7 @@
|
||||
<v8:Type>v8:ValueListType</v8:Type>
|
||||
</Type>
|
||||
</Attribute>
|
||||
<Attribute name="Идентификатор" id="19">
|
||||
<Attribute name="Идентификатор" id="20">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
|
||||
Reference in New Issue
Block a user