金蝶云星空《资产实物清单》报表添加字段
2026/7/7 10:33:51 网站建设 项目流程

一、业务需求

查看资产实物清单可查看对应物料编码

二、详细设计

1、编写报表插件

1.1 新建类,继承原报表插件,重写相关事件

相关引用:
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Core.Report;
using Kingdee.BOS.Util;
using Kingdee.K3.FIN.FA.App.Report;

usingKingdee.BOS.App.Data;usingKingdee.BOS.Core.Report;usingKingdee.BOS.Util;usingKingdee.K3.FIN.FA.App.Report;usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceKrystal.K3.App.Report.FIN.FA{/// <summary>/// 功能描述 :AssetObjectListServiceExtend/// 创 建 者 :Administrator/// 创建日期 :2026/1/13 14:42:49/// 最后修改者 :Krystal/// 最后修改日期:2026/1/13 14:42:49/// </summary>[Description("资产实物清单报表服务插件二开-报表插件"),HotUpdate]publicclassAssetObjectListServiceExtend:AssetObjectListService{#region<方法>privatevoidAddSecondField(stringtableName){//1、对临时表tableName添加字段销售类型//添加的字段长度,类型,是否为空,尽量和原字段保持一致,添加的字段中间加上二开标识,防止和标准产品字段冲突StringBuildersqlStr=newStringBuilder();sqlStr.AppendFormat(@"alter table {0} add F_Krystal_MNumber varchar(100) NOT NULL default '';",tableName);intuc=DBUtils.Execute(this.Context,sqlStr.ToString());//测试表结构用,比如查看现有字段//string sql1 = string.Format(@"select top 10000 * from {0}", tableName);//var sd = DBUtils.ExecuteDynamicObject(this.Context, sql1);//2、更新该字段sqlStr.Clear();sqlStr.AppendFormat(@" MERGE INTO {0} T0",tableName);sqlStr.AppendFormat(@" using ( SELECT b.FASSETNO ,b.FMATERIALNO,c.FNUMBER FMNUMBER FROM t_fa_card a LEFT JOIN T_FA_CARDDETAIL b ON a.FALTERID=b.FALTERID join T_BD_MATERIAL c on c.FMATERIALID=b.FMATERIALNO WHERE a.FDOCUMENTSTATUS='C' AND a.FISNEWREC='2' AND b.FMATERIALNO>0) T ");sqlStr.AppendFormat(@" ON T0.FAssetNO=T.FAssetNO ");sqlStr.AppendFormat(@" WHEN matched THEN UPDATE SET F_Krystal_MNumber=T.FMNUMBER;");intuc1=DBUtils.Execute(this.Context,sqlStr.ToString());}#endregion<方法>#region<事件>publicoverridevoidBuilderReportSqlAndTempTable(IRptParamsfilter,stringtableName){//调用基类的方法,获取初步的查询结果到临时表tableName【基类默认的存放查询结果的临时表】base.BuilderReportSqlAndTempTable(filter,tableName);//构造过滤条件//DynamicObject dyFilter = this.GetFilter(filter);this.AddSecondField(tableName);}#endregion<事件>}}

2、扩展《资产实物清单》

添加文本,重命名为物料编码,标识和插件一致

3、扩展《资产实物清单过滤条件》

在显示隐藏列界面添加文本,重命名为物料编码,标识和插件一致

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询