feat(meta-compile,meta-decompile): поддержка SessionParameter/CommonCommand/CommandGroup/CommonAttribute/FunctionalOptionsParameter/WSReference (v1.59/v0.50)

Группа B (простые служебные типы), 25-30-й типы, 1269 объектов acc+erp. Все НОВЫЕ.
ПОЛНЫЙ КОРПУС 1269/1269 byte-exact, TOTAL 0, 0 крашей. Регресс 68/68 ps1+py, ps1==py identical.

- SessionParameter — параметр сеанса (тип значения). FunctionalOptionsParameter — Use(MDObjectRef).
  WSReference — LocationURL +InternalInfo Manager. CommandGroup — Representation/Picture/Category.
- CommonCommand — общая команда (Group/Representation/Picture/CommandParameterType/ParameterUseMode/…)
  + заготовка Ext/CommandModule.bsl. Переиспользован Emit-CommandPicture.
- **CommonAttribute** (сложный) — богатый реквизит + Content(состав объектов {metadata,use,conditionalSeparation})
  + 9 свойств разделения данных + Indexing/FullTextSearch/DataHistory. **Ловушки:** (1) дефолт типа String(0)
  (не $def.type — это тип метаобъекта); (2) FillValue тип-зависим (String→typed-empty, Number→0), но системный
  реквизит-разделитель ОбластьДанных имеет nil на Number → маркер `fillValue:{nil:true}` (аналог emptyRef).
  Прощающий ввод состава — Normalize-MDObjectRef.

spec §7.15f, 6 кейсов. Кросс-дрейфа нет (новые типы). NB: py-декомпилятор отложен.
**Модель meta-compile: 30 типов метаданных.**

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-07-10 13:46:23 +03:00
parent 2507437eb2
commit df42f6cc79
35 changed files with 2368 additions and 6 deletions
+19
View File
@@ -1265,6 +1265,25 @@ ChildObjects и модулей.
{ "type": "CommonForm", "name": "НастройкиОбмена", "usePurposes": ["PlatformApplication"] }
```
### 7.15f Служебные типы (SessionParameter / FunctionalOptionsParameter / WSReference / CommandGroup / CommonCommand / CommonAttribute)
- **SessionParameter** — параметр сеанса: `valueType` (составной тип значения). Без ChildObjects.
- **FunctionalOptionsParameter** — параметр функ. опции: `use` (массив MDObjectRef — измерения/реквизиты).
- **WSReference** — WS-ссылка: `locationURL` (URL WSDL). +InternalInfo Manager.
- **CommandGroup** — группа команд: `representation` (Auto), `tooltip` (ML), `picture` (§7.1.3), `category` (NavigationPanel).
- **CommonCommand** — общая команда: `group`, `representation`, `tooltip`, `picture`, `shortcut`, `includeHelpInContents`,
`commandParameterType` (тип), `parameterUseMode` (Single), `modifiesData`, `onMainServerUnavalableBehavior` (Auto).
Создаёт `Ext/CommandModule.bsl`.
- **CommonAttribute** — общий реквизит: `valueType` (дефолт `String(0)`) + все value-свойства (§4.2) + `content`
(массив `{metadata, use?, conditionalSeparation?}` или строка) + свойства разделения данных (`autoUse`/`dataSeparation`/
`separatedDataUse`/`usersSeparation`/`authenticationSeparation`/`configurationExtensionsSeparation` — дефолт DontUse/
Independently) + `indexing`/`fullTextSearch`/`dataHistory`. FillValue тип-зависим; `{nil: true}` — явный nil на типизированном.
```json
{ "type": "CommonAttribute", "name": "Организация", "valueType": "CatalogRef.Организации",
"autoUse": "Use", "content": ["Документ.РеализацияТоваров", { "metadata": "Документ.ПоступлениеТоваров" }] }
```
### 7.16 ChartOfAccounts
Полное описание типа (все поля, стандартные реквизиты, грамматика предопределённых счетов) — см. **§7.2c**.