|
问题现象:在用友8.51Aerp系统中用友U8版本号:U8.51A软件的财务系统产品线结算中心模块出现如下问题:在用友U851ERP系统a版结算中心帐表中的内部对帐单查询时如查询条件为04-01-01至04-11-30时他所得的余额为正确的,如从中间查询时(如04-05-01至04-11-30时)就出现问题余额就会不一致。请帮忙解答!
原因分析:账户余额表错误,用脚本进行重新计算。
解决方案:在用友erp 系统版本U8.51A软件中备份数据。反记账到年初,并用新建余额表脚本进行更新fd_accbal表的操作:IFEXISTS(SELECT*FROMdbo.sysobjectsWHEREid=OBJECT_ID(N'[dbo].[fd_accBal]')ANDOBJECTPROPERTY(id,N'IsUserTable')=1)BEGIN--------清空账户余额表--------DELETEFROMfd_accBal--------判断账户开户日期是否超前系统起用日期:是--读入系统起用日期;否--读入账户开户日期--------DECLARE@dFDNatStartDateDateTimeSET@dFDNatStartDate=(SELECTCONVERT(DATETIME,cValue)AScValueFROMAccInformationWHEREcSysID='FD'ANDcName='dFDNatStartDate')--------从账户定义表中读取相应数据到账户余额表--------INSERTINTOfd_accBal(accdef_id,bill_date,bal_mny,bal_booked_mny,natural_bal_mny,natural_bal_booked_mny)SELECTaccdef_id,(CASEWHENdOpenDate0beginEXEC@statues=fd_updatebalance@vchId,@vchType,@derVchType,@billDate,@rcvAccId,@parAccId,@fixedAccId,@sumMny,@comMny,@natMny,1IF@statues!=0OR@@error!=0GOTOErrhandleendendFETCHaccbalINTO@vchId,@vchType,@derVchType,@billDate,@rcvAccId,@parAccId,@fixedAccId,@sumMny,@comMny,@natMny,@bookbillENDCLOSEaccbalDEALLOCATEaccbal--SETcursor_close_on_commitOFFGOTOExitProcErrHandle:DECLARE@errmsgVARCHAR(50)IF@statues!=0BEGINSELECT@errmsg=(CASEWHEN@statues=-101THEN'账户余额表错误!账户在表中无记录!'WHEN@statues=-102THEN'账户余额表错误!账户在表中余额记录丢失!'WHEN@statues=-103THEN'账户余额表更新失败!补记账户余额记录操作失败!'WHEN@statues=-104THEN'账户余额表更新失败!更新账户余额记录操作失败!'END)RAISERROR(@errmsg,16,1)ENDCLOSEaccbalDEALLOCATEaccbal--SETcursor_close_on_commitOFFENDExitProc:GO再重新记帐。
|
|