当前位置:今日智造 > 智造快讯 > 热门直播 > ERP

大道至简 三招搞定ERP报表

2017/3/2 17:03:04 人评论 次浏览 来源:瑞达中奇 分类:ERP

他们都关注了,你还等什么?

 报表无疑是ERP系统中用到的最频繁的单据之一。比如每天采购要打印采购明细帐;仓库每天要导出收货或者出货明细;销售每天要打印订单明细等。故报表的设计在ERP系统开发中占据大半江山。不过笔者在实际工作中也发现,有些开发人员在设计ERP报表时,太过于复杂。

有一次,一家企业向我提出了如下需求:他们希望能够出一份报表,报表的内容包括四个部分。一是成品零件的用量、零件的最小采购量等信息;二是当月零件的采购量信息(详细的采购订单等资料);三是当月零件的出库信息(详细的出货记录);四是零件的安全库存信息。然后,根据这些信息计算出当月需要补下的满足安全库存的数量。从这个需求中可以看出,其主要设计到产品基本资料、采购、仓库等三个模块的内容。这么复杂的报表,从技术上来说,实现的难度并不是很大。但是从实用性角度考虑,或者从准确性来看,又会有什么结果呢?

1报表越复杂,准确性越难把握

一般来说,报表越复杂,其准确性余越难以把握。其实抛开ERP系统,从统计学的角度,我们也可以得出这个结论。如下图所示,现在有三个抽屉。每个抽屉中都有0-9十个数字。如果现在从每个抽屉中随意抽出两个数字,最后组成一个三位数。那么最后有几种结构呢?这是一个排列组合的问题。

再回过头来看一下这个表单的内容。现在这个表单有三个模块的数据构成。就好像这三个抽屉。当然其抽屉中的数据远比10个数字要负载的多。我们设想一下,从单个模块来看。可能企业允许的误差率是5%。即100条记录中,允许有5条记录与实际有偏差。现在三部分信息共同组成的一张报表,而且最后需要根据三部分信息的内容计算出一个值,那么这个出现错误的记录会有多少呢?这又是一个排列组合的问题。如假设每部分信息中,都有5条件有偏差,那么最后理论上的错误记录是125条。显然这个错误率比较大。同时也可以看出,当涉及到的基础表数量越多,涉及到的模块越多,其最后结果的准确性就越难以保障。而当数据的准确性不高时,其实用性也就相应的降低。

2报表关联越多,性能也会下降

报表越复杂,其涉及到的后台数据库基础表也就越多。虽然多表之间的关联查询是允许的,但是关联的关键字越多,其查询的效率也就越低。特别是在关联条件中,有时候采用的并不是关键字之间的关联。如有可能日期(字符数据类型的关联)之间的关联,此时查询的效率会更低。再加上比较复杂的Where逻辑判断语句,复杂报表的查询时间会很长。如笔者测试过,按照上面这个用户的需求,设计出的报表其查询的时间需要近三分钟,而且是已经优化过的查询。另外,这个报表的查询由于涉及到众多的基础表,数据库基本上需要访问硬盘上的数据文件,而不能够使用缓存。这就有可能会导致比较严重的硬盘I/O冲突。从而影响到其它数据的查询效率。

故从数据库与应用软件的整体性能考虑,也不建议采用比较复杂的报表视图。毕竟性能降低、查询的时间比较长时,报表的实用性也在降低。

3设计复杂报表的注意事项

为此,从原则上是禁止设计超过两个模块的数据报表,最好是将报表的范围限制在单个模块下。如此的话,无论从性能还是从数据的准确性上都会有所保障。但是,如果用户确实有需要实现比较复杂的报表,在这种情况下,该如何处理呢?为此笔者根据自己的项目经验,提出了以下几个建议。

使用固化视图来改善数据库的性能。

