即时库存查询自定义
3人赞赏了该文章
1,458次浏览
编辑于2018年06月29日 17:45:31
系统的即时库存查询和即时库存明细使用的分别是“即时库存汇总数据查询”和“即时库存”的单据列表,由于即时库存维度固定,且即时库存表的数据都是由库存更新服务后台维护,所以在BOS设计器,仅支持现有字段的配置或者增加现有基础资料属性类的扩展,如果要增加一些其他类型的字段,则需要通过定时服务或者其他单据插件自行维护数据(不建议,会影响系统单据操作的库存更新性能),也可以只增加字段,在查询时通过列表插件维护查询结果的数据,可参考如下方法
系统的即时库存查询和即时库存明细使用的分别是“即时库存汇总数据查询”和“即时库存”的单据列表,由于即时库存维度固定,且即时库存表的数据都是由库存更新服务后台维护,所以在BOS设计器,仅支持现有字段的配置或者增加现有基础资料属性类的扩展,如果要增加一些其他类型的字段,则需要通过定时服务或者其他单据插件自行维护数据(不建议,会影响系统单据操作的库存更新性能),也可以只增加字段,在查询时通过列表插件维护查询结果的数据,可参考如下方法即时库存查询使用的是“即时库存汇总数据查询”单据的列表,需要派生标准的单据列表插件Kingdee.K3.SCM.Stock.Business.PlugIn.InvSumQueryList,重写PrePareFilterParameter事件,先调用父类中的标准方法,得到This.TransactionID,然后使用这个ID值作为条件,根据业务需要操作t_stk_invsumquery表中当次查询事务的结果数据
即时库存明细使用的是“即时库存”单据的列表,该单据列表采用临时表模式,需要派生BOS列表插件抽象类AbstractListPlugIn,重写BeforeGetDataForTempTableAccess方法,该方法的参数e.TableName是当次查询结果存储的临时表名,可以在这里对临时表中的数据进行再加工
如果自定义字段的结果需要经过很复杂业务要求,计算过程非常耗时,建议还是通过自定义查询报表来实现,否则可能引起库存查询性能问题
特别需要注意的是增加字段不允许影响库存维度,也不允许修改现有表上的唯一约束
推荐阅读