即时库存查询自定义
金蝶云社区-云社区用户EcHY1234
云社区用户EcHY1234
13人赞赏了该文章 8,709次浏览 未经作者许可,禁止转载编辑于2018年02月07日 14:11:28
summary-icon摘要由AI智能服务提供

文本概述:系统使用“即时库存汇总数据查询”和“即时库存”单据列表分别查询即时库存汇总和明细。即时库存维度固定,仅支持现有字段配置或增加现有属性类扩展。新增字段需通过定时服务或插件维护,但可能影响性能。增加字段需遵循不改变库存维度和唯一约束的原则。复杂计算建议通过自定义报表实现。

系统的即时库存查询和即时库存明细使用的分别是“即时库存汇总数据查询”和“即时库存”的单据列表,由于即时库存维度固定,且即时库存表的数据都是由库存更新服务后台维护,所以在BOS设计器,仅支持现有字段的配置或者增加现有基础资料属性类的扩展,如果要增加一些其他类型的字段,则需要通过定时服务或者其他单据插件自行维护数据(不建议,会影响系统单据操作的库存更新性能),也可以只增加字段,在查询时通过列表插件维护查询结果的数据,可参考如下方法

即时库存查询使用的是“即时库存汇总数据查询”单据的列表,需要派生标准的单据列表插件Kingdee.K3.SCM.Stock.Business.PlugIn.InvSumQueryList,重写PrePareFilterParameter事件,先调用父类中的标准方法,得到This.TransactionID,然后使用这个ID值作为条件,根据业务需要操作t_stk_invsumquery表中当次查询事务的结果数据

即时库存明细使用的是“即时库存”单据的列表,该单据列表采用临时表模式,需要派生BOS列表插件抽象类AbstractListPlugIn,重写BeforeGetDataForTempTableAccess方法,该方法的参数e.TableName是当次查询结果存储的临时表名,可以在这里对临时表中的数据进行再加工

如果自定义字段的结果需要经过很复杂业务要求,计算过程非常耗时,建议还是通过自定义查询报表来实现,否则可能引起库存查询性能问题

特别需要注意的是增加字段不允许影响库存维度,也不允许修改现有表上的唯一约束