单据列表获取即时库存更新到实体字段实现方案

一、【业务需求】
列表中查询物料的即时库存能否直接更新到实体字段,能保存到指定字段用于业务人员查看和导出Excel作为业务评估一个参数。
二、【功能分析】
当前列表中获取即时库存调用的方式是操作方法,配置"获取即时库存操作",只能在列表中自动生成一个非实体字段用于展示即时库存,有几个问题
1、该字段不支持引出
2、无法持久化,每次触发查询刷新列表等操作需要重新获取
列表配置获取即时库存参考文章:列表如何显示即时库存
三、【实现】
1、单据扩展数量类型,实体字段,如:"当前库存"

2、启用系统标准功能,配置"获取即时库存操作",启用对应的列表插件

3、二开插件,重写AfterDoOperation事件,触发获取即时库存操作后,插件会返回获取到的即时库存的数据包,根据即时库存数据包进行对应更新处理
以其他出库单为例:
import clr
clr.AddReference('System')
clr.AddReference('System.Data')
clr.AddReference('Kingdee.BOS')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS.App.Core')
clr.AddReference('Kingdee.BOS.App')
clr.AddReference('Kingdee.BOS.DataEntity')
clr.AddReference('Kingdee.BOS.ServiceHelper')
clr.AddReference('Kingdee.BOS.Contracts')
clr.AddReference('Kingdee.K3.Core')
from System import *
from Kingdee.BOS.Log import Logger
from Kingdee.BOS import *
from Kingdee.BOS.Core import *
from Kingdee.BOS.Contracts import *
from System.Data import *
from System.Collections import *
from Kingdee.BOS.App.Data import *
from System.Collections.Generic import List
from System.Collections.Generic import Dictionary
from System import StringComparison
from Kingdee.BOS.ServiceHelper import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
from Kingdee.K3.Core.SCM.Args import *
from Kingdee.BOS.Core.List.PlugIn import *
def AfterDoOperation(e):
if e.Operation.OperationId != 149:
return
invStockResult = e.OperationResult.FuncResult
if invStockResult == None:
return
havaUpdateInvs = Dictionary[object,object]()
for stockResult in invStockResult:
entryId = stockResult.EntryId
stockQty = stockResult.StockQty
havaUpdateInvs[entryId] = stockQty
if havaUpdateInvs.Count > 0:
lstSqlObj = List[SqlObject]()
invTmpTable = DBServiceHelper.CreateTemporaryTableName(this.Context)
BuildUpdateInvQtyTmpTable(this.Context, invTmpTable)
InvQtyDt = DataTable(invTmpTable)
otColumn1 = DataColumn()
otColumn1.ColumnName = "FENTRYID"
InvQtyDt.Columns.Add(otColumn1)
otColumn2 = DataColumn()
otColumn2.ColumnName = "FSTOCKQTY"
InvQtyDt.Columns.Add(otColumn2)
pdict单据列表获取即时库存更新到实体字段实现方案
一、【业务需求】列表中查询物料的即时库存能否直接更新到实体字段,能保存到指定字段用于业务人员查看和导出Excel作为业务评估一个参数。...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



