# 自定义项开发步骤

## 1 元数据中添加自定义项字段，类型选择“自定义项

## 2 配置自定义项文件

文件路径为：client 端的 yyconfig/modules/模块名/元数据名/主实体名/config/userdef/实体名_userdef.xml，其中文件中 prefix 属性对应元数据中自定义项前缀

## 3 自定义项注册

位置： 动态建模平台 -> 开发配置 -> 自定义属性 -> 用户定义属性组

配置注意事项: 表格中的前缀属性一般为“def”，与自定义项文件中的 prefix 属性保持一致

## 4 自定义项使用

位置： 动态建模平台 -> 开发配置 -> 自定义属性 -> 用户定义属性设置-全局/集团

在该节点下根据自己的业务需要启用自定义项以及配置启用属性



# 自定义项DEMO xml

```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<userdefs>
	<userdef>
		<!-- name 为实体的  模块名.实体名称   比如 rm.Slave0 -->
		<name>rm.Slave0</name>
		<!-- prefix 为自定义项的前缀 比如 def-->
		<prefix>def</prefix>
		<!-- 自定义项通用处理类 ，默认配置这个即可 无需改动， 如果有非常特殊的场景可以参考自己实现-->
		<processor>nccloud.web.uapbd.commons.web.UserDefCommonProcessor</processor>
		<defrulecode></defrulecode>
	</userdef>
	<userdef>
		<!-- name 为实体的  模块名.实体名称   比如 rm.Master -->
		<name>rm.Master</name>
		<!-- prefix 为自定义项的前缀 比如 def-->
		<prefix>def</prefix>
		<!-- 自定义项通用处理类 ，默认配置这个即可 无需改动， 如果有非常特殊的场景可以参考自己实现-->
		<processor>nccloud.web.uapbd.commons.web.UserDefCommonProcessor</processor>
		<defrulecode></defrulecode>
	</userdef>
	<userdef>
		<!-- name 为实体的  模块名.实体名称   比如 rm.Slave1 -->
		<name>rm.Slave1</name>
		<!-- prefix 为自定义项的前缀 比如 def-->
		<prefix>def</prefix>
		<!-- 自定义项通用处理类 ，默认配置这个即可 无需改动， 如果有非常特殊的场景可以参考自己实现-->
		<processor>nccloud.web.uapbd.commons.web.UserDefCommonProcessor</processor>
		<defrulecode></defrulecode>
	</userdef>
</userdefs>


```

# 自定义项的使用

用户定义属性设置-全局/集团”节点中启用自定义项

1 配置可见性属性为‘显示’，该自定义项字段显示与否与模板中配置无关，会自动显示。

2 配置可见性属性为“不显示”，无论模板中显示与否，都不会显示出来。

3 配置可见性属性为‘按模板显示’，该自定义项字段显示与否按照模板中执行，不会自动显示。