电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

插件获取物料收发类报表数据案例

来源:金蝶云社区作者:金蝶2024-09-162

插件获取物料收发类报表数据案例

一、【业务需求】

1、想要二开简单账表参考物料收发汇总或者物料收发明细,需要知道报表数据抓取的范例或者逻辑?

2、后台找不到物料收发明细表的表名,我要取得上面的单价字段,应该怎么取呢?

3、读取物料的收发明细表里的物料数据,然后自己用这些数据在盘点作业上做一个对比,这个物料收发明细的数据如何取?


类似的需求大同小异,总结起来可以简单理解为:需要理解库存物料收发报表的取数逻辑,以及如何直接从数据库表中获取的报表数据,进行二次开发。


二、【功能分析】

对于库存物料收发类的报表,需要理解其运算的逻辑:统计涉及到几十张库存单据表的取数,单据彼此间并没有什么关联,意味着无法通过SQL将所有数据进行汇总,标准产品是通过插件对各个库存单据根据过滤条件分别取数,再通过临时表进行数据汇总排序,结合期初计算结存, 逻辑比较复杂而且耗时比较长,每一次的查询都是实时计算,所以并不存在后台实体表进行存储。


如果有二开需求需要获得物料收发报表数据,可以参考如下方案进行:

1、【在插件中获取分页账表数据

2、【二开案例.执行计划.获取并保存账表数据

3、SQL的取数逻辑可参考:【物料收发明细报表sql


以参考文章1为例:说明几个常见问题

1、分页账表,获取数据不完整

由于分页的特性,报表展示数据会根据库存组织,货主进行分页(注意区别于报表每页显示分页)数据统计,比如查询当期A、B两个组织的收发数据,且勾选了按组织分页,按货主分页,那么当期的数据如果一个组织有涉及两个货主,可以理解为数据分为 2 * 2 = 4(页)

image.webp

image.webp


SysReportServiceHelper.GetListAndReportData返回一个IMoveReport类型

  • ListCount属性,该参数返回当前方案下分页账表的页数

  • rptParam.CurrentPosition = currentPosition 分页账表当前位置,currentPosition从0(第一页)到ListCount - 1,多次调用即可获取完整的数据


image.webp


2、这个过滤方案只能是固定的?如何用代码改日期之类的过滤字段?

var filter = model.GetFilterParameter();
IRptParams rptParam = new RptParams();   
rptParam.FormId = reportFilterMetadata.BusinessInfo.GetForm().Id;    
rptParam.CurrentPosition = currentPosition; //分页账表当前位置
rptParam.StartRow = 1;    
rptParam.En

插件获取物料收发类报表数据案例

一、【业务需求】1、想要二开简单账表,参考物料收发汇总或者物料收发明细,需要知道报表数据抓取的范例或者逻辑?2、后台找不到物料收发明...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信