复杂报表所导致的不利影响,其首当其冲的是报表查询时速度会很慢,性能很低。为此在涉及到复杂报表时,开发人员可以考虑采用固化视图来改善数据库的性能。如在Oracle数据库中,固化视图又叫做物化视图。通固化视图,可以用于预先计算并保存表连接或者聚集等耗时比较多的操作结果。简单的说,就将某个报表的查询结果存储在一张单独的表中。如此的话,在执行查询时,就可以避免使用这些耗时的操作,同时减少磁盘的I/O冲突,从而以最短的时间得到用户想要的结果。一般来说,固化视图对于复杂的报表来说,能够提供三方面的作用。如可以提高查询的性能。

可见,对于比较复杂的报表视图,原则上还是少见为妙。因为其在性能或者数据的准确性上都很难控制。如果真的要建立复杂视图的时候,那么在设计与开发时,顾问需要听取数据库工程师的意见,考虑如何提高数据的查询性能,并采取措施提高数据的准确性。

纸箱行业的特性

订单杂,箱型多,规格多,印刷内容变化多,客户不同计算公式不同,同箱型也有可能计算公式不同,同纸板材质小订单与大订单平方价格也不一样,纸板材料因有多个供应商或者订单量的原因采购价也是不同。经常漏单,错单,纸箱厂管理不规范导致材料浪费,库存无法统计,响应客户慢,月份对账统计繁琐,纸箱厂太多的重复工作,用EXCEL表格管理,多个表导来导去的查询,数据无法追溯,员工犯错老板负责。

瑞达中奇纸箱软件,完全按纸箱厂实际生产流程设计开发。

可按各种不同的箱型开单,自动计算纸板的长宽,分压尺寸。支持多种开单方式,返单可复制,支持订单批量复制,价格计算有按公式计算和定价方式,自动关联低损耗的纸板存料,避免重复采购,常规产品设置库存预警,印刷图及相关文件保存,支持纸板拼料,供应商纸板材料比价,提示采购压线方式,快速查询采购及送货信息,自动生成订单日报表,界面友好,查询订单数据一目了然。

自动生成纸箱制作单,生产指令清晰明了,避免人为错误,按生产工序或机号排程,条形码管理使订单查询和出入库更加方便快捷,更带有模糊查询的功能,快速找到订单已到哪个生产环节,及时响应客户。

生产单上自动关联箱型图,让我们的员工看到生产单就知道这个箱子的展开形状。

配有唛头插入的功能,可以保存印刷内容和印刷位置,方便以后的查询。

按订单关联自动生成纸板采购单,可在首页获取当天应到纸板的情况,也可以查询纸板未到的情况和采购过期情况,备用纸板材料统一管理避免不必要的浪费。

纸板入库:

纸板厂把纸板送过来,可按订单扫描纸板入库,并可查询入库时间,打印入库标签。

纸箱入库:

可扫描生产单上的条形码,按实际生产成品数量入库,打印成品入库单,也可以打印成品入库标签,可按客户要求每一捆打印一个标签。

送货单按客户编号,自动对送货单进行未回签管理。有些客户送货单上不需要价格显示可以隐藏送货单上的单价,不影响实际的价格对账,纸箱的尺寸,纸板的材质是客户要求,印刷的内容又是客户提供,我们的送货单名称是定作送货单,保护纸箱厂的利益,送货单与多个格式共选择。

送货单未回签管理:

有的送货单是外面叫的车子,送货人没有及时待会,有的货送出后可能对方仓库没有及时签字,我们对已送货没有回来的送货单做单独管理,只要没有回来的送货单都会在这个未回签的送货单的模块中。

客户月结对账单:

每一份送货单只要回签后自动累计到需要对账的月份,打印后给客户对账方便清晰,不再有账目错误来回跑重复核对的麻烦。

(以上图文来源网络。感谢作者,如有侵权,告知删除)

按住二维码 识别二维码关注我们

海宁市中奇纸箱包装厂(软件事业部)

电话:15325300898 0573-87258297

QQ:75816407 7266058

售后QQ:1476176309 1623274038

地址:嘉兴洪兴路名人国际花园3幢2001室

网址:http://www.rueida.com.cn

免责声明:本文系网络转载,版权归原作者所有,如涉及版权,请联系我们删除,QQ:1138247081!

共有条评论 网友评论

验证码: 看不清楚?