|
问题现象:在用友U8erp系统中用友U8版本号:U8软件的供应链产品线库存管理模块出现如下问题:1,现存量跟库存台帐不对;是何原因做成的啊???U821现存量错误的几种调整方法:1、使用整理现存量功能。2、整理现存量后,现存量依然不对,可到ufsystem数据库的ua_account_sub表中查看该帐套库存的启用日期是否正确。以999帐套为例,可执行语句select*fromua_account_subwherecacc_id=999andcsub_id=‘st‘andiyear=9999,如果没有此条记录,应手工添加。或者该记录上的dsubsysused启用日期不正确应改为正确。然后重新整理现存量即可。3、现存量错误不属于以上两种情况时,应重点查看st_totalaccount本年期初数量,因为整理现存量时是根据st_totoalaccount的本年度期初加减rdrecord/s累计收入发出计算的。rdrecord/s属于原始单据的记录,一般不会有错,所以应重点检查st_totalaccount本年度期初数量是否正确。4、如果只启用存货核算没有整理现存量功能,无法整理现存量。但是,我们可以利用系统管理的升级sqlserver数据功能,将帐套重新升级一遍,升级程序会进行现存量整理。以上办法只有第三,四种可以解决的。还有就是第三种办法改动后不知有没有其它方面的问题啊???第四种的方面我试过了,这种办法简单但是我这个用友不知何原因升级SQLSERVER后就出现这样的错误:在采购订单上打开就出现“下标越界---CITEMCODE”,确定后可以进入,但是当增加或修改后保存又出现这样的信息“订单号不能保存,请查看订单编号是否唯一,订单相关的编码档案是否存在,最大单据号表是否发生错误,然后再度一次”按放弃又出现“违反了primarykey约束aaaaapo_podetails-pk,不能在对象po_podetails插入重复键。---iInvexchrate.我现在最想知道是何原因做成的?可否告知你们还有那些办法好解决这个问题啊!!我想第四种办法好啊!请帮忙解答!
原因分析:应该是表定义被修改了,关键字约束错误造成的。
解决方案:在用友erp 系统版本U8软件中请确定是否只使用存货系统还是只使用了存货。办法2、3是可以使用的。办法四最好别用,根据提供的说明,应该是表定义被修改了,关键字约束错误造成的。第三种办法改动后不应该有别的问题。一般情况下用第二种办法就可以了。只使用存货系统可以使用如下语句调整现存量。DeleteFromCurrentStockdroptableTempCurrentStockSELECTcWhCode,cInvCode,CASEWHENcFree1=‘‘THENNULLELSEcFree1ENDAScFree1,CASEWHENcFree2=‘‘THENNULLELSEcFree2ENDAScFree2,iainquantityASiQuantity,CAST0ASFLOATASfOutQuantity,CAST0ASFLOATASfInQuantityINTOTempCurrentStockFromia_subsidiaryWherecvoutype=‘34‘groupbyia_subsidiary.cWhCode,ia_subsidiary.cInvCode,ia_subsidiary.cFree1,ia_subsidiary.cFree2,ia_subsidiary.iainquantityINSERTINTOTempCurrentStockcWhCode,cInvCode,cFree1,cFree2,iQuantitySELECTcWhCode,cInvCode,CASEWHENcFree1=‘‘THENNULLELSEcFree1ENDAScFree1,CASEWHENcFree2=‘‘THENNULLELSEcFree2ENDAScFree2,CASEWHENbRdFlag0THENiQuantityELSE-iQuantityENDASiQuantityFROMRdRecordINNERJOINRdRecordsONRdRecord.ID=RdRecords.IDWHEREcVouchType‘33‘ANDcVouchType‘34‘ANDRdRecord.dDate>=‘2001-1-01‘该日期为模块启用日期INSERTINTOTempCurrentStockcWhCode,cInvCode,cFree1,cFree2,fOutQuantitySELECTEnDispatchs.cWhCode,EnDispatchs.cInvCode,CASEWHENEnDispatchs.cFree1=‘‘THENNULLELSEEnDispatchs.cFree1ENDAScFree1,CASEWHENEnDispatchs.cFree2=‘‘THENNULLELSEEnDispatchs.cFree2ENDAScFree2,ISNULLiQuantity,0-ISNULLfOutQuantity,0ASfOutQuantityFROMEnDispatchINNERJOINEnDispatchsONEnDispatch.EDID=EnDispatchs.EDIDWHEREISNULLEnDispatchs.cWhCode,‘‘‘‘ANDISNULLEnDispatch.cSTCode,‘‘‘‘ANDEnDispatchs.iQuantity>0ANDbReturnFlag=0INSERTINTOTempCurrentStockcWhCode,cInvCode,cFree1,cFree2,fOutQuantitySELECTDispatchLists.cWhCodeascWhCode,DispatchLists.cInvCodeascInvCode,CASEWHENDispatchLists.cFree1=‘‘THENNULLELSEDispatchLists.cFree1ENDAScFree1,CASEWHENDispatchLists.cFree2=‘‘THENNULLELSEDispatchLists.cFree2ENDAScFree2,ISNULLiQuantity,0-ISNULLfOutQuantity,0ASfOutQuantityFROMDispatchListsINNERJOINDispatchListONDispatchLists.DLID=DispatchList.DLIDWHEREDispatchList.cVouchType=‘05‘ANDISNULLDispatchLists.cWhCode,‘‘‘‘ANDISNULLDispatchList.cSTCode,‘‘‘‘ANDDispatchList.iSale=0orDispatchList.iSaleISNULLANDDispatchLists.iQuantity>0INSERTINTOTempCurrentStockcWhCode,cInvCode,cFree1,cFree2,fOutQuantitySELECTcWhCode,cInvCode,CASEWHENcFree1=‘‘THENNULLELSEcFree1ENDAScFree1,CASEWHENcFree2=‘‘THENNULLELSEcFree2ENDAScFree2,ISNULLiQuantity,0-ISNULLfOutQuantity,0ASfOutQuantityFROMSaleBillVouchsINNERJOINSaleBillVouchONSaleBillVouch.SBVID=SaleBillVouchs.SBVIDWHEREISNULLSaleBillVouchs.cWhCode,‘‘‘‘ANDSaleBillVouch.iDisp=0ORSaleBillVouch.iDispISNULLANDISNULLcBusType,‘‘‘委托‘ANDISNULLcSTCode,‘‘‘‘ANDISNULLcInvalider,‘‘=‘‘ANDSaleBillVouchs.iQuantity>0INSERTINTOCurrentStockcWhCode,cInvCode,cFree1,cFree2,iQuantity,fOutQuantity,fInQuantitySELECTcWhCode,cInvCode,cFree1,cFree2,sumiQuantityASiQuantity,sumISNULLfOutQuantity,0ASfOutQuantity,sumISNULLfInQuantity,0ASfInQuantityFROMTempCurrentStockGROUPBYcWhCode,cInvCode,cFree1,cFree2DeleteFromCurrentStockwhereiquantityisnullandfoutquantity=0andfinquantity=0。
|
|