form-edit 用于在现有 1C 受管表单(Form.xml)中精准添加或修改元素、属性和命令,并自动从正确的 ID 池分配 ID、生成配套元素(ContextMenu、ExtendedTooltip 等)和事件处理器。
用法:/form-edit <FormPath> <JsonPath>,或运行 powershell.exe -NoProfile -File .claude/skills/form-edit/scripts/form-edit.ps1 -FormPath "<路径>" -JsonPath "<路径>"。两个参数均必填。
JSON 可包含 into、after、elements、attributes、commands。into 指定插入的组/表格/页面,默认根 ChildItems;after 指定插入位置,默认末尾。元素键包括 input、check、label、labelField、group、table、pages、page、button,映射到对应 XML 标签并生成配套元素。组和表格支持 children/columns。按钮通过 command 指向 Form.Command 或 stdCommand 指向标准命令。
各元素支持的事件在编译时会校验,例如 input 的 OnChange、StartChoice 等,table 的 OnStartEdit、OnEditEnd、Selection 等。attributes 支持 string、decimal(15,2)、boolean、date、CatalogRef.XXX、ValueTable、DynamicList 及联合类型。
典型流程:/form-info 查看结构,编写 JSON,运行 /form-edit,再 /form-validate 校验,最后 /form-info 确认。适用于在 /form-compile 后补充元素,或修改配置中的现有表单、批量添加。输出会列出新增元素、属性和总数。具体平台版本、环境依赖及错误处理细节暂未提供。