物料供需明细表添加自定义字段“生产订单号”

问题描述:
物料供需明细表是基于MRP运算数据得出,想在单据标识或生产用料清单的记录上显示上级单号(即生产订单号)
解决方案:
物料供需明细表属于简单账表,要添加自定义字段,并且该字段数据来源有一定业务逻辑,就需要对该报表进行二开,本例实现了物料供需明细表的用料清单行显示生产订单号,步骤如下:
一、给物料供需明细表过滤界面显示隐藏列添加字段,如下图:

二、给物料供需明细表表体添加字段,如下图:

三、写自定义服务器插件,继承标准的物料供需明细表服务器插件,并取消标准插件,如下图:

四、自定义服务器插件示例代码,仅示例使用:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using Kingdee.BOS.Util;
using Kingdee.BOS.App.Core;
using Kingdee.K3.MFG.PLN.App.ReportPlugIn.SupplyDemand;
using Kingdee.K3.MFG.App;
using Kingdee.K3.Core.MFG.EntityHelper;
namespace ABC.K3.MFG.PLN.App.ReportPlugIn
{
/// <summary>
/// 物料供需明细表二开服务插件_计划管理
/// </summary>
[Description("物料供需明细表二开服务插件"), HotUpdate]
public class ABC_CUST_WLGXMXB : MtrlSupplyDemandDetailRpt
{
/// <summary>
/// 该事件是本报表服务器插件的核心事件,最终发送给报表平台的临时表即是该事件的第二个参数:tableName
/// </summary>
public override void BuilderReportSqlAndTempTable(Kingdee.BOS.Core.Report.IRptParams filter, string tableName)
{
//先申请一个过渡表名,用于临时替代标准插件生成的临时表
string tmpTblName = AppServiceContext.DBService.CreateTemporaryTableName(this.Context);
//将过渡表名传入基类事件去生成过渡临时表
base.BuilderReportSqlAndTempTable(filter, tmpTblName);
//F_ABC_MOBILLNO为要增加的字段,取值如以下SQL完成,SQL逻辑取决于实际业务场景
//string computeId = filter.FilterParameter.Custo
物料供需明细表添加自定义字段“生产订单号”
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



