二开案例.列表插件.使用指定单据视图(布局)显示表单
【应用场景】使用指定单据视图(布局)显示表单。
【案例演示】销售出库单列表新增菜单项,通过此菜单打开销售出库单新增界面时,始终使用单据视图【零售销售出库单】进行界面显示。
【实现步骤】
<1>获取销售出库单的单据视图为【零售销售出库单】的布局Id。
-- 获取销售出库单的单据视图内码
SELECT c.FNAME AS 业务对象名称,a.FDEPENDENCYOBJECTID AS [业务对象内码(FormId)],b.FNAME AS 视图名称,a.FID AS [视图内码(layoutid)],*
FROM T_META_OBJECTTYPEVIEW a
LEFT JOIN T_META_OBJECTTYPEVIEW_L b ON a.FID=b.FID AND b.FLOCALEID=2052
LEFT JOIN T_META_OBJECTTYPE_L c ON a.FDEPENDENCYOBJECTID=c.FID AND c.FLOCALEID=2052
WHERE a.FDEPENDENCYOBJECTID IN ('SAL_OUTSTOCK','6bd6de25-2d2f-4c9e-aa95-166db3e9f198')
--------------------------------------------------------------------------------------------------------
<2>编写列表插件,代码如下。
using Kingdee.BOS.Core.Bill;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.List.PlugIn;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Util;
using System;
using System.ComponentModel;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
/// <summary>
/// 【列表插件】使用指定单据视图(布局)显示表单
/// </summary>
[Description("【列表插件】使用指定单据视图(布局)显示表单"), HotUpdate]
public class ShowFormByLayoutIdListPlugIn : AbstractListPlugIn
{
public override void BarItemClick(BarItemClickEventArgs e)
{
base.BarItemClick(e);
if (e.BarItemKey.Equals("tbShowFormByLayoutId", StringComparison.OrdinalIgnoreCase))
{
// 打开销售出库单的单据新增界面
var showParameter = new BillShowParameter();
showParameter.FormId = "SAL_OUTSTOCK"; // 业务对象标识
showParameter.PageId = Guid.NewGuid().ToString();
showParameter.ParentPageId = this.View.PageId;
showParameter.Status = OperationStatus.ADDNEW; // 新增模式打开
showParameter.LayoutId = "fb477a41-15dc-443b-8f5b-673a3635c815"; // 指定以零售销售出库单的单据视图显示表单
this.View.ShowForm(showParameter);
return;
}
}
}
}
<3>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。
<4>BOSIDE扩展销售出库单,列表菜单新增菜单项,注册列表插件,保存元数据,开发完毕。
现在可以登录业务站点,打开销售出库单列表,检验一下插件效果啦。
【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696
二开案例.列表插件.使用指定单据视图(布局)显示表单
本文2024-09-23 04:20:17发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-164663.html