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

在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)中插入数据就好多了,不用自己再来写脚本了,开发效率能提高很多。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值