库存预警报表添加自定义字段进行过滤二开方案
一、在过滤框快捷页签添加过滤字段
由于过滤框条件页签中的字段会应用在取数临时表上,因此,如果新加的字段不是临时表中的列,则查询会报错。由此,我们新加的过滤字段只能加在快捷页签上。如下图:
二、二开报表服务插件处理过滤条件,伪代码示例如下:
public class WarnSafeStockRptTest : WarnSafeStockRpt { public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName) { DynamicObject customFilterObj = filter.FilterParameter.CustomFilter; //自定义条件,FtestFilter为自定义字段的标识 string testFilter = customFilterObj["FtestFilter"].ToString(); //自定义条件不为空才执行 if (!string.IsNullOrEmpty(testFilter)) { IDBService service = Kingdee.BOS.App.ServiceHelper.GetService<IDBService>(); string tmpDataTbl = service.CreateTemporaryTableName(this.Context); //获取数据 base.BuilderReportSqlAndTempTable(filter, tmpDataTbl); //假设添加的字段是在物料表T_BD_MATERIAL上,需要根据实际情况修改 string whereString = string.Format("TM.自定义字段='{0}'", testFilter); string sqlText = string.Format(@"SELECT T0.* INTO {0} FROM {1} T0 INNER JOIN T_BD_MATERIAL TM ON TM.FMATERIALID = T0.FMATERIALID WHERE {2}", tableName, tmpDataTbl, whereString); DBUtils.Execute(this.Context, sqlText); } else { base.BuilderReportSqlAndTempTable(filter, tableName); } } }
**注:此插件二开方案也适用于给报表新增自定义字段
三、注册二开插件
由于二开插件是继承了标准产品的插件的,引入在服务端插件处注册二开插件后,需要停用标准插件WarnSafeStockRpt。
库存预警报表添加自定义字段进行过滤二开方案
一、在过滤框快捷页签添加过滤字段 由于过滤框条件页签中的字段会应用在取数临时表上,因此,如果新加的字段不是临时表中的列,则...
点击下载文档
上一篇:含税单价的锁定下一篇:收料待检库存查询报表逻辑说明
本文2024-09-16 19:06:54发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-26491.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章