二开案例.列表插件.列表强制按整单排序

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

二开案例.列表插件.列表强制按整单排序

【应用场景】

列表的过滤方案设置的排序字段,有时候并不能精确的区别开不同的单据(例如:日期字段),此时列表查询返回的数据集,可能会因为数据库查询引擎执行计划的差异,导致返回来的数据,同一张单据的多行数据会被打乱。

如果要整单的数据放在一起显示,那就需要将单据内码强制作为排序字段。


【案例演示】

销售出库单列表强制按整单排序。


【实现步骤】

<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 ListQuerySortByBillListPlugIn : AbstractListPlugIn

    {

        public override void PrepareFilterParameter(FilterArgs e)

        {

            base.PrepareFilterParameter(e);

            // 获取主键字段,强制主键字段参与排序

            var pkFieldName = this.View.BillBusinessInfo.GetForm().PkFieldName;

            if (string.IsNullOrWhiteSpace(e.SortString))

            {

                e.SortString = pkFieldName;

                return;

            }

            if (!e.SortString.Contains(pkFieldName))

            {

                e.SortString = string.Format("{0},{1}", e.SortString, pkFieldName);

            }

        }

    }

}


<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。


<3>BOSIDE扩展销售出库单,注册列表插件,保存元数据,开发完毕。

此方案也可以使用Python插件,如下图所示:

---------------------------------------------------------------------------------------------------------













【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696

【C#】【列表插件】列表强制按整单排序.rar

【Python】【列表插件】列表强制按整单排序.rar

二开案例.列表插件.列表强制按整单排序

【应用场景】列表的过滤方案设置的排序字段,有时候并不能精确的区别开不同的单据(例如:日期字段),此时列表查询返回的数据集,可能会因...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息