#使用技巧#如何利用二开插件实现“批改”操作的字段权限设定
一、业务背景
基础资料权限设置的时候,只有批改的整体权限,同时批改的时候也不会去校验字段权限,所以这里需要插件来实现
二、关键步骤
1、找到批量修改的业务对象BD_BulkEdit
2、然后在这个动态表单上写个值更新校验的插件,去获取当前用户的字段权限(调用获取权限的接口),如果没权限就锁定下面的修改值
三、代码
using Kingdee.BOS.Core.Permission; using Kingdee.BOS.ServiceHelper; using Kingdee.BOS.Core.DynamicForm.PlugIn; using System.ComponentModel; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; namespace XXXX.BusinessPlugIn.BD { [Description("物料批改的时候校验权限")] [Kingdee.BOS.Util.HotUpdate] public class MaterialBulkEdit : AbstractDynamicFormPlugIn { public override void DataChanged(DataChangedEventArgs e) { base.DataChanged(e); string aa = e.Field.Key.ToString(); if (aa == "FCombo") { this.View.GetControl("FOK").Enabled = true; string NewValue = e.NewValue.ToString(); if (NewValue == "FWorkShopId") { //字段权限校验接口 var allowFieldList = PermissionServiceHelper.GetAllowFieldList(this.Context, new BusinessObject() { Id = "BD_MATERIAL", //表单ID UserId = this.Context.UserId, }, Kingdee.BOS.Core.Permission.FieldInv.Edit); var fieldName = "FWorkShopId"; //表单上字段ID bool isAllow = true; //是否有权 foreach (var item in allowFieldList) { if (item.AllFieldList.Contains(fieldName)) //组织有权即有权 { isAllow = true; } if (item.DenyFieldList.Contains(fieldName)) //任意组织禁止即无权 禁止优先 { isAllow = false; break; } } if (isAllow == false) { this.View.ShowErrMessage("您没有修改'生产车间'字段的权限"); this.View.GetControl("FOK").Enabled = false; } } else if (NewValue == "FUpStreamWorkShop") { //字段权限校验接口 var allowFieldList = PermissionServiceHelper.GetAllowFieldList(this.Context, new BusinessObject() { Id = "BD_MATERIAL", //表单ID UserId = this.Context.UserId, }, Kingdee.BOS.Core.Permission.FieldInv.Edit); var fieldName = "FUpStreamWorkShop"; //表单上字段ID bool isAllow = true; //是否有权 foreach (var item in allowFieldList) { if (item.AllFieldList.Contains(fieldName)) //组织有权即有权 { isAllow = true; } if (item.DenyFieldList.Contains(fieldName)) //任意组织禁止即无权 禁止优先 { isAllow = false; break; } } if (isAllow == false) { this.View.ShowErrMessage("您没有修改'XXXXX'字段的权限"); this.View.GetControl("FOK").Enabled = false; } } } } } }
四、小结
分享一些原本应该有的小功能,感谢支持
#使用技巧#如何利用二开插件实现“批改”操作的字段权限设定
一、业务背景基础资料权限设置的时候,只有批改的整体权限,同时批改的时候也不会去校验字段权限,所以这里需要插件来实现二、关键步骤1、...
点击下载文档
上一篇:替代方案应用的注意事项下一篇:python脚本常用方法整理(二)
本文2024-09-16 18:20:43发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-21536.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
- 鼎捷EAI整合規範文件V3.1.07 (集團).pdf
- 鼎捷OpenAPI應用場景說明_基礎資料.pdf
- 鼎捷OpenAPI應用場景說明_財務管理.pdf
- 鼎捷T100 API設計器使用手冊T100 APIDesigner(V1.0).docx
- 鼎新e-GoB2雲端ERP B2 線上課程E6-2應付票據整批郵寄 領取.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A4使用者建立權限設定.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程C3會計開帳與會計傳票.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程E6-1應付票據.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A5-1進銷存參數設定(初階篇).pdf
- 鼎新e-GoB2雲端ERP B2 線上課程D2帳款開帳與票據開帳.pdf
热门文章