这涉及到数据库设计问题,以及以后编程的难易程度;物料是一个表,对于每个物料,可能有不止一个计量单位,每种计量单位之间都有一个换算率,这样的数据库表如何设计,以后编程时会否容易实现;不知道SAP、用友、金碟这些软件是如何实现的?我没有用过这些软件,如果哪位知道告诉一下!我自己想了一下,有几种方式:一是,将物料设计一个表,多个计量单位直接用字段表示,多预留几个,以防备用;二,将物料设计一个表,计量单位再设计成另一个表,这样可能增加编程的难度;是否有人知道SAP、用友这些大的ERP厂商是如何解决此类问题的?

解决方案 »

  1.   

    按3楼的说法,同一种物料,按不同的计量单位计算,你们遇到过吗?
    即,同一种物料,有按重量的,如公斤、吨,有按包装的,如包、盒,有按长度的,如米、厘米
    哇,这样,太复杂了表设计的时候,应该没有问题,但会牵涉到编程的难度,你们考虑过如何实现这样的编程吗?比如在统计各种报表,做BOM运算时,等等问题。
      

  2.   

    sap 有个计量单位种类 有个计量单位 对于物料还有个物料的替代计量单位
    计量单位种类中有一堆指数 如:长度指数、质量指数、时间指数、电流指数、温度指数、物质的量指数 、亮度指数 如长度 长度指数为1 其他指数为0 以此来表示所有的计量单位种类 还有一种叫离散的种类 他所有的指数都是0 如 把 包 堆 罐 这些彼此之间没有转换关系的计量单位种类 计量单位种类中还有个基准计量单位 ,如长度种类 可能基准计量单位是m 
    计量单位表 包括(转换到 基准计量 单位的)分子 、(为转换到 基准计量 单位)分母 转换基准计量单位指数 以及附加常量 用这些来表示当前计量单位和基准计量单位的转化关系
    物料的替代计量单位 包括物料号 替代计量单位 转换的分子和转换的分母 可以在物料基本数据中定义基本计量单位 替代计量单位中定义替代计量单位和基本计量单位的转换关系 使用分子和分母来表达这种转换的关系 在使用的时候 可以使用替代计量单位中存在的计量单位 用分子和分母来计算它和基本计量单位的换算关系
      

  3.   

    TO:# srgcc(晨钟鸣),是否可以这样理解:物料表(wlb):物料编号|计量单位组|基本计量单位
                其中计量单位组存储计量单位组表里的组名编号,基本计量单位也是如此;计量单位组表(jldwz):编号|组名|单位
                如 01 重量 公斤计量单位表(jldw): 物料编号|计量单位组编号|计量单位|与基本计量单位换算率|出入库单中再增加两个字段:基本计量单位数量|计量单位组数量
               其中计量单位组数量与物料表中设定的计量单位组相对应谢谢!
      

  4.   

    出入库单中再增加两个字段:基本计量单位数量|计量单位组数量 
              其中计量单位组数量与物料表中设定的计量单位组相对应 
    这个理解的不对,出入库单中的数量有:基本计量单位数量和目前你选用的计量单位的数量(不是计量单位组的数量)。举个例子吧:计量单位组表:编号  组名  基本计量单位
                    1   001      KG
    计量单位表:编号    组号   单位  与基本单位换算率
                  1       1    KG       1
                2       1    PCS      12 
                3       1    Ton      1000
    物料表:   编号   物料代码  计量单位组 默认计量单位
                 1      XXX       1        1入库单表: 单据编号   物料编号  基本计量单位数量  计量单位 数量
                IN001       1           1000        3     1这样明白了吧? 入库单中的单位是Ton,数量是1,所以基本计量单位的数量就是1000了。
      

  5.   

       计量单位组表,是否就是如11楼sansa说的,好象SAP中的计量单位种类表,这个建立的数据是按照计量单位种类来划分的,比如表示重量的划为一类,表示长度的划为一类?还是有其他的依据?
        计量单位组表包含以下字段:编号|组名|基本计量单位
                            数据如:1 |重量|公斤
                                    2 | 长度|厘米
                                 ..................
        计量单位表,此表主要为存储计量单位表中的各种计量单位和其与基本计量单位的换算关系,此表的字段有:编号|组号|单位|与基本单位换算率
        其中组号,对应“计量单位组表”中的编号。
        
        物料表,此表主要字段为:编号|物料代码|计量单位组|默认计量单位
         此表中,“计量单位组”对应的是“计量单位组”表中的编号,“默认计量单位”对应的是“计量单位表”中的编号。这样设计,如果两个物料都属于同一个计量单位组,那么他们只能拥有相同的基本计量单位了?     入库单表,中存储了数量和基本计量单位数量,这个好理解!
    ==================
    以上的问题是,假如按上面的设计,相同计量单位组的物料,就不能有两个基本计量单位了?这样理解是否正确?        
      

  6.   

    物料表:(物料ID),物料名称,...
    计量单位表:(计量单位ID),单位名称,...
    物料-计量单位表:(物料ID,计量单位ID)
    换算率表:(计量单位ID1,计量单位ID2),换算率
    物料换算率表:(物料ID,计量单位ID1,计量单位I,2),换算率其它不需要解决,只说一下4 5为何都需要有
    有些换算率是固定的,比如米-厘米就是100,这种必须放在表4中(如果放在表5中,会产生非常多重复记录并且不满足2NF)
    有些换算率是不固定的,比如箱-盒换算根据物料有所不同,就必须使用表5的结构
      

  7.   

    phommy (顽石宫主) 与 srgcc (晨钟鸣) 的思路是有点不同,在 srgcc (晨钟鸣) 的方案中,需要有一个基本计量单位,所有其他的计量单位在输入单据时都换算成基本计量单位存入数据库中,在出入库这样的单据中,要建立两个字段,一个是基本计量单位的数量,一个是默认的数量;在phommy (顽石宫主)的方案中,不需要基本计量单位,在出入库单据中,只需要一个数量字段,只是在做报表时,再用程序换算成所需要的计量单位数量。以上两种方案,还要牵涉到BOM的运算,比如配方型的BOM的商品的单位是1吨,所需要原料的计量单位是KG, 1吨的商品里,需要哪些多少原材料,这些原材料以KG来表示,这样可以完成一个BOM的关系。还有其他的想法,关于BOM运算的,希望各位多发表一下意见!具体需要设计成多少张表,才最科学,最符合实际的应用需求!