工序计划下推二开单据,下推行都是默认第一行的二开问题解决

【应用场景】
通过工序计划下推生成的二开单据(配置转换规则),下推行的问题,因为工序计划的特殊性(单据头单据体子单据体三层结构),下推的时候默认都是找第一行数据。所以需要二开代码特殊处理下。
【实现步骤】
<1>配置好工序计划到二开单据的单据转换规则
<2>编写二开插件,参考示例如下:
using Kingdee.BOS.Core;
using Kingdee.BOS.Core.Const;
using Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn.Args;
using Kingdee.BOS.Core.Metadata.EntityElement;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Util;
using Kingdee.K3.Core.MFG.EnumConst;
using Kingdee.K3.MFG.App;
using Kingdee.K3.MFG.App.ConvertPlugIn;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using Kingdee.BOS;
using Kingdee.BOS.Core.Metadata;
using Kingdee.K3.Core.MFG.EntityHelper;
using Kingdee.K3.MFG.SFC.App.BillConvertServicePlugIn.Utils;
using Kingdee.K3.Core.MFG;
namespace Kingdee.K3.MFG.SFC.App.BillConvertServicePlugIn
{
public class Class1 : BaseBillConvertServicePlugIn
{
/// <summary>
/// 下推、从选单界面选择行返回后
/// </summary>
/// <param name="e"></param>
public override void OnInSelectedRow(InSelectedRowEventArgs e)
{
base.OnInSelectedRow(e);
string subFilter = GetPlanSubEntryFilter(e);
if (!subFilter.IsNullOrEmpty()) e.InSelectedRowsSQL = e.InSelectedRowsSQL.JoinFilterString(subFilter, "AND");
}
/// <summary>
/// 获取源单中子单据体选择行的过滤条件
/// </summary>
/// <param name="e">下推事件</param>
/// <returns>过滤条件</returns>
private string GetPlanSubEntryFilter(BOS.Core.Metadata.ConvertElement.PlugIn.Args.InSelectedRowEventArgs e)
{
st工序计划下推二开单据,下推行都是默认第一行的二开问题解决
【应用场景】通过工序计划下推生成的二开单据(配置转换规则),下推行的问题,因为工序计划的特殊性(单据头单据体子单据体三层结构),下...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



