ERP设计感悟
很多年没有写ERP了, 今天跟一个ERP顾问聊天, 感觉自己在ERP上面的一些感悟, 一直埋在心里.
1. 物料设计, 大部分的ERP采用一物一编码的原则,哪怕是两个物料有一点点不同(例如颜色,尺码,长度,大小,方向,材质,长度等稍为不同就编一个物料编码), 这样设计虽然做到物料编码的唯一性,但在某些行业会造成物料数量成倍成长,仅仅是数量成长倒无所谓,由于物料系统是ERP最基础的资料,会造成后续的报价系统, 仓库系统,BOM系统,成本系统等非常麻烦, 例如颜色不同,可价格是相同的,按照物料编码唯一性,不同的颜色都需要报价,否则系统找不到单价; 仓库系统的库存管理会带来一些麻烦,在某些行业, 不同规格的物料是可以互相转换,例如长的,可以变成短的,甚至短的接起来能变成长的, 物料可以互相替换, 查询某一类型的物料比较麻烦. BOM设计会带来非常不方便,只要一点不同需要设计不同的BOM, 其实可以设计一个公用BOM,不同属性可以由可选BOM组合. 根据自己的想法,物料设计可以改成 物料编码 + 规格编码为关键字, 这样可以避免上述问题, 物料编码代表相同属性, 规格编码代表差异属性.
2.主从表, 这些ERP常用的单据设计方式, 一个单据包含一个单头主表,单身明细表, 这些的设计有一个不足的地方, 当明细表是经过合并出来的数据, 数据来源无法追踪, 例如采购计划单, 采购明细A001物料是来由5张销售订单生成的,当其中的一个销售订单取消或者更改数量, 无量做到取消采购明细, 也无法根据一个销售订单来查询其相关的采购单,收货单,发票单, MRP计划单, 因为数量合并后就失去联系了, 根据自己的想法, 主从表, 应该添加一个明细子表, 采用主,明细,明细子表三层单据设计, 来保证来源明细清楚. 有据可查.
3. 仓库, 客户,供应商等对象表, 正常的设计思想, 只会考虑到实体的,长期的现象, 其实在ERP设计过程,应当需要考虑异常情况, 例如仓库, 当生产入库超单时,多余的数量如果只允许入超单仓库(虚拟的), 这样的话,就很容易做到在下生产订单时,查询超单仓库有没有库存就可以了.采购超单也可以入超单仓库, 从管理角度只要重点关注异常情况就可以了. 客户也有长期客户,临时客户, 虽然是同一个客户,也有可能不同的下属分公司,也存在客户营业执照变更等情况, 如果都要新增一个客户档案的话,后续的报价,信用额度设定,交易额合并查询等都比较麻烦,感觉如果这些对象都设计成正常与例外情况. 由编码 + 附加码组成关键字, 比较容易解决这些问题, 例如仓库就有对应超单仓库,临时客户就可以是一个客户, 由附加码来区分不同的临时客户,同一个实体客户,不同的营业执照的情况可以用附加码来区分,这样的话,整个系统对象就比较少,特别对合并查询, 分开查询非常方便, 也不为因为主对象的变更,需要重新设定与主对象相关的内容.附加码还可以采用有效期来控制,有附加码必须选择来控制数据的严谨性. 这种正常 + 例外设计思想可以应用于很多主体对象的设计.
....
写到这里,想起来曾经为ERP冥思苦想的岁月.
------解决方案--------------------------解决方案--------------------感悟各不相同,设计也各不相同,取舍与权衡也各不相同而已
只要最符合企业管理需求即可。即使有些企业需求是不够合理与理想
因为还涉及很多使用者、管理者的问题,可能他们的思维与思路也会影响系统的设计与企业的实际运作
一个系统不仅仅是技术,就像闯江湖不仅仅凭武功高低一样
------解决方案--------------------------解决方案--------------------