.statelabel 文件 Schema¶
位置:
/{软件名}.application/statelabels/{标签名}.statelabel/{标签名}.statelabel(目录型,存量约定) | XML 根:stateLabel| 与技能对齐:generate-statelabel-file机制背景见 [[design/table-schema/overview]]。
1. 用途与落盘¶
状态标签 = 应用级**态名字典**,为流程节点 statelabel、按钮 stateToShow、文档 STATELABEL 提供统一勾选名录。运行引擎**不强制**走字典——无条目也能手写节点/按钮态名,但统一字典便于设计器勾选对齐。
# 现行存量(几乎全部应用):statelabels/(复数)目录型
/{软件名}.application/statelabels/{标签名}.statelabel/{标签名}.statelabel
# ModelSuffix 常量定义的组(扁平单文件,新建 API 理论路径)
/{软件名}.application/statelabel/{标签名}.statelabel
DAO 有路径兼容:已存在 statelabels/ 时保持原 uri。新写优先与存量一致(statelabels/ 目录型)。
2. 属性表¶
| 属性 | XML 形态 | 类型 | 说明 |
|---|---|---|---|
id |
根属性 | string | __ + 短 UUID |
name |
子元素 | string | 必填;文件名;应用内唯一;按钮 stateToShow 勾选写入的就是 name |
value |
子元素 | string | 必填(JSR @NotEmpty);推荐 ≡ name(同中文态名) |
parentId / applicationid |
子元素 | string | = 软件 id |
orderNo |
子元素 | string | 比较按整数(空→MAX_VALUE) |
description |
CDATA | string | 可空 |
无 color 字段(若有文档写 color 为过时信息)。name/value 勿含 / \ : * ? " < > |;name 长度 ≤40。
3. XML 骨架¶
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<stateLabel id="__slApproved00000001">
<name>已审批</name>
<value>已审批</value>
<parentId>软件id</parentId>
<applicationid>软件id</applicationid>
<orderNo>1</orderNo>
<description><![CDATA[]]></description>
</stateLabel>
4. 三层联动(易混对象)¶
| 对象 | 位置 | 用途 |
|---|---|---|
.statelabel 字典 |
应用 statelabels/ |
定义态名(本文) |
Node.statelabel |
.flow 节点 |
该节点对外状态名(见 [[flow-file]]) |
Document.STATELABEL |
运行库列 | 当前单据状态名(由节点拷贝/聚合,可多节点逗号拼接) |
联动链:字典 name ≡ 流程节点 statelabel ≡ 按钮 stateToShow(逗号分隔;isStateToHidden(doc) 字符串匹配决定按钮显隐)≡ 表单脚本 CURDOC.getStateLabel() 判断。
5. 相关¶
| 资源 | 文档 |
|---|---|
| 流程节点态名 | [[flow-file]] |
| 按钮 stateToShow | [[form-file]](activity) |
| 运行库列 | design/table-schema/core-tables.md(T_DOCUMENT.STATELABEL) |
| 生成操作指南 | agent-skills-usage/skills/generate-statelabel-file/SKILL.md |