查收发存汇总表有个仓库按明细级汇总,查询出的数据为空 问题描述: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 浏览 分类 U8知识库用友U8知识库(旧)畅捷通知识库用友NC知识库用友U9知识库用友政务知识库致远OA知识库U8Cloud知识库