您的位置:首页 > 其它

让框架自动校验引用数据不能被删除

2010-09-21 18:20 267 查看
在EAS二次开发中,大部分业务系统都会有一些基础资料,被其它业务单据使用。

如果某个基础资料被单据引用后,又把这个基础资料给删除了,再打开单据的查看界面时,系统就会报中断错误,提示对象找不到。

这种情况下,一般的做法是,在基础资料被删除前,检查一下是否被该单据引用了,如果已经被单据引用,提示不能删除。

假如基础资料不多,引用的单据也不多,编写一下代码也比较容易,但是如果基础资料比较多,引用关系也比较多,工作量就显的比较大了。重复的写这些代码,只能复制不能重用。

其实框架已经提供了自动校验引用关系逻辑,提供了一个引用关系表(T_SYS_EntityRef),在引用关系表中,按要求插入数据,就可以使用框架提供的功能了。

由于元数据上没有注释,也没有对应的实体,经试用发现表的字段含义如下:



如有如下基础资料:
违约概率和信用级别,信用级别引用了违约概率,所以在删除违约概率时,要检查是否被信用级别引用,只需要在引用关系表(T_SYS_EntityRef)中插入如下数据即可:
insert into T_SYS_ENTITYREF
(
FBOSTYPE
,FREFTABLENAME
,FREFFIELDNAME
,FENTITYNAME
,FENTITYALIAS_L2
,FREFENTITYNAME
,FREFENTITYALIAS_L2
)
values
(
'违约概率实体的BOSTYPE'
,'信用级别对应的元数据表名'
,'信用级别对应的元数据表上记录违约概率ID的字段名'
,'违约概率实体名'
,'违约概率'
,'信用级别实体名'
,'信用级别'
);

如果BOS能提供功能,能够自动往引用关系表(T_SYS_EntityRef)中插入数据就好多了,不用自己再来写脚本了,开发效率能提高很多。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