问题是这样的:
1,客户A首次购买,销售单号为1,付款方式为签单,金额为1000,此时,客户A的欠款金额应为1000,销售单中的‘未收金额’也为1000,
2,客户A再次购买,销售单号为2,付款方式为现金,
3,客户A前来退货,退了销售单2中价值200元的商品,退款的方式也为签单,那么此时客户A的欠款金额应该为800。
4,问题来了:假设客户A总共就产生过这么两张单子,那么客户A实际欠款为800元,而所有销售单中的‘未收金额’相加却为1000元,出现了偏差。那么,在收客户欠款的时候,按照客户收和按照销售单列表来收的时候,就会存在金额不一致的问题,而客户要求这两种收款的方式都要有。请问大家都是如何来处理这个问题的?
或者是我在设计上存在问题?我是销售单和退货单分开保存的。

解决方案 »

  1.   


    思路没问题,零售业POS销售系统中常规都是将单据分开,销售、退货、进货、直送、配送。只不过你处理
    逻辑可能有些问题,这个是销售转财务模块常出现的事情。把业务逻辑梳理清楚,肯定是你处理逻辑上
    存在问题
      

  2.   


    通过对支付方式进行判断,退货金额用负数存储,这样在列出客户的金额时按支付方式汇总
    通过DGBGRID显示,增加合计列自动计算所有支付方式的和,行中是对单支付方式的汇总
    列中是对总金额汇总
      

  3.   

    这个是你设计思路问题,可以在DBGRID里面加判断,用一列做判断单据的类型,销售退货,采购进货等类似的单据判断就能解决。