在ERP使用中,往往会遇到"分数问题",最常见的就是包装箱的问题。如:一个包装箱里,装3个成品,那么每个成品的用量就是三分之一的纸箱。在手工作业中,直接可以用分数来表示。但是,由于现在主流数据库基本上都不支持分数的表示方法,只能用小数代替。
若用系统计算物料需求量,就会出现这个问题:一个成品纸箱的用量为0.33333,那么300个成品用量为99.999个,而实际需要却是100个,造成了系统统计数据与实际数据的误差。同样,在ERP的财务模块中,也常常遇到这样的问题而造成账目不准。如何解决这样的问题?笔者根据自己的工作经验,总结出两种解决办法与读者共享。
解决方法一:手工计算,修改数据
通过物料需求计划,人为计算出物料需求量后,把系统中的小数数据,根据实际需求量手工修改成整数。这样做的优点是:
① 无需额外增加开发费用。目前市面上成熟的ERP系统大多数采用的都是小数计算物料需求,通过手工计算,修改系统数据,就不用对ERP系统进行个案开发,从而节省开发费用。
② 采用这种办法,在ERP系统选型时,无需考虑系统是否解决了"分数问题"或者可以通过二次开发来解决这个问题,从而使企业在ERP选型时拥有更多的选择。
但同时这种解决办法也有一定的缺点,主要表现在:
① 加大了业务人员的工作量。若这种存在"分数问题"的数据少还可以,但一天若有数十张乃至上百张这样的单据需要修改,就会为业务人员带来巨大的工作量。
② 导致人为因素增加,提高了出错概率。人难免有疏忽,况且往往一个单据的改变会牵扯到采购单、领料单、成本计算等多个方面,大大增加了系统中的人为因素,导致系统风险增加。
解决方法二:模拟分数运算
在物料清单(BOM)里有三个字段,第一个是基数,表示是以多少数量为基准来计算单位用量;第二个是基数用量;第三个是单位用量,表示一个成品实际需要多少用量。我们以一个纸箱装三个成品为例,基数设为3,基数用量设为1,则单位用量的计算公式为:基数用量/基数,即1/3=0.333333……
按照这种计算方法,我们在计算材料需求量的时候,即可进行模拟运算:材料需求量=生产数量/基数*基数用量。只要实际工作中,不出现小数的情况,在系统计算中,也不会出现。举例说明:
生产300个成品,一个纸箱装3个成品,若不按模拟分数用算,结果是:
一个成品需要的纸箱数量为:1/3=0.333333……(个)
需要纸箱总量为:300*0.333333=99.99(个)。
而如果按模拟运算,需要纸箱的总量则是:300/3*1=100(个)。
可见,通过模拟运算可以解决一些"分数问题"。但如果有"尾数箱"存在仍然会出现问题。
如以生产301个成成品,最后一个箱子只能装一个成品,则需要纸箱的总量是:301/3*1=100.333333……(个)
由此可见,只要实际情况下不存在尾数的情况(针对这一情况,笔者会有专门文章讨论),系统即可精确计算出物料需求量,不会出现小数的情况。从而减少手工修改的工作量,降低人为因素带来的风险。然而市场上拥有这种模拟运算功能的ERP产品仍然不多,如果没有这种功能仍然需要个案定制,从而加大实施成本。