表单信息分析Skill:把上万行 1C 表单 XML 压缩成百行可读摘要
- 一句话定位:读取 1C 管理表单的
Form.xml,输出包含元素树、带类型的属性、命令与事件的紧凑摘要,省去逐行阅读数千行 XML 的时间。 - 核心用法:一条命令
/form-info <FormPath>,或直接调用内置 PowerShell 脚本,必填参数只有FormPath。 - 最实用的价值点:默认只输出 150 行,用
-Limit和-Offset分页翻页,28K 行的表单也能分几次看完;脚本会省略约 80% 的视觉噪音(宽高、颜色、字体、多语言包装等)。 - 最适合谁:接手 1C 大型配置的开发者、需要给 AI 喂表单上下文以编写表单模块代码的人、以及做表单结构梳理与评审的团队。
- 前置条件:需要 Windows PowerShell 环境,以及项目本地存在目标
Form.xml文件。
该技能叫什么?如何下载安装 AI 技能提升开发效率?
基础信息
| 项目 | 内容 |
|---|---|
| 中文名 | 表单信息分析Skill |
| 英文名 | form-info |
| 技能 ID | 11951 |
| 调用入口 | /form-info <FormPath> |
| 允许工具 | Bash、Read、Glob |
| 参数提示 | <FormPath> |
它解决什么问题
在 1C 企业应用开发中,管理表单的定义文件 Form.xml 通常是几千行到几万行的 XML:元素嵌套、属性默认值、多语言包装、自动生成的提示与右键菜单混杂在一起。人眼阅读耗时长,把整份文件贴给大模型又会挤爆上下文窗口,而且模型很容易在大量视觉属性里"迷路"。form-info 的思路很直接——先做结构压缩,再谈理解:它读取 Form.xml,只保留真正影响逻辑的部分(元素层级、数据绑定、事件处理程序、命令、表单属性与参数),把不需要看的视觉细节全部丢掉。
"一键安装"的思路与步骤
该技能以「脚本 + 技能说明」的形式组织,脚本路径为 .claude/skills/form-info/scripts/form-info.ps1,说明文件为该技能目录下的技能描述(name、description、allowed-tools 等字段)。因此安装本质上是把技能目录放到项目或全局的技能目录下,并确认执行环境可用。
- 确认前提:Windows 环境且
powershell.exe可用;本地存在待分析的 1C 项目源码,其中包含目标Form.xml;客户端支持读取.claude/skills/目录下的本地技能(具体支持的客户端版本与目录约定以官方说明为准)。 - 获取技能:通过官方技能市场、技能包或团队内部仓库获取 form-info 技能包(下载地址、版本号与授权方式以官方说明为准)。
- 放置目录:将技能完整目录放到
.claude/skills/form-info/,确保scripts/form-info.ps1位于scripts子目录内,且技能描述文件与脚本保持同级结构。 - 验证是否生效:在对话中直接输入
/form-info <你的 Form.xml 路径>。若返回以=== Form: ... ===开头的摘要,即表示技能已生效;若提示找不到脚本或命令,优先检查目录层级与 PowerShell 执行策略。 - 备用验证方式:手动执行脚本命令(见下一节),能正常输出摘要说明脚本本身没问题,问题在技能注册或路径上。
需要注意:技能功能依赖 Bash、Read、Glob 三类工具权限,若客户端对脚本执行有限制,需要先在设置中放开,具体配置方式以官方说明为准。
该技能的主要功能和特点
- 紧凑摘要替代全文阅读:一条命令把表单压缩成"标题 + 属性 + 事件 + 元素树 + 属性表 + 参数 + 命令"的固定结构,官方定位是"替代阅读数千行 XML 的必要性"。
- 元素树带层级与类型:用
[Group:AH]、[Input]、[Table]、[Pages]、[Button]等缩写标注元素类型,树形符号直观展示嵌套关系,一眼看清某个字段属于哪个分组、哪张表格。 - 只显示"非默认值":
Properties段仅列出与默认值不同的表单属性(如AutoTitle=false、WindowOpeningMode=LockOwnerWindow),Title直接放在标题行,避免信息重复。 - 标志位精准标注:
[visible:false]、[enabled:false]、[ro](只读)、,collapse(可折叠组)只在偏离默认值时出现,排查"为什么这个字段看不见/点不动"时非常高效。 - 数据绑定与命令绑定分离可见:
-> Объект.Поле表示 DataPath,[cmd]表示表单命令,[std]表示标准命令,事件用{OnChange, StartChoice}形式标注处理程序名。 - 表单属性(Attributes)带类型:直接显示
CatalogRef.Валюты、decimal(15,2)这类类型信息,ValueTable/ValueTree会在方括号内展开列定义,DynamicList用->指向主表。 - 参数与关键参数识别:
Parameters段用(key)标记关键参数(KeyParameter),梳理表单打开时的入参链路很省事。 - 命令与快捷键一览:
Commands段以名称 -> 处理程序 [组合键]格式输出,如Печать -> ПечатьДокумента [Ctrl+P]。 - 防溢出保护与分页:默认输出上限 150 行,超出时提示
[TRUNCATED] 显示150行中的150行。使用 -Offset 150 继续。,配合-Limit、-Offset可稳定翻页,不会一次性刷屏。 - 主动降噪:脚本明确省略宽高、颜色、字体、边框、对齐、拉伸等视觉属性,以及自动生成的
ExtendedTooltip、ContextMenu、多语言包装(v8:item/v8:lang/v8:content)、命名空间声明和id属性,约减少 80% 以上内容。 - 与检索工具互补:摘要负责"看全局",需要抠细节时再用
grep按摘要里出现的元素名精确搜索原文,两者配合效率最高。
如何使用该技能?
参数说明
| 参数 | 必填 | 默认值 | 描述 |
|---|---|---|---|
| FormPath | 是 | — | Form.xml 文件路径 |
| Limit | 否 | 150 |
最大输出行数(防溢出保护) |
| Offset | 否 | 0 |
跳过 N 行(用于分页) |
操作步骤
- 定位目标表单:在 1C 源码目录中找到管理表单对应的
Form.xml,例如单据处理表单目录下的文件。 - 优先用斜杠命令调用:在对话中输入
这是最省事的方式,技能会自动带上参数并解析输出。/form-info <你的 Form.xml 路径> - 或直接执行脚本(适合在终端、CI 或调试场景):
powershell.exe -NoProfile -File .claude/skills/form-info/scripts/form-info.ps1 -FormPath "<路径到 Form.xml>" - 分页阅读大表单:首屏 150 行不够时追加偏移:
持续递增powershell.exe -NoProfile -File .claude/skills/form-info/scripts/form-info.ps1 -FormPath "<路径>" -Offset 150-Offset,直到不再出现[TRUNCATED]提示。 - 按段解读输出:先看标题行确认表单身份,再看
Properties与Events掌握初始化逻辑入口,然后读Elements元素树定位界面结构,最后用Attributes、Parameters、Commands补全数据与交互视图。 - 需要细节时再搜原文:从摘要中记下关心的元素名或处理程序名,用
grep在原始Form.xml中精确定位,不必整份通读。
输入输出示例(示意)
输入一份名为「ФормаДокумента」的表单路径后,典型输出形如:
=== Form: ФормаДокумента — "Реализация товаров и услуг" (Documents.РеализацияТоваровУслуг) ===
Properties: AutoTitle=false, WindowOpeningMode=LockOwnerWindow, CommandBarLocation=Bottom
Events:
OnCreateAtServer -> ПриСозданииНаСервере
OnOpen -> ПриОткрытии
Elements:
├─ [Group:AH] ГруппаШапка
│ ├─ [Input] Организация -> Объект.Организация {OnChange}
│ └─ [Input] Договор -> Объект.Договор [visible:false] {StartChoice}
├─ [Table] Товары -> Объект.Товары
│ └─ [Input] Сумма -> Объект.Товары.Сумма [ro]
└─ [Pages] Страницы
├─ [Page] Основное (5 items)
└─ [Page] Печать (2 items)
Attributes:
*Объект: DocumentObject.РеализацияТоваровУслуг (main)
Валюта: CatalogRef.Валюты
Parameters:
Ключ: DocumentRef.ЗакупкаТоваров (key)
Commands:
Печать -> ПечатьДокумента [Ctrl+P]
读法要点:* 与 (main) 标记主属性;(key) 标记关键参数;[visible:false] 说明该元素被隐藏,[ro] 表示只读;(5 items) 表示该页未展开、只给元素数量。
同类型竞品对比分析
| 方案名称 | 定位 | 核心功能 | 安装/使用门槛 | 适用场景 | 优势与不足 |
|---|---|---|---|---|---|
| form-info(表单信息分析Skill) | 面向表单结构的上下文压缩器 | 元素树、非默认属性、事件、命令、属性表、参数、分页 | 需 Windows PowerShell 与本地技能目录,一条命令即可 | 修改表单前摸底、给 AI 喂上下文、大型表单导航 | 优势:结构化、降噪 80%、输出可控;不足:只覆盖结构摘要,不含视觉布局细节,需要细节时仍要回原文检索 |
| 直接通读 Form.xml 原文 | 传统人工阅读 | 信息最完整 | 零安装,但时间成本高 | 表单项很少的小文件 | 优势:无信息损失;不足:几万行时几乎不可行,容易漏关键属性 |
| 通用 XML 解析器 / XPath 查询 | 通用结构化检索 | 按节点路径精确查询 | 需了解 XML 语法与表单结构 | 已知目标节点的精确取值 | 优势:精准;不足:需要先知道要找什么,无法给出整体结构概览 |
| 把整份 XML 直接交给大模型 | 通用代码助手用法 | 自然语言问答 | 无安装,但受上下文长度限制 | 表单规模较小、问题单一 | 优势:上手最快;不足:大表单会截断或超出预算,且输出不稳定、易被视觉属性干扰 |
| 1C 配置器可视化查看 | 官方 IDE 形态 | 可视化编辑表单与属性面板 | 需安装配置器、加载配置 | 交互式编辑、调试 | 优势:所见即所得;不足:难以批量输出文本化摘要,不适合喂给 AI 或写入文档 |
选型建议:要在文本与 AI 工作流中理解结构,选 form-info;要改界面外观与像素级布局,仍以配置器为主;已知确切节点时用 XPath 或 grep 做补充。
该技能的典型应用场景与实际体验情况
场景一:接手大型配置,先给表单"画地图"
新加入项目的 1C 开发者面对陌生单据表单,痛点是不敢动手、也不知道字段挂在哪个组。使用方式是先跑一次 /form-info,用元素树画出界面骨架,再针对上万个字段挑出真正带事件处理的那几个。
场景二:编写表单模块前先对齐结构
在写 ПриСозданииНаСервере 等处理程序时,需要确认元素名、数据路径、事件名是否对得上。把摘要连同需求一起给 AI,模型能准确引用 Организация、Товары.Сумма 这类路径,减少"编造不存在的字段名"。
场景三:排查"字段看不见 / 点不动 / 改不了"
这类问题往往源于 Visible=false、Enabled=false、ReadOnly=true。摘要中的 [visible:false]、[enabled:false]、[ro] 标志把偏离默认值的元素直接标出来,定位速度远快于在 XML 里全局搜索属性名。
场景四:表单评审与文档沉淀
评审时把摘要作为附件比贴几万行 XML 现实得多;梳理命令与快捷键、关键参数链路时,Commands 与 Parameters 两段基本可以直接整理进设计文档。
实际体验情况
- 上手难度:低。命令只有一个必填参数,唯一的"学习成本"是记住元素类型缩写表和几个标志位,读两三次输出就能形成肌肉记忆。
- 效果:结构化输出稳定,元素树的可读性明显优于原文;对大型表单的"降噪"收益最大,配合分页可以把几万行 XML 拆成若干屏读完。
- 注意事项:一是环境必须能执行 PowerShell,否则命令会直接失败;二是摘要会省略视觉属性,做界面调整时不能只看摘要;三是输出默认截断在 150 行,遇到
[TRUNCATED]一定要继续翻页,否则容易漏掉后半部分的元素与命令;四是摘要中的名称来自项目本身,遇到非中文/俄文命名的配置时按同一套规则理解即可。
该技能能为用户带来的价值
- 阅读效率的数量级提升:官方给出的参考是从 28K 行 XML 压缩到 50–100 行可用上下文,脚本省略 80% 以上 XML 内容,原本需要半小时到一小时的摸底工作可以压缩到几分钟。
- 显著降低 AI 使用门槛与成本:把压缩后的摘要作为上下文投喂,既避免超长截断,也让模型聚焦在元素、事件、绑定这些真正影响逻辑的信息上,回答更可控。
- 降低团队协作与交接成本:结构化摘要可以直接进评审记录、设计文档和交接材料,新人不必靠"读源码悟"来理解表单结构。
- 减少低级错误:明确的只读、隐藏、不可用标志和非默认属性列表,让"属性为什么不生效"这类问题从猜测变成查表。
- 可复用的长期价值:技能以脚本形式存在,可纳入日常开发流程,配合
grep形成"先摘要看全局、再检索抠细节"的稳定工作方法,而不是一次性工具。
常见问题 FAQ
Q1:怎么安装 form-info 技能?需要额外装什么软件吗?
把技能目录放到 .claude/skills/form-info/(确保 scripts/form-info.ps1 在 scripts 子目录内),前提是 Windows 环境下 powershell.exe 可用,并允许 Bash、Read、Glob 三类工具权限。安装完成后输入 /form-info <路径>,看到 === Form: ... === 即为生效。具体支持的客户端版本与目录约定以官方说明为准。
Q2:这个技能收费吗?
技能本身的功能与调用方式在技能说明中已完整给出,涉及授权、分发与可能的商业条款请以官方说明为准;运行它只需要本地的 PowerShell 环境与目标 Form.xml 文件,不依赖外部在线服务。
Q3:输出被截断了怎么办?会不会漏掉内容?
不会漏,属于设计上的防溢出保护:默认最多显示 150 行,超出时提示 [TRUNCATED] 显示150行中的150行。使用 -Offset 150 继续。。按提示递增 -Offset(必要时配合 -Limit)继续翻页即可覆盖全文。
Q4:它和直接让大模型读整份 Form.xml 有什么区别? 直接丢原文会占用大量上下文,且模型中大量视觉属性、多语言包装容易干扰判断。form-info 先做结构压缩再交给模型,输出是固定的七段结构(标题、属性、事件、元素树、属性表、参数、命令),信息密度高、可预测性强,尤其适合大表单。
Q5:适合谁用?和配置器、XPath 检索怎么选?
适合需要理解表单结构、编写表单模块、给 AI 提供上下文的 1C 开发者与团队。要文本化、可喂给 AI 的结构概览选 form-info;要做可视化编辑与像素级布局调整用 1C 配置器;已经明确知道节点位置、只需取值时用 XPath 或 grep。三者互补而非互斥。