二开案例.表单插件.CreateNewData

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

二开案例.表单插件.CreateNewData

【应用场景】

新建单据时,希望插件接管数据包的初始化工作,包括数据包的构建,字段的默认值设置等。


【案例演示】

币别,新增时,始终使用人民币做初始数据。


【实现步骤】

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

using Kingdee.BOS.Core.Bill;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Orm;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Util;
using System.ComponentModel;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
    /// <summary>
    /// 【表单插件】CreateNewData
    /// </summary>
    [Description("【表单插件】CreateNewData"), HotUpdate]
    public class CreateNewDataFormPlugIn : AbstractDynamicFormPlugIn
    {
        public override void CreateNewData(BizDataEventArgs e)
        {
            base.CreateNewData(e);
            var billView = this.View as IBillView;
            if (billView != null
                && billView.OpenParameter.Status == OperationStatus.ADDNEW
                && billView.OpenParameter.CreateFrom != CreateFrom.Copy)
            {
                // 新增币别时,始终使用人民币做初始数据。
                var srcObj = BusinessDataServiceHelper.LoadSingle(this.Context, 1, this.View.BillBusinessInfo.GetDynamicObjectType());
                var obj = (DynamicObject)srcObj.Clone();
                obj["Number"] = "";
                obj["DocumentStatus"] = "A";
                e.BizDataObject = obj;
            }
        }
    }
}


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


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


【功能验证】

<1>登录业务站点,打开币别列表,点击菜单新增,新增界面的初始数据来自于人民币,如下图。

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













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

二开案例.表单插件.CreateNewData

【应用场景】新建单据时,希望插件接管数据包的初始化工作,包括数据包的构建,字段的默认值设置等。【案例演示】币别,新增时,始终使用人...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息