- form-compile.py: rewrite generate_chart_of_accounts_item_dsl and
generate_chart_of_accounts_folder_dsl from dict-format to list-format
(array of OrderedDict), matching PS1 canonical output
- meta-compile.py/ps1: extract flag['name'] from AccountingFlags and
ExtDimensionAccountingFlags dicts instead of stringifying the whole object
- Update snapshots with clean flag names (Валютный/Количественный)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Root cause: new generators (IR, AccumReg, CoA, CCOCT/EP wrappers) used
OrderedDict for elements/columns, but PS1 compiler expects array format.
ConvertTo-Json→ConvertFrom-Json wraps dict into single PSCustomObject,
not iterable array — so ChildItems were empty.
Converted all new generators to array format matching existing
Document/Catalog patterns: elements=@(), columns=@().
Also fixed CCOCT/EP wrapper inject logic to iterate array elements
instead of dict keys.
PS1: 12/12, PY: 8/12 (minor case/autofill differences in PY port).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Port PS1 bugfixes to Python:
- Document List: add Номер + Дата as first columns
- Hidden Ref: userVisible=false instead of visible=false (both Catalog and Document lists)
- Emitter: support <UserVisible><xr:Common>false</xr:Common></UserVisible>
- Add userVisible to KNOWN_KEYS
Note: new_field_element calls in Python were already correct (no Bug 1 equivalent).
Python snapshots updated.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Three bugs fixed in --from-object PS1 generators:
1. New-FieldElement called with wrong positional args in IR Record and CoA Item
generators — hashtable passed as attrName instead of individual fields.
Result: elements became "System.Collections.Hashtable" → compiler dropped them
→ empty forms. Fixed with named parameters.
2. Document List form missing Number/Date standard columns — only custom
attributes were shown. Added Номер + Дата as first two columns.
3. Hidden Ref column used Visible=false (element completely hidden from
"Customize form"). Changed to UserVisible=false so users can enable Ref
and add sub-columns via dot notation. Matches ERP Контрагенты pattern.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
8 test cases covering InformationRegister (Record periodic/nonperiodic, List),
AccumulationRegister (List), ChartOfCharacteristicTypes (Item),
ExchangePlan (Item), ChartOfAccounts (Item, List).
All 12 tests pass on both PS1 and Python runtimes with form-validate.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>