需求:DEP新建的业务单据,需根据创建人进行过滤,即自己只能看到自己创建的单据
分析:关于序时簿实现对用户隔离可以用权限实现,也可以用dep脚本实现,下面来阐述脚本实现方式。
步骤一:对应query关联用户实体,并增加查询字段
步骤二:对应序时簿添加创建人一列并隐藏
步骤三:序时簿绑定对应query查询字段
步骤四:在获取过滤信息后置脚本编写脚本
参考脚本如下:
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);
}
实现效果:
推荐阅读