电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

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

来源:金蝶云社区作者:金蝶2024-09-232

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

【应用场景】

通过工序计划下推生成的二开单据(配置转换规则),下推行的问题,因为工序计划的特殊性(单据头单据体子单据体三层结构),下推的时候默认都是找第一行数据。所以需要二开代码特殊处理下。


【实现步骤】

<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格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信