金蝶云星空业务对象自定义按钮进行权限控制
一、背景说明
金蝶标准:权限绑定操作,操作绑定按钮。
实际需求:按钮不绑定操作,直接验权
二、 创建按钮
2.1菜单集合
2.2列表菜单
三、创建权限项
四、 添加权限项到权限对象
五 创建公共权限服务
using Kingdee.BOS; using Kingdee.BOS.Core.DynamicForm; using Kingdee.BOS.Core.Permission; using Kingdee.BOS.ServiceHelper; namespace MM.K3.Business.Common { /// <summary> /// 功能描述 :权限公共服务 /// 创 建 者 :Administrator /// 创建日期 :2023/10/11 10:56:46 /// 最后修改者 :Krystal /// 最后修改日期:2023/10/11 10:56:46 /// </summary> public class PermissionFunc { #region <常量> #endregion <常量> #region <变量> #endregion <变量> #region <属性> #endregion <属性> #region <构造方法和析构方法> #endregion <构造方法和析构方法> #region <方法> /// <summary> /// 校验是否有权限 /// </summary> /// <param name="ctx">上下文</param> /// <param name="view">表单视图</param> /// <param name="sPermissionItemId">权限项的id:表 T_SEC_PERMISSIONITEM的FITEMID</param> /// <param name="isShowMsg">是否提示无权,默认是</param> /// <returns></returns> public static bool AuthorizePermissionForEdit(Context ctx , IDynamicFormView view, string sPermissionItemId, bool isShowMsg = true) { string id = view.BillBusinessInfo.GetForm().Id;//业务对象标识 string strPerItemId = sPermissionItemId; BusinessObject bizObject = new BusinessObject { Id=id, SubSystemId=view.OpenParameter.SubSystemId, PermissionControl=1 }; if (PermissionServiceHelper.FuncPermissionAuth(ctx,bizObject,strPerItemId).Passed) { return true; } if (isShowMsg) { view.ShowMessage("您没有权限执行此操作。"); } return false; } #endregion <方法> #region <事件> #endregion <事件> } }View Code
六、 表单插件编码实现
七、列表插件编码实现
八 测试
8.1不授权
8.2 授权
完美
标签:自定义,endregion,金蝶,region,BOS,按钮,using,权限 From: https://www.cnblogs.com/lanrenka/p/17758016.html