Add Resolve-TypeStr/resolve_type_str to form-compile and form-edit (PS+PY)
that silently normalizes Russian type names (Строка→string, Число→decimal,
Булево→boolean, etc.), Number→decimal alias, and Russian reference prefixes
(СправочникСсылка→CatalogRef, etc.). Also accept + as composite type
separator alongside |. This makes form skills more forgiving when the model
uses meta-compile DSL conventions instead of form-specific ones.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- stdCommand dot syntax: "Товары.Add" → Form.Item.Товары.StandardCommand.Add
- Event name validation: warn on unknown events per element type (13 types, ~60 events)
- Form-level event validation (19 known events)
- Document events reference and popup element in SKILL.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
form-compile: warn about unknown DSL keys in element definitions,
document stdCommand/command button keys and EPF-specific notes.
form-validate: check that form-level Title uses multilingual XML,
not plain text (which causes XDTO errors at build time).
form-add: warn about duplicate element names, clarify after-not-found
message when using into+after together.
form-info: show Title in header instead of Properties line, display
commands as DSL-friendly format (-> Name [cmd], -> Close [std])
instead of raw Form.Command/Form.StandardCommand paths.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Rename DSL keys to match 1C property names (Visible, Enabled):
- form-compile/form-add: accept "visible": false and "enabled": false
as primary keys, keep hidden/disabled as synonyms
- form-info: output [visible:false] and [enabled:false] flags
- Update SKILL.md docs and form-guide.md
Improves round-trip consistency: form-info output now directly maps
to form-compile/form-add input keys.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
form-add: Scan column IDs (same pool as attribute IDs) to prevent
duplicate ID collisions. Use XPath .//*[@id] instead of ChildItems
recursion to capture companion element IDs (ExtendedTooltip, ContextMenu).
form-compile: Extract title from properties and route through Emit-MLText
instead of generic Emit-Properties, which produced plain text <Title>
rejected by 1C XDTO schema.
Found during E2E testing of full pipeline (epf-init → form-compile →
form-add → epf-build).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>