关于 form-add
form-add 是用于为 1C 配置对象创建托管窗体并注册到对象 XML 的技能,面向配置开发者。它按对象类型验证窗体用途,并支持设置窗体同义名和默认窗体。
主要功能
- 01生成元数据 XML、Form.xml 和 Module.bsl
- 02将窗体注册到对象根 XML
- 03按对象类型校验窗体用途
- 04设置窗体同义名和默认状态
- 05支持外部数据源表格窗体
适用场景
- 01为文档或目录对象添加窗体
- 02为信息登记簿创建记录窗体
- 03为设置存储创建保存或加载窗体
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ nikolay-shirokov/ cc-1c-skills --skill form-add安装后在 Claude Code 中输入/form-add确认已加载。
附带文件scripts/form-add.ps1scripts/form-add.py
详细介绍
/form-add — 向配置对象添加表单
创建托管表单(metadata XML + Form.xml + Module.bsl),并在配置对象的根 XML 中注册该表单(Document、Catalog、InformationRegister 等)。
用法
/form-add <ObjectPath> <FormName> [-Purpose <Purpose>] [-Synonym <Synonym>] [-SetDefault]
| 参数 | 必填 | 默认值 | 描述 |
|---|---|---|---|
| ObjectPath | 是 | — | 对象 XML 文件的路径(Documents/Док.xml) |
| FormName | 是 | — | 表单名称(ФормаДокумента) |
| Purpose | 否 | 对象类型的主表单 | 表单用途 — 参见下表:目录使用对象表单,信息寄存器使用记录表单,日志使用列表表单 |
| Synonym | 否 | = FormName | 表单同义词 |
| -SetDefault | 否 | 自动 | 设为主表单。不带此标志时,每种用途的第一个表单会成为主表单 |
命令
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/form-add.ps1" -ObjectPath "<ObjectPath>" -FormName "<FormName>" [-Purpose "<Purpose>"] [-Synonym "<Synonym>"] [-SetDefault]
Purpose — 表单用途
| Purpose | 表单类型 | 是否设为主表单 |
|---|---|---|
| Object | 对象表单(元素、文档、处理) | 是 |
| List | 列表表单 | 是 |
| Choice | 选择表单 | 是 |
| Folder | 组表单 | 是 |
| FolderChoice | 组选择表单 | 是 |
| Record | 记录表单 | 是 |
| RecordSet | 记录集表单 | 否 — 平台中没有此属性 |
| Save | 设置保存表单 | 是 |
| Load | 设置加载表单 | 是 |
| Custom | 任意表单,不绑定对象 | 否 |
对象类型支持的用途
| 对象类型 | 用途 |
|---|---|
| Catalog, ChartOfCharacteristicTypes | Object, Folder, List, Choice, FolderChoice, Custom |
| Document, ChartOfAccounts, ChartOfCalculationTypes, ExchangePlan, BusinessProcess, Task | Object, List, Choice, Custom |
| DataProcessor, Report, ExternalDataProcessor, ExternalReport | Object, Custom |
| InformationRegister | Record, List, RecordSet, Custom |
| AccumulationRegister, AccountingRegister, CalculationRegister | List, RecordSet, Custom |
| DocumentJournal, FilterCriterion | List, Custom |
| Enum | List, Choice, Custom |
| SettingsStorage | Save, Load, Custom |
| Table(外部数据源表) | tableDataType=ObjectData — Object, List, Choice, Custom;NonobjectData — Record, List, Choice, Custom |
不支持的组合会被拒绝,并列出此类型可用的用途。常量没有自己的
表单 — 应使用通用表单(CommonForm)。
外部数据源表通过表文件寻址:
ExternalDataSources/<Источник>/Tables/<Таблица>.xml。此类表单中的引用分为三部分;
未指定 -Purpose 时会采用对象表单;对于具有复合键的表,则采用记录表单。
示例
# Форма документа
/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 -SetDefault
工作流
/form-add— 创建表单框架/form-compile或/form-edit— 使用元素填充 Form.xml/form-validate— 检查正确性/form-info— 分析结果
评论
支持 Markdown