mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-15 07:15:17 +03:00
feat(meta-compile,meta-decompile): поддержка типа CommonForm (Общие формы) (v1.58/v0.49)
24-й тип. Решение по общим формам (совместно с пользователем): meta-compile делает то, что вне компетенции form-compile — МЕТАДАННЫЕ + структуру файлов + регистрацию (как form-add для форм объектов); СОДЕРЖИМОЕ формы (Ext/Form.xml) наполняет form-compile, оно НЕ роундтрипится. - Метаданные CommonForm: FormType(Managed)/IncludeHelpInContents/UsePurposes(набор ApplicationUsePurpose, дефолт [Platform+MobilePlatform]Application)/UseStandardCommands (дефолт false, корпус 1314/760)/презентации. Без InternalInfo/ChildObjects. - **Заготовка структуры под компиляцию**: Ext/Form.xml (пустая управляемая форма — AutoCommandBar+ChildItems, зеркало form-add) + Ext/Form/Module.bsl + регистрация <CommonForm> в Configuration.xml. form-compile/form-edit далее наполняют форму. - Декомпилятор: гейт +CommonForm; захват formType/usePurposes(omit при дефолте)/ extendedPresentation; useStandardCommands дефолт false (как Enum). МЕТАДАННЫЙ роундтрип: ПОЛНЫЙ КОРПУС acc+erp 836/836 byte-exact, TOTAL 0. Регресс 62/62 ps1+py, ps1==py identical (вкл. Form.xml/Module.bsl-заготовку). spec §7.15e, кейс common-form. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1243,6 +1243,28 @@ ChildObjects и модулей.
|
||||
| `auxiliarySaveForm` / `auxiliaryLoadForm` | `""` | Auxiliary*Form (verbatim) |
|
||||
| `comment` | пусто | Comment |
|
||||
|
||||
### 7.15e CommonForm (Общая форма)
|
||||
|
||||
Общая форма — самостоятельная управляемая форма (не привязана к объекту). meta-compile создаёт **метаданные +
|
||||
структуру файлов + регистрацию**, аналогично тому, как `/form-add` делает для форм объектов; **содержимое формы
|
||||
(`Ext/Form.xml`) наполняет `/form-compile` или `/form-edit`** — оно НЕ роундтрипится (территория form-навыков).
|
||||
|
||||
| Поле JSON | Умолчание | XML элемент |
|
||||
|-----------|----------|-------------|
|
||||
| `comment` | пусто | Comment |
|
||||
| `formType` | `Managed` | FormType |
|
||||
| `includeHelpInContents` | `false` | IncludeHelpInContents |
|
||||
| `usePurposes` | `[PlatformApplication, MobilePlatformApplication]` | UsePurposes (массив ApplicationUsePurpose) |
|
||||
| `useStandardCommands` | `false` | UseStandardCommands |
|
||||
| `extendedPresentation` / `explanation` | пусто | презентации (ML) |
|
||||
|
||||
Создаёт: `CommonForms/<Имя>.xml` (метаданные) + `CommonForms/<Имя>/Ext/Form.xml` (пустая управляемая форма-заготовка) +
|
||||
`CommonForms/<Имя>/Ext/Form/Module.bsl` + регистрацию `<CommonForm>` в Configuration.xml.
|
||||
|
||||
```json
|
||||
{ "type": "CommonForm", "name": "НастройкиОбмена", "usePurposes": ["PlatformApplication"] }
|
||||
```
|
||||
|
||||
### 7.16 ChartOfAccounts
|
||||
|
||||
Полное описание типа (все поля, стандартные реквизиты, грамматика предопределённых счетов) — см. **§7.2c**.
|
||||
|
||||
Reference in New Issue
Block a user