|
问题现象:在用友U8erp系统中用友U8版本号:U8软件的供应链产品线存货核算模块出现如下问题:821存货系统查收发存汇总表,包括已记帐及未记帐单据,业务发生状况所有,按明细级汇总,选择8库,结存数量及结存金额均为0,查询出的数据为空。请帮忙解答!
原因分析:经检查发现材料出库单的9521存货共有88条记录,包括44条数量为0.03及44条数量为-0.03的记录,合计应为0。其中‘ltrim(str((casesum(OutQuantity)when0thennullelsesum(cast(str(OutPrice,20,2)asdecimal(20,2))+OutDif)/sum(OutQuantity)end),20,2))as发出单价’表达式由于系统判断的该存货的近似值为-2.7755575615628914E-17,所以在sum(cast(str(OutPrice,20,2)asdecimal(20,2))+OutDif)/sum(OutQuantity)时算出一个超过20位长的结果,而str函数指定位长为20位,所以最终得到一个‘********************’的字符串。如果该表达式象计算结存单价一样,将float转换为decimal即‘cast(sum(outquantity)asdecimal(20,2))=0thennull’应不会出现上述结果。由于以上问题导致执行如下语句(部分),系统报错:将数据类型varchar转换为float时出错。最终导致查询收发存汇总表的数据为空。
解决方案:在用友erp 系统版本U8软件中现已有补丁解决。安装补丁前请做好数据备份如出现问题请联系当地服务商。
|
|