各位高手,今天在设计进销存的表结构时遇到如下问题:一条香烟有10包,那么来了一批货,有时并不是完整的条,有可能分开的,比如11条5包,录入是如是11:05,当我录入好多数据时,想对之进行统计,而当11:40时代表11条40包,这是我得转成这个数据15条,这样当我统计很多的数据时,岂不是要对每条数据进行转换,请问有没有什么更加好的方法?请大家激烈讨论,谢谢!

解决方案 »

  1.   

    同意My_first(小@_@小)的,
    或者录入时同时保留大单位和小单位,库存为小单位
      

  2.   

    谢谢各位的参与,假如我通过sql语句统计出这样一批数据(假设1打12件)
    12.03
    11.12
    23.23
    11.01
    33.99
    ...
    ...
    (假设数据很多)
    但我要显示的是
    12.03
    12.00
    24.11
    11.01
    41.03
    ...
    ...
    难道得对每条记录都进行一次转换吗?这样的效率会不会很低?
      

  3.   

    根据ERP的理论,要有一个专门的单位管理,然后在做所有的进销存的时候要有多单位管理,如:入库单位为打,而销售时单位为“包”,或是为“支”这要求你得先做好这个模块了
      

  4.   

    楼主,在定商品基本了信息表的时候加了三个字段,分别为大单位,小单位,数量
    关系了比如大单位为:条
    小单位为:包
    数量关系为:10然后在入库,调拨,采购,销售的模块里录的时候能让用户了选择单位用一个COMBOBOX组件来选择了现在咱们来模拟操作一下入库过程比如我的入库单上注明了1条1包的数量
    那我入库在选择单位的时候我选择了大单位(条),然后打入了数量1
    这时电脑就自动算好10包,并把10填到入库数量那里,然后入库人员不用自己算了
    再把入库数量10改为了11
    最后存盘把11也就是最小单位存进去了总之,咱们编程得把必要的功能都得做好,至于操作呢最好让客户能围绕咱们编
    出来的软件进行日常工作
      

  5.   

    计算的最好时机是什么时候?一般用户要求是录入方便,又要直观.又不能在报表等太久.但是用户录入的速度比较慢, 所以最好在用户录入时来做转换.我们的实现方式是:
    品号基本资料有:
      单位(这个就是库存单位---如:条, 作为库存单位的最好不要是最小单位), 
      小单位(这个就是大家所说的---包)在入库单等交易单据中, 输入的方式为(数量): 单位数量.小单位数量
    如:
       11条5包就输入: 11.005
       
    存入时, 就会根据单位与小单位的换算关系存入: 11+5/40=11.125
    在读出时, 再换算回来: 11.005这样在报表中就可以直接读数据了.不过, 这样的问题还有: 在打明细表时客户还希望看到11.005的格式
    所以, 两种形式都存在要转换的问题.一定要转换, 那你可以选择如果提高转换的速度了.
    你可以在数据库中存11.125的格式, 也可以存11.005和格式.转换最好借助数据库来做...sql Server中有UDF, 用来起做这种事最好不过了...呵呵, 一点小看法.
      

  6.   

    其实,在做医院管理系统时最常遇到这个问题了,比如,病人这一次领药为:1瓶20片。药品的单位问题是很麻烦的。记得我们当时的处理办法是:在药品信息中就保留两个单位,一个叫整装单位,如“瓶”,“盒”;一个叫分装单位(或最小单位),如“支”,“片”,等。而且,还有个叫“换算关系”的字段,它指明两个单位的关系。如一瓶=100片,这个100就是换算关系。当用户输入时,就显示为”_瓶_片”的样式,用户很好理解,在程序中也好存储,因为有“换算关系”这个字段,无论何时求最小单位的数量值都是很好办的,而且,在查询、报表中无论显示为“X瓶Y片”,还是“X.Y瓶",还是“X*100+Y片”的形式都是容易的。
    最好不要让用户输入“11.005"这样的数据。呵呵。直观、易用应该是我们的要求啊!我们最好能适应用户。希望对你有帮助。