二开方案示例:总账凭证分录自定义排序(以摘要排序为例)

1.打开BOS IDE扩展凭证,列表添加排序菜单。

2.新增列表插件,代码如下。
using Kingdee.BOS.Core;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.List.PlugIn;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Orm;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.ServiceHelper;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Kingdee.K3.FIN.GL.Business.PlugIn.Voucher
{
public class VoucherOrder : AbstractListPlugIn
{
public override void BarItemClick(BOS.Core.DynamicForm.PlugIn.Args.BarItemClickEventArgs e)
{
base.BarItemClick(e);
switch (e.BarItemKey.ToUpperInvariant())
{
// 排序
case "ORDER":
OrderByCustomizeField();
break;
}
}
/// <summary>
/// 凭证分录自定义排序
/// </summary>
private void OrderByCustomizeField()
{
var selectRows = this.ListView.SelectedRowsInfo;
if (selectRows == null || selectRows.Count == 0)
{
return;
}
// 获取凭证列表界面勾选的总账凭证id
string[] vchIds = selectRows.GetPrimaryKeyValues();
// 加载所勾选总账凭证信息
FormMetadata metaData = FormMetaDataCache.GetCachedFormMetaData(this.Context, "GL_VOUCHER") as FormMetadata;
DynamicObject[] lstVoucherInfo = BusinessDataServiceHelper.Load(this.Context, vchIds, metaData.BusinessInfo.GetDynamicObjectType());
for (int i = 0; i < lstVoucherInfo.Count(); i++)
{
// 获取该张总账凭证分录
DynamicObjectCollection entrys = lstVoucherInfo[i]["GL_VOUCHERENTRY"] as DynamicObjectCollection;
if (entrys == null || entrys.Count == 0)
{
continue;
}
List<DynamicObject> rows = new List<DynamicObject>();
foreach (var row in entrys)二开方案示例:总账凭证分录自定义排序(以摘要排序为例)
1.打开BOS IDE扩展凭证,列表添加排序菜单。2.新增列表插件,代码如下。using Kingdee.BOS.Core;using Kingdee.BOS.Core.DynamicForm;usin...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



