|
问题现象:在用友8.60erp系统中用友U8版本号:U8.60软件的供应链产品线销售管理模块出现如下问题:1、在《销售管理》中,查询发货单列表时,发现发货单单据,对应的开票数量相等,开票金额为负数,通过单据联查发货单对应的出库单、对应的发票都是正常的,但在此列表中显示为负值,不知是何原因?举例:发货单号为20050000004083,发货单金额为7819.46,而对应的开票金额为:-23458.442、、在《销售管理》中,销售订单数据被发货单参照完后,下次再作发货单参照时,已经补参照完的订单就不应再显示,但是系统仍然显示(显示的结果可发货数量为0),举例:客户编码号:SDYH,销售订单号:20050000003505,发货单号为20050000007652和20050000007653,但是再次选择发货单参照订单时,还显示,但可发货数量为0。请帮忙解答!
原因分析:1、问题分析:可能由于二次开发程序或其他原因导致发货单子表DISPATCHLISTS中isettlenum(累计开票金额)与对应发票上的实际金额不符所致,2、问题分析:销售订单子表SO_SODetails中iQuantity(数量)、iFHQuantity(累计发货数量)的小数值不等,程序在参照查询订单进行过滤时导致如下条件有效abs(isnull(so_sodetails.iquantity,0))-abs(isnull(so_sodetails.ifhquantity,0))end)>0,但iQuantity(数量)-iFHQuantity(累计发货数量)进行按6位小数四舍五入后为0,从而会将该订单过滤出来,但可发货数量为0。
解决方案:在用友erp 系统版本U8.60软件中1、解决办法:参照执行如下脚本修改发货单子表DISPATCHLISTS中isettlenum(累计开票金额)为“开票数量*原币含税单价”:updatebsetb.isettlenum=round(iSettleQuantity*iTaxUnitPrice,2)fromdispatchlistainnerjoindispatchlistsbona.dlid=b.dlidwhereround(isettlenum,2)round(iSettleQuantity*iTaxUnitPrice,2)andisettlenum0andround(b.iquantity,6)=round(b.ifhquantity,6)问题总结:您所提交的大部分问题都跟二次开发程序修改数据库有关,不建议采用自己开发程序直接修改数据库中的有关表、记录字段值,供应链模块单据的上下游关联性太强,一种单据有错,可能会导致下游多种业务处理时数据有误,甚至某些错误将无法修复。
|
|