二开案例.表单插件.表单插件运行机制

【生命周期】
开始->
----------------------------------------------------------设计时----------------------------------------------------------
程序猿编写插件代码->
编译插件工程获得组件->
BOSIDE给单据注册插件,生成元数据XML->
----------------------------------------------------------运行时----------------------------------------------------------
用户登录星空->
用户打开单据,元数据XML被合成为运行时元数据实例FormMetadata(BusinessInfo+LayoutInfo)->
BOS平台生成单据的View和Model,此时表单插件被实例化后放入EventsProxy->
BOS平台使用EventsProxy有序触发插件的各种事件->
用户关闭单据>
插件实例销毁回收->
结束
【运行层级】
View层、Model层。

【案例演示】
下面将以采购订单的菜单点击事件为例,详细介绍表单插件的运行机制。
<1>编写表单插件,代码如下,编译后将组件放入应用服务器WebSite\bin目录下,重启IIS。
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Util;
using System;
using System.ComponentModel;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
/// <summary>
/// 【表单插件】Test
/// </summary>
[Description("【表单插件】Test"), HotUpdate]
public class TestFormPlugIn : AbstractDynamicFormPlugIn
{
public override void BarItemClick(BarItemClickEventArgs e)
{
base.BarItemClick(e);
if (e.BarItemKey.Equals("test", StringComparison.OrdinalIgnoreCase))
{
// TODO
}
}
}
}<2>登录BOSIDE,扩展采购订单,注册表单插件。

保存后,获得增量元数据XML如下。

采购订单标准插件如下图。

采购订单标准插件XML如下图。

此时,设计时的插件有9个。
<3>用户demo登录金蝶云星空,打开采购订单。

界面打开前,BOS平台会构建采购订单的运行时元数据实例FormMetadata(BusinessInfo+LayoutInfo),其中
二开案例.表单插件.表单插件运行机制
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



