二开案例.表单插件.获取字段功能控制设置
【应用场景】
运行时解析元数据,获取设计时设置的字段的功能控制选项。
功能控制属性对应的元数据XML如下图。
【案例演示】
采购订单,设置供应商字段的功能控制选项,然后在表单插件中读取并显示。
【实现步骤】
<1>编写表单插件,代码如下。
using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Core.Metadata.FieldElement; using Kingdee.BOS.Util; using System; using System.ComponentModel; using System.Text; namespace Jac.XkDemo.BOS.Business.PlugIn { /// <summary> /// 【表单插件】获取字段功能控制设置 /// </summary> [Description("【表单插件】获取字段功能控制设置"), HotUpdate] public class GetFieldFunControlFormPlugIn: AbstractDynamicFormPlugIn { public override void BarItemClick(BarItemClickEventArgs e) { base.BarItemClick(e); if (e.BarItemKey == "test") { var field = this.View.BillBusinessInfo.GetField("FSupplierId"); var funControl = Convert.ToInt32(field.FunControl); var msg = new StringBuilder(string.Format("字段【{0}】的功能控制设置如下:", field.Name)).AppendLine(); #region 在用属性 // 允许多选 var allowMulti = ((funControl & Field.FUNCONTROL_MULTI) == Field.FUNCONTROL_MULTI); msg.Append("允许多选:").Append(GetBoolValueDesc(allowMulti)).AppendLine(); // 允许复制 var allowCopy = ((funControl & Field.FUNCONTROL_COPY) == Field.FUNCONTROL_COPY); msg.Append("允许复制:").Append(GetBoolValueDesc(allowCopy)).AppendLine(); // 允许批量填充 var batchFill = ((funControl & Field.FUNCONTROL_BATCHFILL) == Field.FUNCONTROL_BATCHFILL); msg.Append("允许批量填充:").Append(GetBoolValueDesc(batchFill)).AppendLine(); // 允许引入 var allowImport = ((funControl & Field.FUNCONTROL_IMPORT_FIELD) == Field.FUNCONTROL_IMPORT_FIELD); msg.Append("允许引入:").Append(GetBoolValueDesc(allowImport)).AppendLine(); // 允许引出 var allowExpFieldTmp = ((funControl & Field.FUNCONTROL_EXPORT_FIELD_TEMPLATE) == Field.FUNCONTROL_EXPORT_FIELD_TEMPLATE); msg.Append("允许引出:").Append(GetBoolValueDesc(allowExpFieldTmp)).AppendLine(); // 允许连续新增携带 var seriesNewTote = ((funControl & Field.FUNCONTROL_SERIES_NEW_TOTE) == Field.FUNCONTROL_SERIES_NEW_TOTE); msg.Append("允许连续新增携带:").Append(GetBoolValueDesc(seriesNewTote)).AppendLine(); // 允许批量修改 var bulkEdit = ((funControl & Field.FUNCONTROL_BULK_EDIT) == Field.FUNCONTROL_BULK_EDIT); msg.Append("允许批量修改:").Append(GetBoolValueDesc(bulkEdit)).AppendLine(); // 允许单据转换携带 var convertTote = field.IsConvertToteControl(); msg.Append("允许单据转换携带:").Append(GetBoolValueDesc(convertTote)).AppendLine(); #endregion #region 废弃属性 // 默认导出字段模板 var defaultExpFieldTmp = ((funControl & Field.FUNCONTROL_DEFAULT_EXPORT_FIELD_TEMPLATE) == Field.FUNCONTROL_DEFAULT_EXPORT_FIELD_TEMPLATE); // 允许参与交叉分析表 var allowCrossReport = ((funControl & Field.FUNCONTROL_CROSS_REPORT) == Field.FUNCONTROL_CROSS_REPORT); #endregion this.View.ShowMessage(msg.ToString()); } } private string GetBoolValueDesc(bool val) { return val ? "是" : "否"; } } }
<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。
<3>BOSIDE扩展采购订单,菜单集合新增菜单项test,注册表单插件,保存元数据,开发完毕。
【功能验证】
<1>登录业务站点,打开采购订单新增界面,点击菜单test,效果如下图。
---------------------------------------------------------------------------------------------------------
【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696
二开案例.表单插件.获取字段功能控制设置
【应用场景】运行时解析元数据,获取设计时设置的字段的功能控制选项。功能控制属性对应的元数据XML如下图。【案例演示】采购订单,设置供...
点击下载文档
上一篇:二开案例.工作流.动态文本下一篇:二开案例.工作流.节点变量
本文2024-09-23 03:58:02发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-162244.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章