进销存中加权价在有负数这种情况下怎么处理
2008-10-20 10:29
246 查看
进销存中加权价在有负数这种情况下怎么处理 Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiDB/html/delphi_20061224180508129.html
按正常的计算方法加权价应该是
新加权价=(库存*加权价 + 新增数量*单价)/(库存+新增数量)
可有时库存出现负数时还是这样计算的话,新加权值似乎跳动很大,有时用户也希望新增数量可以写成负数,表示是退货,这样计算出来也似乎有问题,大家遇到这种情况是怎么处理的?
价格不应该为负数的,可以这样
新加权价=(库存*加权价 + 新增数量绝对值*单价)/(库存+新增数量绝对值)
这是你感觉可以这样计算的还是在实际使用时就是这样计算的?我没有学过财务,拿不定注意。库存是负数的时候要不要把库存取个绝对值再计算呢?
按正常公式计算没问题的,正常公式
新加权价=(库存*加权价 + 新增数量*单价)/(库存+新增数量)
实际上是
新加权价=(库存总额 + 新增商品总额)/(库存数量+新增数量)
正常情况下,库存总额不应该为负数,如果出现负数,说明管理有问题,也就是库存商品出现短缺或者损毁,正常计算可如实反映这一问题。至于退货情况,新增商品为负数很正常啊,如果库存商品不足以退货,那么实物帐务也无法处理(没那多库存商品,怎么退?),只能等待,这并不矛盾。取绝对数肯定是错误的。
补充:在财务上,如果确实出现库存商品严重短缺或者损毁,财务上可通过盘点审计后正常报损,并重新调整帐务的。
如按楼上说的那样做,那是不是在退货时要判断库存是不是满足退货数量、销售出单时是不是要判断销售数量是否不超过库存数量?如果不满足就提示停止操作吗,能不能让用户先出单回头再来补上进货单呢?
如按楼上说的那样做,那是不是在退货时要判断库存是不是满足退货数量、销售出单时是不是要判断销售数量是否不超过库存数量?如果不满足就提示停止操作吗,能不能让用户先出单回头再来补上进货单呢?
===================================================================================
在实际操作中,不会出现你说的情况。
如果是购进商品,企业购进100件商品,发现有问题或不适用,显然是企业要找供货方退货,如果因使用或者损毁只剩下80,那么肯定只能退掉80,其它就没法退了,只能索赔等;如果是销售商品,拿来退的是客户,新增商品只能是增加。
补充:所以出现负数的情况一般只能是商品损毁、丢失或者商品串户造成的,企业财务会通过定期或不定期盘点解决的。
谢谢阿发伯,看来我可以放心用
新加权价=(库存*加权价 + 新增数量*单价)/(库存+新增数量)
来计算了。
http://www.delphi2007.net/DelphiDB/html/delphi_20061224180508129.html
按正常的计算方法加权价应该是
新加权价=(库存*加权价 + 新增数量*单价)/(库存+新增数量)
可有时库存出现负数时还是这样计算的话,新加权值似乎跳动很大,有时用户也希望新增数量可以写成负数,表示是退货,这样计算出来也似乎有问题,大家遇到这种情况是怎么处理的?
价格不应该为负数的,可以这样
新加权价=(库存*加权价 + 新增数量绝对值*单价)/(库存+新增数量绝对值)
这是你感觉可以这样计算的还是在实际使用时就是这样计算的?我没有学过财务,拿不定注意。库存是负数的时候要不要把库存取个绝对值再计算呢?
按正常公式计算没问题的,正常公式
新加权价=(库存*加权价 + 新增数量*单价)/(库存+新增数量)
实际上是
新加权价=(库存总额 + 新增商品总额)/(库存数量+新增数量)
正常情况下,库存总额不应该为负数,如果出现负数,说明管理有问题,也就是库存商品出现短缺或者损毁,正常计算可如实反映这一问题。至于退货情况,新增商品为负数很正常啊,如果库存商品不足以退货,那么实物帐务也无法处理(没那多库存商品,怎么退?),只能等待,这并不矛盾。取绝对数肯定是错误的。
补充:在财务上,如果确实出现库存商品严重短缺或者损毁,财务上可通过盘点审计后正常报损,并重新调整帐务的。
如按楼上说的那样做,那是不是在退货时要判断库存是不是满足退货数量、销售出单时是不是要判断销售数量是否不超过库存数量?如果不满足就提示停止操作吗,能不能让用户先出单回头再来补上进货单呢?
如按楼上说的那样做,那是不是在退货时要判断库存是不是满足退货数量、销售出单时是不是要判断销售数量是否不超过库存数量?如果不满足就提示停止操作吗,能不能让用户先出单回头再来补上进货单呢?
===================================================================================
在实际操作中,不会出现你说的情况。
如果是购进商品,企业购进100件商品,发现有问题或不适用,显然是企业要找供货方退货,如果因使用或者损毁只剩下80,那么肯定只能退掉80,其它就没法退了,只能索赔等;如果是销售商品,拿来退的是客户,新增商品只能是增加。
补充:所以出现负数的情况一般只能是商品损毁、丢失或者商品串户造成的,企业财务会通过定期或不定期盘点解决的。
谢谢阿发伯,看来我可以放心用
新加权价=(库存*加权价 + 新增数量*单价)/(库存+新增数量)
来计算了。
相关文章推荐
- 构造相同hash的字符串进行攻击,这种情况应该怎么处理?JDK7如何处理?
- 执行 install.sh --clang-completer时候出现这种情况请问怎么处理?
- web的get请求中一个key有多个值的情况django是怎么处理的
- JAVA中怎么处理高并发的情况
- 编写一个程序,求输入数的平方根。设置异常处理,对输入负数的情况给出提示
- hashmap有没有多个key相同的情况?多个key相同怎么处理?
- [Selenium]对于某些对话框即有可能弹出来,也有可能不弹出来,这种应该怎么处理呢?
- mysql 插入数据时,出现"\xF0\x9F\x8F\x80"这种情况的处理!
- 字符串的截取 subString!!!怎么是这种情况!小心笔试遇到这种情况!
- 怎么处理这种关系
- mysql 插入数据时,出现"\xF0\x9F\x8F\x80"这种情况的处理!
- 异常信息:CLR无法从COM 上下文0x645e18 转换为COM上下文0x645f88,这种状态已持续60秒。拥有目标上下文/单元的线程很有可能执行的是非泵式等待或者在不发送 Windows 消息的情况下处理一个运行时间非常长的操作.这种情况通常会影响到
- 当遇到处理复杂业务逻辑的情况,使用了hibernate,你是怎么处理的?
- 郁闷的项目实施--如果你遇到这种情况,你会怎么办?
- Hadoop切分纯文本时对某一行跨两个分片这种情况的处理
- 使用spring的事务控制,这种情况如何处理呢
- 异常信息:CLR无法从COM 上下文0x645e18 转换为COM上下文0x645f88,这种状态已持续60秒。拥有目标上下文/单元的线程很有可能执行的是非泵式等待或者在不发送 Windows 消息的情况下处理一个运行时间非常长的操作.这种情况通常会影响到性能,甚至可能导致应用程序不响应或者使用的内存随时间不断累积
- 练习 3-4 在数的对二的补码表示中,我们编写的itoa函数不能处理最大的负数,即n等于-2^(字长-1)的情况。请解释其原因。修改该函数,使它在任何机器上运行时都能打印出正确的值。
- 在jsp中出现异常后应该停止往下执行的情况,怎么处理?
- 遇到这种情况,你会怎么做?