金蝶云星空表单插件动态获取单据体循环赋值

📅 2026/8/4 20:15:40
金蝶云星空表单插件动态获取单据体循环赋值
方法定义与上下文说明以下代码是FBomChangeBillPlugin类中的BeforeBindData方法的一部分该方法在单据数据绑定前执行用于初始化界面控件状态。/// summary/// 在单据数据绑定前执行初始化界面控件状态/// /summary/// param namee事件参数/paramprotectedoverridevoidBeforeBindData(EventArgse){base.BeforeBindData(e);// 获取当前业务实体类型protectedoverridestringstrentityFBomChangeEntity;// 获取当前业务实体实例protectedEntityEntityView.BusinessInfo.GetEntity(strentity);// 设置控件属性忽略清理过滤器View.GetControl(strentity).SetCustomPropertyValue(IngoreCleanFilterstring,true);// 遍历实体字段根据条件禁用部分字段编辑器foreach(Fieldfiledinbase.Entity.Fields){Dictionarystring,DynamicObjectreFieldsDicReFieldsDic;FuncKeyValuePairstring,DynamicObject,boolpredicate(KeyValuePairstring,DynamicObjecto)((DynamicObject)o.Value[ExtendID])[Key].ToString().ToUpper()filed.Key.ToUpper();if(reFieldsDic.Any(predicate)){View.GetFieldEditor(filed.Key,i).Enabledfalse;}}}方法说明所属类:FBomChangeBillPluginBOM变更单插件类方法名:BeforeBindData参数:EventArgs e- 事件参数返回值:void无返回值调用时机:在单据界面加载时数据绑定到控件之前自动调用属于插件生命周期方法由金蝶云·星空平台框架调用方法作用:初始化界面控件的初始状态根据业务规则禁用某些字段的编辑功能设置控件的自定义属性核心逻辑说明实体获取: 通过View.BusinessInfo.GetEntity()获取当前业务实体控件配置: 设置控件的IngoreCleanFilterstring属性为true字段处理: 遍历实体所有字段根据ReFieldsDic中的配置决定是否禁用对应字段编辑器条件判断: 通过比较字段Key与扩展ID的Key来确定是否需要禁用字段