极速报表:开发示例
变更记录
产品版本 | 更新内容 | 更新日期 |
V4.0.020 | 初始版本 | 2022年05月12日 |
一、业务背景
业务需求:库存管理模块中,要对物料出入库数量进行管理,同时还需要有报表能够分析出在某个时间段内的收入、发出数据。
扩展需求:要允许开在原报表基础上做一些扩展条件,典型如调整汇总相关的字段。
因此,结合业务及扩展需求,大致可得到下面几个典型的需求,简单描述如下,实际报表需求可能复杂N倍。
1)统计某个时间范围内库存的收入发出结余的情况,要兼顾到二开对出入库的调整;
2)有基本的过滤控制,来源基本上是库存管理维度,如:组织、物料、仓库等,也有不是的,如:物料分类,过滤要满足二开进行扩展调整;
3)报表展示的数据汇总依据要可调整,比如:二开要增加、减少汇总列(可能是值,也可能是依据);
4)是否统计到已提交状态的数据,要求动态可控;
5)是否统计到不更新库存的数据,要求动态可控;
6)需要有二次合计行:比如:按物料分类增加一行汇总行,按哪些列二次汇总要动态可控;
7)需要有总计行,用户可选;
8)收入发出值中要根据收发类型,或特殊单据类型,增加独立显示列,如:收入:100,要显示为:收入100,购入:50、生产入:20,组装后:10;
9)要关联显示物料分类,在不同不了分类标准下,分类要参与数据过滤;
10)收入、发出、期初和结存显示要动态可控。
二、解决方案
使用极速报表来实现,将配置相应的数据源,在加上相应的算子流来完成报表计算。标准产品可以参考:物料收发汇总表(im_sum_rpt),可详细查看相关的配置。
1)确定报表数据来源的组成
库存期间余额表的数据都是期初数据,单据数据则有两类,收入、发出,其中当月起始日期前的单据还要归到期初。查看余额规则确定出更新库存数据的来源,配置数据源则有35个数据库,其中:1个余额表数据,17个来源单据的收和入的数据。如下图配置:
2)设计中间大表字段组成
通过上面的思考分析,可以基本确定:库存全部维度、发生数据在中间表都是必须要的,同时还要有状态、业务日期、是否更新库存、收发类型、收入/发出/期初类型等。最终确定大表需要如下22个字段:
3)设计字段库、建立来源单据、中间大表、字段库字段映射关系
来源单据、中间大表在1)2)点已明确,字段库设计时,框架并没有过多的约束,一个报表一个固定的库,或者多个报表共用一个库都是没问题的,这里考虑到供应链报表字段来源大部分是一样的,同时减少字段库存字段映射维护工作量,因此,建议一个公用的字段库,如下图,当前版本有28个字段,其中有些字段则不是物料收发汇总需要的,如:单据编号。
接下来是建立数据源与字段库的字段映射关系,如下,也有35个映射配置。
在字段映射中,动态获取的则配置来源字段,对于有些固定值,则配置默认值即可。如下:
形态转换单收入数据为例,它的datatype就是固定的,默认值为0,代表收入;这个单没有库存事务,所有单据都是更新库存的,那么是否更新库存也是固定值,默认为0,代表更新;没有库存事务,也就没有收发类型,则认为是固定值,通过枚举来过滤,101,则代表形态转换入。
综上,其他字段也是可以类似的进行设计。每个配置具体内容,可以在研发基线环境/或已发布的客户环境,进行具体查看。
三、注意事项
1)以上示例不能完全代表库存管理中物料收发汇总表的需求;
2)改示例覆盖了大部分场景的需求场景,相关代码实现见源码(需权限);
极速报表:开发示例
本文2024-09-22 23:48:51发表“云星瀚知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-xinghan-135447.html