二开案例.列表插件.显示窗体
【应用场景】通过插件的方式,显示单据窗体、列表窗体和动态表单窗体。
【案例演示】采购订单,列表界面,新增多个菜单,显示不同类型的窗体。
【实现步骤】
<1>编写列表插件,代码如下。
using Kingdee.BOS.Core.Bill;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.List;
using Kingdee.BOS.Core.List.PlugIn;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Core.Permission;
using Kingdee.BOS.Util;
using System;
using System.ComponentModel;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
/// <summary>
/// 【列表插件】显示窗体
/// </summary>
[Description("【列表插件】显示窗体"), HotUpdate]
public class ShowFormListPlugIn : AbstractListPlugIn
{
public override void BarItemClick(BarItemClickEventArgs e)
{
base.BarItemClick(e);
// 更多ShowForm示例可参考:Kingdee.BOS.Core.ViewUtils.OpenSpecFormsByStartArgs
if (e.BarItemKey.Equals("tbShowBillForm", StringComparison.OrdinalIgnoreCase))
{
#region 显示单据界面
// 打开单据编号为【CGDD169050】的采购订单的单据界面
// 执行以下SQL语句获取该单据的内码:SELECT FID AS 单据内码,* FROM T_PUR_POORDER WHERE FBILLNO='CGDD169050'
var pkId = "100791";
var showParameter = new BillShowParameter();
showParameter.FormId = "PUR_PurchaseOrder"; // 业务对象标识
showParameter.PageId = Guid.NewGuid().ToString();
showParameter.ParentPageId = this.View.PageId;
showParameter.NoBusy = true;
showParameter.PKey = pkId; // 单据内码
showParameter.Status = OperationStatus.VIEW; // 查看模式打开
//showParameter.Status = OperationStatus.EDIT; // 编辑模式打开
this.View.ShowForm(showParameter);
#endregion
}
if (e.BarItemKey.Equals("tbShowListForm", StringComparison.OrdinalIgnoreCase))
{
#region 显示列表界面
// 打开采购申请单的列表界面
var showParameter = new ListShowParameter();
showParameter.FormId = "PUR_Requisition";
showParameter.PageId = Guid.NewGuid().ToString();
showParameter.ParentPageId = this.View.PageId;
showParameter.PermissionItemId = PermissionConst.View;
showParameter.ListFilterParameter.Filter = "FDocumentStatus='C'"; // 只显示已审核的单据
//showParameter.OpenStyle.ShowType = ShowType.MainNewTabPage; // 主界面新页签
this.View.ShowForm(showParameter);
#endregion
}
if (e.BarItemKey.Equals("tbShowDynamicForm", StringComparison.OrdinalIgnoreCase))
{
#region 显示动态表单界面
// 打开采购初始化指引界面
var showParameter = new DynamicFormShowParameter();
showParameter.FormId = "PUR_OperateGuide";
showParameter.PageId = Guid.NewGuid().ToString();
showParameter.ParentPageId = this.View.PageId;
showParameter.PermissionItemId = PermissionConst.View;
this.View.ShowForm(showParameter);
#endregion
}
}
}
}
/*
/// <summary>
/// 展示风格
/// </summary>
public enum ShowType
{
/// <summary>
/// 默认风格
/// </summary>
Default = 0,
/// <summary>
/// 新页签
/// </summary>
NewTabPage = 1,
/// <summary>
/// 包含
/// </summary>
InContainer = 3,
/// <summary>
/// 浮动
/// </summary>
Floating = 4,
/// <summary>
/// 非模态
/// </summary>
NonModal = 5,
/// <summary>
/// 模态显示
/// </summary>
Modal = 6,
/// <summary>
/// 主界面新页签
/// </summary>
MainNewTabPage = 7,
/// <summary>
/// 当前页面重新载入元数据重新刷新
/// </summary>
InCurrentForm = 8,
/// <summary>
/// 点击外部区域自动隐藏的浮动窗口
/// </summary>
FloatingAutoHide = 9,
/// <summary>
/// 显示单据在独立的IE窗口中,仅支持HTML端的应用,不支持Sivlerlight和WPF端的应用。
/// </summary>
NewWindow = 10,
/// <summary>
/// 非选中主界面页签打开方式
/// </summary>
NoSelectMainNewTabPage = 11,
/// <summary>
/// 移动中转页面专用
/// </summary>
MobTransferPage = 12,
/// <summary>
/// 移动本页跳转打开新页专用
/// </summary>
MobSelfOpenPage = 13
///// <summary>
///// 包含
///// </summary>
//InMobileContainer = 14
}
*/
<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。
<3>BOSIDE扩展采购订单,新增列表菜单,注册列表插件,保存元数据,开发完毕。
现在可以登录业务站点,打开采购订单列表,检验一下插件效果啦。
打开单据窗体:
打开列表窗体:
打开动态表单窗体:
【知识点】
<1>修改参数的OpenStyle.ShowType可以将窗体显示成不同的风格。
例如,显示成模式窗体:showParameter.OpenStyle.ShowType = ShowType.Modal
更多窗体显示风格,可参考枚举类型:Kingdee.BOS.Core.DynamicForm.ShowType。
【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696
二开案例.列表插件.显示窗体
本文2024-09-23 04:20:45发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-164707.html
- 鼎捷EAI整合規範文件V3.1.07 (集團).pdf
- 鼎捷OpenAPI應用場景說明_基礎資料.pdf
- 鼎捷OpenAPI應用場景說明_財務管理.pdf
- 鼎捷T100 API設計器使用手冊T100 APIDesigner(V1.0).docx
- 鼎新e-GoB2雲端ERP B2 線上課程E6-2應付票據整批郵寄 領取.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A4使用者建立權限設定.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程C3會計開帳與會計傳票.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程E6-1應付票據.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A5-1進銷存參數設定(初階篇).pdf
- 鼎新e-GoB2雲端ERP B2 線上課程D2帳款開帳與票據開帳.pdf