|
问题现象:在用友8.52erp系统中用友U8版本号:U8.52软件的财务系统产品线应收模块出现如下问题:软件版本是用友U852erp系统,已打上hotfix和应收应付补丁。在应收中做核销折扣金额是7422元,做完后在明细账中查询出来却是9402.2元。并且在用核销制单时凭证金额也不正确。请帮忙解答!
原因分析:同解决方案。
解决方案:在用友erp 系统版本U8.52软件中/*核销产生错误的原因是由于去年的发票核销记录有问题。举例:某发票有两笔记录存货A100存货B100。做收款单200,正常核销后发票子表的回款金额(imoneysum,iexchsum),和发票金额(isum)一致。但是你的数据中确存在不一致的记录。表现为存货A回款金额(imoneysum,iexchsum)为200,而存货B的回款金额为0。应收系统在年度结转时将发票未回款部分结转到下一个年度的AP_DETAIL表中。造成了数据错误。详细说明一下:若选项为库存生单,若某发票已经核销,但是还没有形成出库单,年度结转后,应收应付明细(AP_DETAIL)表中不会存在记录。发票表(salebillvouchs)表中有所有记录。发票主表的csource为“销售”。发货单表(dispatchlists)中有记录。这些记录用于下年生成出库单。若已经生成的销售出库单,未核销则AP_DETAIL表和销售发票(salebillvouch)表有相关记录。用于核销。发票主表的csource为“应收”。另外01004001客户的期初余额200511094号发票有问题。但是已经形成的凭证。请和客户确认如何修改。下面是调整过程*/useufdata_002_2006/*1、首先找出回款金额大于发票金额的记录*/selectsbvid,abs(imoney)发票金额,abs(imoneysum)回款金额,*fromsalebillvouchswhereabs(imoneysum)>abs(isum)selectccuscodeas客户,csbvcodeas发票号,csource,*fromsalebillvouchwheresbvidin(selectsbvidfromsalebillvouchswhereabs(imoneysum)>abs(isum))/*2、更新部分核销的发票错误记录*/UPDATEsalebillvouchsSETimoneysum=496.34,iexchsum=496.34WHEREautoid='3074'ANDcinvcode='0201023'andisum=496.34UPDATEsalebillvouchsSETimoneysum=992.68,iexchsum=992.68WHEREautoid='3075'ANDcinvcode='0201023'andisum=992.68UPDATEsalebillvouchsSETimoneysum=1341,iexchsum=1341WHEREautoid='3076'ANDcinvcode='0301038'andisum=1341UPDATEsalebillvouchsSETimoneysum=610.82,iexchsum=610.82WHEREautoid='3077'ANDcinvcode='0301038'andisum=1072.8/*3、更新应收应付错误记录*/deletefromap_detailwhereiperiod=0andcvouchtype='27'andcvouchid='2005110766'andibvidin('3074','3075','3076')goupdateap_detailsetidamount=isum-imoneysum,idamount_f=isum-imoneysum,idamount_s=(isum-imoneysum)/ipricefromap_detailajoinsalebillvouchsbona.ibvid=b.autoidandb.sbvid='801'/*4、下面的发票已经全部核销不应该结转*/deletefromap_detailwhereibvidin(selectautoidfromsalebillvouchswheresbvid='804')/*5、同时更新发票子表记录*/UPDATEsalebillvouchsSETimoneysum=isum,iexchsum=isumWHEREsbvid='804'updatesalebillvouchsSETimoneysum=isum,iexchsum=isumWHEREsbvid='919'updatesalebillvouchsSETimoneysum=isum,iexchsum=isumWHEREsbvid='932'updatesalebillvouchsSETimoneysum=isum,iexchsum=isumWHEREsbvid='915'/*6、下面的发票是由于尾差问题造成的,明年就没有了*/updatesalebillvouchsSETimoneysum=isum,iexchsum=isumWHEREsbvid='102'使用前请先备份数据。
|
|