二开案例.列表插件.通过发布菜单时添加自定义参数控制列表过滤结果

【应用场景】
将单据发布成两个列表菜单,如何实现不同的列表菜单使用不同的过滤条件来控制列表数据?
【实现步骤】
<1>发布两个列表菜单,并指定自定义过滤参数,如下图所示。



<2>编写列表插件,获取菜单自定义参数,控制列表过滤结果,插件代码如下图所示。
using Kingdee.BOS.Core.List.PlugIn;
using Kingdee.BOS.Core.List.PlugIn.Args;
using Kingdee.BOS.Util;
using System.ComponentModel;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
/// <summary>
/// 【列表插件】通过发布菜单时添加自定义参数控制列表过滤结果
/// https://vip.kingdee.com/article/81119507636544000
/// </summary>
[Description("【列表插件】通过发布菜单时添加自定义参数控制列表过滤结果"), HotUpdate]
public class AddFilterByOpenParameterListPlugIn : AbstractListPlugIn
{
public override void PrepareFilterParameter(FilterArgs e)
{
base.PrepareFilterParameter(e);
if (this.View.OpenParameter == null)
{
return;
}
var billTypeId = this.View.OpenParameter.GetCustomParameter("BillTypeID");
if (billTypeId.IsNullOrEmptyOrWhiteSpace())
{
return;
}
e.FilterString = e.FilterString.JoinFilterString("FBillTypeID = '" + billTypeId + "'");
// 根据发布时指定的自定义参数BillTypeID,增加其它过滤条件
// TODO
}
}
}<3>拷贝插件组件到应用服务器WebSite\Bin目录,重启IIS。
<4>BOSIDE,扩展其他出库单,注册列表插件,如下图所示,保存元数据,开发完毕。

登录业务站点,打开其它出库单,就可以看到插件控制效果啦。


本案例插件代码较简单,也可以用Python插件实现,如下图所示。

def PrepareFilterParameter(e): if this.View.OpenParameter == None: return bill
二开案例.列表插件.通过发布菜单时添加自定义参数控制列表过滤结果
【应用场景】将单据发布成两个列表菜单,如何实现不同的列表菜单使用不同的过滤条件来控制列表数据?【实现步骤】<1>发布两个列表菜单,并...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



