【IT168 专稿】 物料清单(BOM)是ERP系统中的核心内容之一。其设计的好坏直接关系到ERP系统运用的好坏。笔者认为在ERP系统设计时,需要兼顾实用性与准确性。在这篇文章中,笔者就跟大家谈谈BOM物料清单设计过程中的注意点。
1. 输入界面的设计
在物料清单的设计过程中,笔者一向强调输入界面与查询界面的分离。输入界面强调的是输入的准确性;而查询界面则关注的是物料清单的实用性。简单的说,在输入界面中,相关的内容要尽量的少。如此的话,才能够提高其准确性。如一个简单的物料清单,用户只需要输入零件编号与用量即可。如下图所示。而不需要关注更多的内容。如价格或者供应商等信息。
在物料清单输入界面设计时,主要需要注意如下内容。
一是输入内容合法性的验证。如在输入用量的时候,只能够输入大于0的数字。如果用户输入的是字符或者小于0的数据,则系统就会自动报错。通过这种方式,就可以提高系统数据的准确性。
二是对于默认值要谨慎使用。有些开发人员在开发物料清单模块时,喜欢在用量这里使用一个默认值,如默认情况下用量为1。他们这么设计,本意是好的。因为如果用量确实为1的话,就可以减少用户输入的工作量,从而提高用户输入的效率。但是这里存在着一种安全隐患。如上图所示,一共有三个材料的用量是1。那么我们就会有疑问,这个1的数量是否准确呢?是用户忘记输了这个用量还是其用量确实为1呢?其实根据笔者的经验,如果设置了默认值的话,用户很容易在这里出错误,如忘记输了,而系统自动采用了默认值。故笔者建议,除非企业绝大部分材料的用量都是1,否则的话,最好不要在这个物料清单的用量上设置默认值。如果不设置默认值,而用户又没有输入数据的话,则在保存时系统会提示错误信息。这也是提高物料清单准确性很重要的一个手段。
三是物料清单的审核。物料清单一般输入完毕后或者更改后都需要进行审核。也就是说,只有审核后的物料清单才能够被其他用户使用。在实际开发中,有不少开发人员会忽视这一点。如现在物料清单中某个零件的用量发生了变化或者新增加了一个零件之后,物料清单的状态没有自动变为不可用。这也会带来一定的安全隐患。如现在上面100520这个零件,其用量变为了50。不过更改后这个数据还没有经过确认。在采购计划中就根据这个新的数据生成了采购计划。而以后如果更改者发现这是自己的笔误,再将数据改回去。那么后面一系列的数据都会出现错误。为此,笔者在设计物料清单时,都会在这里设置一个开关。只要用户在物料清单中更改了数据(包括数量的变化与零件的变化),就会亮“红灯”。在其他模块中暂时不能够利用这个物料清单。只有用户重新审核后,才会亮“绿灯”。即用户可以重新使用这个物料清单。这么设计,可以在最大程度上降低用户的误操作。
2. 查询界面的设计
上面这个截图是一个输入界面的设计,简单明了,有利于用户的输入。但是对于其他用户来说,实际的价值并不是很大。如对于财务部门来说,他们可能希望看到某个零件到价格;对于采购部门来说,他们希望看到供应商的相关信息;对于仓库来说,他们希望知道这里原材料的类别,如哪些是零件、包装材料、辅助材料等等。这些信息在物料清单的输入界面中都没有反应出来。用户如果需要了解这些信息,必须回到产品界面去查询具体的信息。显然这不利于企业员工的工作。总之光有输入界面,对于用户的实际价值并不是很大。为此笔者在ERP系统设计时,专门为物料清单设计出了一个查询的界面。其示意图如下:
在设计这个物料清单时,主要注意如下内容。
一是用量的显示。这里的用量笔者并不是以数量的形式显示,而是以分数的形式显示。这主要是为了便于用户的阅读。如对于包装材料,如一个纸箱。在一个纸箱里可能会装有三个产品,那么其用量就是0.33333。这不便于用户的阅读。他们更习惯与用1/3来表示这个用量。而且这还有一个好处,就是在运算的时候,不会出现误差。如现在总共有30个产品,那么需要多少数量的纸箱呢?如果按照0.3333来计算的话,那么就需要9.9999个纸箱。这中间就会有误差,需要用户尽心手工修改。相反,如果使用1/3的话,那么计算出来的数量就是10个。不过这里需要提醒各位读者的是,现在大部分数据库中都是不支持分数的表示的。为此在这里可能需要采用一个折中的方式,即需要使用两个字段来代表分子与分母。
二是供应商字段的设计。有可能一个零件有多个供应商。此时在这里该如何显示呢?是显示全部供应商的信息还是显示一个特定供应商的信息呢?这是需要考虑的一个问题。如果显示多个供应商,又有两种具体的方式。一是一个供应商一行。这有一个不好的地方。如果一个零件有5个供应商,那么在这里就会显示5行。如此可能就会引起用户的误解,因为这个产品中有5个相同的零件。所以这种方法就被咔嚓掉了。还有一种方式就是列倒转的方式。就是将多个供应商的信息显示在一行中。这种方式在技术上是可行的。但是在实际工作中也没有多大的意义。笔者这里推荐的方式是,根据某个特定的规则来显示供应商。如一个零件虽然可能有多个供应商,但是企业往往会指定一个为当前的供应商。在后续采购或者计算材料成本的时候,默认采用的都是这个供应商的相关信息。那么在这个物料清单中,就可以显示这个当前供应商的信息,而不用显示所有供应商的内容。笔者认为这可能更加的合理。
三是价格的问题。在物料清单查询中,还会带出价格与单项成本等内容。现在的问题是,如果一个产品中有多个零件构成,而他们采购的币种不同,又该如何处理呢?这里也有两种处理方式。一是在带出价格的同时也带出其采购的币种。这可以让用户一目了然的看到其采购使用的是什么币种。不过这有一个缺陷,即如果员工需要统计材料成本的话,还需要手工转换为本位币进行核算。还有一种方式就是在查询时就根据特定的汇率来进行折算。也就是说在这个界面中显示的单项成本都是用本位币来计量的。这么操作也有一个缺陷,就是折算率如何来确定。是根据当前的即时汇率折算还是根据期初汇率折算呢?一般情况下,这可以根据系统的设置中得到这个信息。
四是原材料的种类问题。大部分生产企业,都会将原材料分为零件、包装材料、辅助材料等等。然后根据材料的种类不同,分别将其放置在不同的仓库。为了便于用户的查询,在这个界面中最好将原材料的类别也显示出来。另外,在计算材料成本的时候,有可能也需要统计包装材料的成本、零件的成本以及各自在成本中所占的比率等等。此时也需要用到这个界面。