如何用DEP实现对序时簿过滤原创
金蝶云社区-Hadwin
Hadwin
5人赞赏了该文章 387次浏览 未经作者许可,禁止转载编辑于2024年08月16日 15:08:03

需求:DEP新建的业务单据,需根据创建人进行过滤,即自己只能看到自己创建的单据


分析:关于序时簿实现对用户隔离可以用权限实现,也可以用dep脚本实现,下面来阐述脚本实现方式。

步骤一:对应query关联用户实体,并增加查询字段

image.png


image.png


步骤二:对应序时簿添加创建人一列并隐藏

image.png


步骤三:序时簿绑定对应query查询字段

image.png


步骤四:在获取过滤信息后置脚本编写脚本

image.png

参考脚本如下:

var easImporter = JavaImporter(); 

easImporter.importPackage(Packages.com.kingdee.bos.ctrl.extendcontrols); easImporter.importPackage(Packages.com.kingdee.bos.metadata.entity); easImporter.importPackage(Packages.com.kingdee.bos.metadata.query.util); easImporter.importPackage(Packages.com.kingdee.bos.util); easImporter.importPackage(Packages.com.kingdee.bos.ctrl.script.miniscript.exec.objs); 

 with(easImporter){     

    var userId = pluginCtx.getUIContext().get("sysContext").getCurrentUserInfo().get("id");      

    var filter = new FilterInfo();        

 filter.getFilterItems().add(new FilterItemInfo("User.id",userId, CompareType.EQUALS));       

 methodCtx.setResultValue(filter); 

}

实现效果:

image.png

赞 5