/form-add — Добавление формы к объекту конфигурации
Создаёт управляемую форму (metadata XML + Form.xml + Module.bsl) и регистрирует её в корневом XML объекта конфигурации (Document, Catalog, InformationRegister и др.).
Usage
/form-add <ObjectPath> <FormName> [Purpose] [Synonym] [--set-default]
| Параметр |
Обязательный |
По умолчанию |
Описание |
| ObjectPath |
да |
— |
Путь к XML-файлу объекта (Documents/Док.xml) |
| FormName |
да |
— |
Имя формы (ФормаДокумента) |
| Purpose |
нет |
Object |
Назначение: Object, List, Choice, Record |
| Synonym |
нет |
= FormName |
Синоним формы |
| --set-default |
нет |
авто |
Установить как форму по умолчанию |
Команда
powershell.exe -NoProfile -File .claude/skills/form-add/scripts/form-add.ps1 -ObjectPath "<ObjectPath>" -FormName "<FormName>" [-Purpose "<Purpose>"] [-Synonym "<Synonym>"] [-SetDefault]
Purpose — назначение формы
| Purpose |
Допустимые типы объектов |
Основной реквизит |
DefaultForm-свойство |
| Object |
Document, Catalog, DataProcessor, Report, ExternalDataProcessor, ExternalReport, ChartOf*, ExchangePlan, BusinessProcess, Task |
Объект (тип: *Object.Имя) |
DefaultObjectForm (DefaultForm для DataProcessor/Report/ExternalDataProcessor/ExternalReport) |
| List |
Все кроме DataProcessor |
Список (DynamicList) |
DefaultListForm |
| Choice |
Document, Catalog, ChartOf*, ExchangePlan, BusinessProcess, Task |
Список (DynamicList) |
DefaultChoiceForm |
| Record |
InformationRegister |
Запись (InformationRegisterRecordManager) |
DefaultRecordForm |
Что создаётся
<ObjectDir>/Forms/
├── <FormName>.xml # Метаданные формы (UUID)
└── <FormName>/
└── Ext/
├── Form.xml # Описание формы (logform namespace)
└── Form/
└── Module.bsl # BSL-модуль с 5 регионами + ПриСозданииНаСервере
Что модифицируется
<ObjectPath> — добавляется <Form> в ChildObjects (перед <Template> или <TabularSection>), обновляется Default*Form (автоматически если пустое, или явно при --set-default)
Поддерживаемые типы объектов
Document, Catalog, DataProcessor, Report, ExternalDataProcessor, ExternalReport, InformationRegister, ChartOfAccounts, ChartOfCharacteristicTypes, ExchangePlan, BusinessProcess, Task
Примеры
# Форма документа
/form-add Documents/АвансовыйОтчет.xml ФормаДокумента --purpose Object
# Форма списка каталога
/form-add Catalogs/Контрагенты.xml ФормаСписка --purpose List
# Форма записи регистра сведений
/form-add InformationRegisters/КурсыВалют.xml ФормаЗаписи --purpose Record
# Форма выбора с синонимом
/form-add Catalogs/Номенклатура.xml ФормаВыбора --purpose Choice --synonym "Выбор номенклатуры"
# Установить как форму по умолчанию
/form-add Documents/Заказ.xml ФормаДокументаНовая --purpose Object --set-default
Workflow
/form-add — создать каркас формы
/form-compile или /form-edit — наполнить Form.xml элементами
/form-validate — проверить корректность
/form-info — проанализировать результат
1---2name: form-add3description: Добавить управляемую форму к объекту конфигурации 1С4---5
6# /form-add — Добавление формы к объекту конфигурации
7
8Создаёт управляемую форму (metadata XML + Form.xml + Module.bsl) и регистрирует её в корневом XML объекта конфигурации (Document, Catalog, InformationRegister и др.).
9
10## Usage
11
12```
13/form-add <ObjectPath> <FormName> [Purpose] [Synonym] [--set-default]
14```
15
16| Параметр | Обязательный | По умолчанию | Описание |
17|-------------|:------------:|--------------|----------------------------------------------|
18| ObjectPath | да | — | Путь к XML-файлу объекта (Documents/Док.xml) |
19| FormName | да | — | Имя формы (ФормаДокумента) |
20| Purpose | нет | Object | Назначение: Object, List, Choice, Record |
21| Synonym | нет | = FormName | Синоним формы |
22| --set-default | нет | авто | Установить как форму по умолчанию |
23
24## Команда
25
26```powershell
27powershell.exe -NoProfile -File .claude/skills/form-add/scripts/form-add.ps1 -ObjectPath "<ObjectPath>" -FormName "<FormName>" [-Purpose "<Purpose>"] [-Synonym "<Synonym>"] [-SetDefault]
28```
29
30## Purpose — назначение формы
31
32| Purpose | Допустимые типы объектов | Основной реквизит | DefaultForm-свойство |
33|---------|-------------------------|-------------------|---------------------|
34| Object | Document, Catalog, DataProcessor, Report, ExternalDataProcessor, ExternalReport, ChartOf*, ExchangePlan, BusinessProcess, Task | Объект (тип: *Object.Имя) | DefaultObjectForm (DefaultForm для DataProcessor/Report/ExternalDataProcessor/ExternalReport) |
35| List | Все кроме DataProcessor | Список (DynamicList) | DefaultListForm |
36| Choice | Document, Catalog, ChartOf*, ExchangePlan, BusinessProcess, Task | Список (DynamicList) | DefaultChoiceForm |
37| Record | InformationRegister | Запись (InformationRegisterRecordManager) | DefaultRecordForm |
38
39## Что создаётся
40
41```
42<ObjectDir>/Forms/
43├── <FormName>.xml # Метаданные формы (UUID)
44└── <FormName>/
45 └── Ext/
46 ├── Form.xml # Описание формы (logform namespace)
47 └── Form/
48 └── Module.bsl # BSL-модуль с 5 регионами + ПриСозданииНаСервере
49```
50
51## Что модифицируется
52
53- `<ObjectPath>` — добавляется `<Form>` в `ChildObjects` (перед `<Template>` или `<TabularSection>`), обновляется Default*Form (автоматически если пустое, или явно при `--set-default`)
54
55## Поддерживаемые типы объектов
56
57Document, Catalog, DataProcessor, Report, ExternalDataProcessor, ExternalReport, InformationRegister, ChartOfAccounts, ChartOfCharacteristicTypes, ExchangePlan, BusinessProcess, Task
58
59## Примеры
60
61```
62# Форма документа
63/form-add Documents/АвансовыйОтчет.xml ФормаДокумента --purpose Object
64
65# Форма списка каталога
66/form-add Catalogs/Контрагенты.xml ФормаСписка --purpose List
67
68# Форма записи регистра сведений
69/form-add InformationRegisters/КурсыВалют.xml ФормаЗаписи --purpose Record
70
71# Форма выбора с синонимом
72/form-add Catalogs/Номенклатура.xml ФормаВыбора --purpose Choice --synonym "Выбор номенклатуры"
73
74# Установить как форму по умолчанию
75/form-add Documents/Заказ.xml ФормаДокументаНовая --purpose Object --set-default
76```
77
78## Workflow
79
801. `/form-add` — создать каркас формы
812. `/form-compile` или `/form-edit` — наполнить Form.xml элементами
823. `/form-validate` — проверить корректность
834. `/form-info` — проанализировать результат