mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-14 06:45:17 +03:00
feat(meta-compile,meta-decompile): реквизит-Характеристика — TypeSet + LinkByType (v1.21/v0.14)
Паттерн «Вид субконто»/доп.реквизит: реквизит-значение типа Характеристики ПВХ.
Две связанные категории:
• TypeSet: тип-множество эмитился только для DefinedType; обобщено на
Characteristic (`Characteristic.X` → <v8:TypeSet>cfg:Characteristic.X). Оба —
тип, подразумевающий набор типов.
• LinkByType (связь по типу — тип значения берётся из реквизита-Вида):
компилятор писал <LinkByType/> всегда; теперь Emit-LinkByType (порт TypeLink
из form-compile: DataPath+LinkItem). DSL `linkByType`: {dataPath, linkItem?}
ИЛИ строка-путь. Декомпилятор захватывает (linkItem=0 → компактно строкой).
Декомпилятор для TypeSet правок не требует (Get-TypeShorthand уже даёт
"Characteristic.X"). remaining TypeSet/LinkByType=0 на выборке (rt-ts), регресс
42/42 ps1+py, ps1↔py идентичны. spec §3.2/§4.2, кейс catalog-attr-typeset-linkbytype.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -82,6 +82,11 @@ JSON DSL для описания объектов метаданных конф
|
||||
| `BusinessProcessRef.Xxx` | `cfg:BusinessProcessRef.Xxx` |
|
||||
| `TaskRef.Xxx` | `cfg:TaskRef.Xxx` |
|
||||
| `DefinedType.Xxx` | `cfg:DefinedType.Xxx` (через `v8:TypeSet`) |
|
||||
| `Characteristic.Xxx` | `cfg:Characteristic.Xxx` (через `v8:TypeSet`) |
|
||||
|
||||
**Тип-множество (`v8:TypeSet`)** — тип, подразумевающий набор типов: `DefinedType.Xxx` (Определяемый тип) и
|
||||
`Characteristic.Xxx` (значение Характеристики из ПВХ — «Вид субконто»/доп.реквизит). У реквизита-значения
|
||||
Характеристики тип значения обычно определяется другим реквизитом-Видом — см. `linkByType` (§4.2).
|
||||
|
||||
### 3.3 Русские синонимы типов
|
||||
|
||||
@@ -145,6 +150,7 @@ JSON DSL для описания объектов метаданных конф
|
||||
| `fullTextSearch` | FullTextSearch | Use | Use/DontUse |
|
||||
| `fillFromFillingValue` | FillFromFillingValue | false | bool |
|
||||
| `fillValue` | FillValue | по типу (см. ниже) | значение заполнения — bool/число/строка/дата/DTR-путь; `null` → nil |
|
||||
| `linkByType` | LinkByType | пусто | связь по типу: `{dataPath, linkItem?}` ИЛИ строка-путь (linkItem=0). Тип значения реквизита-Характеристики берётся из реквизита по `dataPath` |
|
||||
| `createOnInput` | CreateOnInput | Auto | Auto/Use/DontUse |
|
||||
| `quickChoice` | QuickChoice | Auto | Auto/Use/DontUse. Прощаем bool (форм-стиль): `true`→Use, `false`→DontUse |
|
||||
| `dataHistory` | DataHistory | Use | Use/DontUse |
|
||||
|
||||
Reference in New Issue
Block a user