鼎捷T100——二次开发:添加开窗的权限限制

鼎捷T100——二次开发


前言

由于前期的开发对于自定义字段设置的开窗,没有设置对应的权限管控,导致用户能看到超出自身权限的单据,为了避免这种情况发生,需要对于开窗进行限制。


一、设计方案

        实现权限设置的方法,一般是通过系统变量 g_user 用户编号来实现,在程式中将 g_user 作为变量 传递给开窗,通过sql 将单据开窗的返回结果通过 单据所有人字段进行限定

二、方案

        添加开窗限制通常有两个方案

  1. 重新设计开窗
  2. 程式中添加 where 条件

方案一

        重新设计开窗(adzi210),可以选择修改该开窗,或者新建一个新的开窗设置,将旧的开窗替换掉。

关键在于设置开窗的时候需要设置 变量 arg1,并且在原有的sql基础上,添加where 部分 将单据所有者 = arg1  。

        然后,在程式中调用对应开窗的部分 在CALL cq_xxxx()之前添加代码段(重新设计开窗的记得在程式中将旧开窗替换成新开窗)

LET g_qryparam.arg1 = g_user #g_user 为系统变量,值为使用者的编号

然后,保存上传程式,就可以实现限制开窗结果的效果

方案二

        不需要修改原有的开窗,直接在程式中,在调用开窗之前,设置 g_qryparam.where 变量

LET g_qryparam.where = "xxownid = '",g_user,"," #g_user 为系统变量,表示用户编号

#注意如果原有开窗sql中有where 条件,记得在g_qryparam.where 中添加 'AND'

LET g_qryparam.where = " AND xxownid = '",g_user,","


总结

        以上两种方案都可以实现开窗的权限限制,其原理就是使用g_user 变为值,通过sql将单据搜索的范围缩小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值