feat(meta-compile): прощающий ввод ссылок на формы по умолчанию (v1.19)

Default*Form/Auxiliary*Form нормализуются как fillValue-ссылки: русский
корень (Справочник→Catalog), сегмент Форма→Form, и короткая запись без него
(Справочник.X.ФормаЭлемента ≡ Справочник.X.Форма.ФормаЭлемента ≡ канон).
Канон англ. — идемпотентно (снэпшоты не меняются). Декомпилятор эмитит
канон, роундтрип не затронут.

Кейс catalog-object-props переведён на русскую форму (лочит нормализацию),
spec §7.1. Регресс 40/40 ps1+py, ps1↔py идентичны.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-07-03 19:00:59 +03:00
parent ef20f6ece8
commit 1565ae23ab
4 changed files with 42 additions and 7 deletions
+5 -1
View File
@@ -305,8 +305,12 @@ JSON DSL для описания объектов метаданных конф
| `includeHelpInContents` | `false` | IncludeHelpInContents (bool) |
| `dataLockControlMode` | `Automatic` | DataLockControlMode |
| `fullTextSearch` | `Use` | FullTextSearch |
| `defaultObjectForm` / `defaultFolderForm` / `defaultListForm` / `defaultChoiceForm` / `defaultFolderChoiceForm` | пусто | Default*Form (ссылка на форму, напр. `Catalog.X.Form.ФормаY`) |
| `defaultObjectForm` / `defaultFolderForm` / `defaultListForm` / `defaultChoiceForm` / `defaultFolderChoiceForm` | пусто | Default*Form (ссылка на форму) |
| `auxiliaryObjectForm` / `auxiliaryFolderForm` / `auxiliaryListForm` / `auxiliaryChoiceForm` / `auxiliaryFolderChoiceForm` | пусто | Auxiliary*Form (ссылка на форму) |
Ссылка на форму — `Тип.Объект.Form.ИмяФормы` (напр. `Catalog.НастройкиОбмена.Form.ФормаЭлемента`). Прощающий ввод:
русский корень (`Справочник``Catalog`), сегмент `Форма``Form`, и короткая запись без него —
`Справочник.НастройкиОбмена.ФормаЭлемента``Справочник.НастройкиОбмена.Форма.ФормаЭлемента` ≡ канон.
| `owners` | `[]` | Owners |
| `objectPresentation` | пусто | ObjectPresentation (ML) |
| `extendedObjectPresentation` | пусто | ExtendedObjectPresentation (ML) |