二开案例.表单插件.AfterEntryBatchFill

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

二开案例.表单插件.AfterEntryBatchFill

【应用场景】

单据编辑界面,批量填充某字段后,进行某些计算或服务。

批量填充时,如果存在性能问题,建议将每个数据行都会重复触发的某些计算或服务,统一放到此事件中,进行集中处理,减少重复操作,减少数据库访问次数,提升性能。



【案例演示】

采购订单,批量填充采购数量后,设置备注。


【实现步骤】

<1>编写表单插件,代码如下。

using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Util;
using System.ComponentModel;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
    /// <summary>
    /// 【表单插件】AfterEntryBatchFill
    /// </summary>
    [Description("【表单插件】AfterEntryBatchFill"), HotUpdate]
    public class AfterEntryBatchFillFormPlugIn : AbstractDynamicFormPlugIn
    {
        public override void AfterEntryBatchFill(AfterBatchFillEventArgs e)
        {
            base.AfterEntryBatchFill(e);
            // TODO
            var rowCount = this.Model.GetEntryRowCount(e.Entity.Key);
            for (var rowIndex = e.StartRowIndex; rowIndex < rowCount; rowIndex++)
            {
                // 修改数据
                var note = "采购数量:" + this.Model.GetValue("FQty", rowIndex);
                this.Model.SetValue("FEntryNote", note, rowIndex);
                // 触发服务
                //this.View.InvokeFieldUpdateService("FTaxPrice", rowIndex);
            }
        }
    }
}


<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。


<3>BOSIDE扩展采购订单,注册表单插件,保存元数据,开发完毕。



【功能验证】

<1>登录业务站点,打开采购订单新增界面,批量填充采购数量字段,效果如下图。

---------------------------------------------------------------------------------------------------------













【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696

二开案例.表单插件.AfterEntryBatchFill

【应用场景】单据编辑界面,批量填充某字段后,进行某些计算或服务。批量填充时,如果存在性能问题,建议将每个数据行都会重复触发的某些计...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息