二开案例.单据插件.切换单据

【应用场景】
通过插件,在当前单据编辑界面,打开指定的单据。
【案例演示】
采购订单,通过下拉列表切换下拉选项,打开指定的单据。

【实现步骤】
<1>编写单据插件,代码如下。
using Kingdee.BOS;
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Core.Bill;
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
/// <summary>
/// 【单据插件】切换单据
/// </summary>
[Description("【单据插件】切换单据"), HotUpdate]
public class GoToBillBillPlugIn : AbstractBillPlugIn
{
public override void DataChanged(DataChangedEventArgs e)
{
base.DataChanged(e);
if (e.Field.Key.EqualsIgnoreCase("F_Jac_Combo"))
{
this.View.CommitNetworkCtrl();
var para = new BillShowParameter();
para.OpenStyle.ShowType = ShowType.InCurrentForm;
para.FormId = this.View.OpenParameter.FormId;
para.LayoutId = this.View.OpenParameter.LayoutId;
para.Status = this.View.OpenParameter.Status;
para.ParentPageId = this.View.OpenParameter.ParentPageId;
para.PKey = e.NewValue.ToString();
this.View.ShowForm(para);
}
}
public override void AfterBindData(EventArgs e)
{
base.AfterBindData(e);
BindComboField();
}
private void BindComboField()
{
var enumList = GetEnumItems(this.Context);
var comboList = this.View.GetFieldEditor<ComboFieldEditor>("F_Jac_Combo", 0);
if (comboList != null)
{
comboList.SetComboItems(enumList);
}
}
/// <summary>
/// 从数据库读取自定义数据源并转换成枚举项集合
/// </summary>
二开案例.单据插件.切换单据
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



