本文摘要
泛微 EC9 的 CUS_FIELDDATA 表用于跨模块存储自定义字段值,按 scope 区分归属:文档中心对应 DocCustomFieldBySecCategory,以目录 ID 和文档 ID 定位;人力资源对应 HrmCustomFieldByInfoType,以标签页和人员 ID 定位。文章提醒该表数据按需生成,无记录属正常,迁移组织架构和人员信息时必须同步此表,且默认禁止 DELETE,需修改配置文件加入白名单后方可删除。

一、表概述

CUS_FIELDDATA 是泛微 EC9 中跨模块存储自定义字段值的核心表。不同模块通过 scope 字段区分数据归属。


二、知识管理(文档中心)自定义字段

当 scope = 'DocCustomFieldBySecCategory' 时,存储文档自定义属性。

查询文档自定义字段值

SELECT 对应字段名
FROM cus_fielddata
WHERE scope = 'DocCustomFieldBySecCategory'
AND scopeid = 文档目录ID
AND id = 文档ID;

查不到数据 = 该文档在该目录下未维护过该自定义字段。


三、人力资源模块自定义字段

当 scope = 'HrmCustomFieldByInfoType' 时,存储人员自定义字段。

关联字段说明

字段含义
scope固定 'HrmCustomFieldByInfoType'
scopeid标识人员卡片标签页:
-1 → 基本信息
1 → 个人信息
3 → 工作信息
id对应 hrmresource 表中的人员ID

存储特点

按需生成,非默认存在

系统为节省空间,人员默认无记录。只有在前台维护(保存/修改)了自定义字段后,才会生成对应记录。因此直接查询可能返回空。

数据操作

  • 更新/插入:需根据 scope、scopeid、id 精准定位,若无记录则先 INSERT。
  • 迁移关键:同步组织架构和人员信息时,必须迁移此表,否则人员信息可能显示异常。

四、DML 操作限制与放行

默认限制

默认情况下,CUS_FIELDDATA 禁止使用 DELETE 操作。

放行配置

编辑 {ecology目录}\WEB-INF\prop\checksqlStandard.properties:

# 是否开启 SQL 校验
isOpen=true
# delete 语句白名单(添加 cus_fielddata)
delete=formtable_main_261_dt1,cus_fielddata
# update 黑名单(禁止操作的表)
update=workflow_requestbase,workflow_requestLog

如需删除,请将 cus_fielddata 加入白名单后重启服务,谨慎操作。


五、总结速览

文档模块
  • scope = DocCustomFieldBySecCategory
  • scopeid = 目录ID
  • id = 文档ID
人力资源
  • scope = HrmCustomFieldByInfoType
  • scopeid = 标签页(-1/1/3)
  • id = 人员ID
运维要点
  • 迁移必带
  • 默认禁止删,需加白名单
  • 按需生成,无记录不代表异常