即时库存按使用组织的字段进行过滤的实现案例
即时库存按使用组织的字段进行过滤的实现案例
一、【业务需求】
即时库存明细里面新增了物料自定义字段,可以显示使用组织下的对应字段,但是无法按使用组织的字段进行过滤。创建组织下该字段为空,过滤出来的数据也是空
二、【分析实现】
由于跨组织查询的需要,即时库存表中物料的ID都是保存的创建组织下的ID,即FMASTERID,列表无法获取分配后使用组织下修改后的属性
关于即时库存显示使用组织下的物料属性,实现参考:
系统查询入口 | 业务对象 | FormId | 物理表 |
即时库存 | 即时库存汇总数据查询 | STK_InvSumQuery | T_STK_INVSUMQUERY |
即时库存明细 | 即时库存 | STK_Inventory | T_STK_INVENTORY |
通过上面两个帖子配置实现了显示效果,但是还是无法支持使用字段过滤数据,这里采用二开变通实现方案:
以物料档案上"规格型号"为例,
1、"即时库存"和"即时库存明细"分别扩展文本字段(字段名必须相同),命名为"规格型号"
2、二开即时库存明细列表插件,更新规格型号字段数据到即时库存表T_STK_INVENTORY
新增列表插件,继承列表插件抽象类AbstractListPlugIn,重写 BeforeGetDataForTempTableAccess方法,添加注册新插件,原插件继续保留
using Kingdee.BOS.App.Data; using Kingdee.BOS.Core.List.PlugIn; using Kingdee.BOS.ServiceHelper; using Kingdee.K3.SCM.ServiceHelper; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; namespace Kingdee.K3.InventoryDemo { public class InventoryListExt : AbstractListPlugIn { public override void BeforeGetDataForTempTableAccess(BOS.Core.List.PlugIn.Args.BeforeGetDataForTempTableAccessArgs e) { string sqlText = string.Format(@"MERGE INTO T_STK_INVENTORY IT USING(SELECT T1.FID,T2.FMATERIALID, T1.FMATERIALID FMASTERID, T3.FSPECIFICATION FROM {0} T1 INNER JOIN T_BD_MATERIAL T2 ON T1.FMATERIALID = T2.FMASTERID AND T1.FSTOCKORGID = T2.FUSEORGID INNER JOIN T_BD_MATERIAL_L T3 ON T3.FMATERIALID = T2.FMATERIALID AND T3.FLocaleID = 2052 where T3.FSPECIFICATION != '') IT1 ON (IT.FID = IT1.FID) WHEN MATCHED THEN UPDATE SET IT.FModelText= IT1.FSPECIFICATION;", e.TableName); DBUtils.Execute(this.Context, sqlText); } } }
3、二开即时库存列表插件,更新表T_STK_INVSUMQUERY中"规格型号"字段。新增列表插件,继承原插件类InvSumQueryList(添加组件引用:Kingdee.K3.SCM.Stock.Business.PlugIn.dll),重写 PrepareFilterParameter方法,注册新插件,禁用原插件
using Kingdee.BOS.App.Data; using Kingdee.BOS.Core.List.PlugIn.Args; namespace Kingdee.K3.InventoryDemo { public class InvSumQueryListEx : InvSumQueryList { public override void PrepareFilterParameter(FilterArgs e) { base.PrepareFilterParameter(e); var transId = this.TransactionID; string sqlText = string.Format("MERGE INTO T_STK_INVSUMQUERY IT USING(SELECT T1.FID,T2.FMATERIALID, T1.FMATERIALID FMASTERID, T3.FSPECIFICATION FROM T_STK_INVSUMQUERY T1 INNER JOIN T_BD_MATERIAL T2 ON T1.FMATERIALID = T2.FMASTERID AND T1.FSTOCKORGID = T2.FUSEORGID INNER JOIN T_BD_MATERIAL_L T3 ON T3.FMATERIALID = T2.FMATERIALID AND T3.FLocaleID = 2052 WHERE FTRANSID = '{0}' AND T3.FSPECIFICATION != '' ) IT1 ON (IT.FID = IT1.FID) WHEN MATCHED THEN UPDATE SET IT.FModelText= IT1.FSPECIFICATION;", transId); DBUtils.Execute(this.Context, sqlText); } } }
4、原系统预置的基础资料属性类型的"规格型号"都设置为不可见,将文本类型的"规格型号"字段显示可见,
通过以上步骤实现了将物料上的规格型号数据更新到即时库存表的实体字段,从而达到在使用组织下显示和过滤的效果
即时库存按使用组织的字段进行过滤的实现案例
即时库存按使用组织的字段进行过滤的实现案例一、【业务需求】即时库存明细里面新增了物料自定义字段,可以显示使用组织下的对应字段,但是...
点击下载文档
上一篇:库存管理:物料动盘盘点支持指定仓库范围下一篇:即时库存二开字段方案整理
本文2024-09-23 02:55:25发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-155564.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
- 鼎捷EAI整合規範文件V3.1.07 (集團).pdf
- 鼎捷OpenAPI應用場景說明_基礎資料.pdf
- 鼎捷OpenAPI應用場景說明_財務管理.pdf
- 鼎捷T100 API設計器使用手冊T100 APIDesigner(V1.0).docx
- 鼎新e-GoB2雲端ERP B2 線上課程E6-2應付票據整批郵寄 領取.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A4使用者建立權限設定.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程C3會計開帳與會計傳票.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程E6-1應付票據.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A5-1進銷存參數設定(初階篇).pdf
- 鼎新e-GoB2雲端ERP B2 線上課程D2帳款開帳與票據開帳.pdf
热门文章