用友-知识库

查收发存汇总表有个仓库按明细级汇总,查询出的数据为空

  • 问题描述:821存货系统查收发存汇总表,包括已记帐及未记帐单据,业务发生状况所有,按明细级汇总,选择8库,结存数量及结存金额均为0,查询出的数据为空。
  • 问题原因:经检查发现材料出库单的9521存货共有88条记录,包括44条数量为0.03及44条数量为-0.03的记录,合计应为0。其中 ‘ ltrim(str((case sum(OutQuantity) when 0 then null else sum(cast(str(OutPrice,20,2) as decimal(20,2)) +OutDif)/sum(OutQuantity) end),20,2)) as 发出单价’表达式由于系统判断的该存货的近似值为-2.7755575615628914E-17,所以在 sum(cast(str(OutPrice,20,2) as decimal(20,2)) +OutDif)/sum(OutQuantity)时算出一个超过20位长的结果, 而str函数指定位长为20位,所以最终得到一 个‘********************’的字符串。如果该表达式象计算结存单价一样,将float转换为decimal即‘cast(sum(outquantity) as decimal(20,2))=0 then null’应不会出现上述结果。 由于以上问题导致执行如下语句(部分),系统报错: 将数据类型 varchar 转换为 float 时出错。最终导致查询收发存汇总表的数据为空。
  • 解决方案:游客无权查看
  • 相关补丁:
  • 模块:存货核算
  • 产品:u821
  • 问题名称:查收发存汇总表有个仓库按明细级汇总,查询出的数据为空
  • 更新时间:2006-03-16 00:00:00
  • 有用 没用54 浏览