二开案例.列表插件.列表过滤时强制使用当前登录组织
【应用场景】
列表过滤时,忽略过滤方案里的可选组织,强制使用当前登录组织过滤数据。
【案例演示】
采购订单,列表查询,强制使用当前登录组织过滤数据。
【实现步骤】
<1>编写列表插件,代码如下。
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>
/// 【列表插件】列表过滤时强制使用当前登录组织
/// </summary>
[Description("【列表插件】列表过滤时强制使用当前登录组织"), HotUpdate]
public class FilterByCurrentOrgListPlugIn : AbstractListPlugIn
{
public override void PrepareFilterParameter(FilterArgs e)
{
base.PrepareFilterParameter(e);
// 【方式1】
var filterString = GetOrgFilterString();
e.FilterString = e.FilterString.JoinFilterString(filterString);
}
/// <summary>
/// 获取组织过滤条件
/// </summary>
/// <returns></returns>
private string GetOrgFilterString()
{
if (this.View.Context.CurrentOrganizationInfo == null)
{
return string.Empty;
}
var mainOrgField = this.View.BillBusinessInfo.MainOrgField;
if (mainOrgField == null)
{
// 如果单据没有主业务组织,不处理。
return string.Empty;
}
var filterString = string.Format("{0}={1}", mainOrgField.Key, this.View.Context.CurrentOrganizationInfo.ID);
return filterString;
}
}
}
<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。
<3>BOSIDE扩展采购订单,注册列表插件,保存元数据,开发完毕。
【功能验证】
<1>登录业务站点,打开采购订单列表,列表始终按当前登录组织过滤数据,效果下如图所示。
---------------------------------------------------------------------------------------------------------
【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696
二开案例.列表插件.列表过滤时强制使用当前登录组织
本文2024-09-23 03:58:26发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-162287.html