【问题描述】
专业版科目初始数据录入,点击试算平衡提示平衡;结束初始化时提示:当前科目余额表试算不平衡,不能结束总账余额初始化工作;
【原因分析】
在无外币的情况下,部分科目的原币数据反写规则偶发性异常,与其本位币不一致,导致试算平衡表无差额,结束初始化提示试算不平衡;
【解决方案】
可参考以下脚本执行处理:
update t_Balance set FBeginBalance=FBeginBalanceFor,FEndBalance=FEndBalanceFor,FDebit=FDebitFor,FCredit=FCreditFor,FYtdCredit=FYtdCreditFor,
FYtdDebit=FYtdDebitFor
where FCurrencyID=1
go
declare kmyeb cursor for
select FAccountID,FPeriod,FBeginBalance,FBeginBalanceFor,FDebit,FDebitFor,FCredit,FCreditFor,FYtdDebit,FYtdDebitFor,FYtdCredit,FYtdCreditFor,
FEndBalance,FEndBalanceFor,FDetailID
from t_balance where FCurrencyID=1
open kmyeb
declare @FAccountID int
declare @FPeriod int
declare @FBeginBalanceFor money
declare @FBeginBalance money
declare @FDebit money
declare @FDebitFor money
declare @FCredit money
declare @FCreditFor money
declare @FYtdDebit money
declare @FYtdDebitFor money
declare @FYtdCredit money
declare @FYtdCreditFor money
declare @FEndBalance money
declare @FEndBalanceFor money
declare @FDetailID int
fetch next from kmyeb into @FAccountID,@FPeriod,@FBeginBalance,@FBeginBalanceFor,@FDebit,@FDebitFor,@FCredit,@FCreditFor,@FYtdDebit,
@FYtdDebitFor,@FYtdCredit,@FYtdCreditFor,@FEndBalance,@FEndBalanceFor,@FDetailID
while @@FETCH_STATUS=0
begin
update t_balance set FBeginBalance=@FBeginBalance,FBeginBalanceFor=@FBeginBalanceFor,FDebit=@FDebit,FDebitFor=@FDebitFor,
FCredit=@FCredit,FCreditFor=@FCreditFor,FYtdDebit=@FYtdDebit,FYtdDebitFor=@FYtdDebitFor,FYtdCredit=@FYtdCredit,
FYtdCreditFor=@FYtdCreditFor,FEndBalance=@FEndBalance,FEndBalanceFor=@FEndBalanceFor where FAccountID=@FAccountID and FPeriod=@FPeriod and FCurrencyID=0
and FDetailID=@FDetailID
fetch next from kmyeb into @FAccountID,@FPeriod,@FBeginBalance,@FBeginBalanceFor,@FDebit,@FDebitFor,@FCredit,@FCreditFor,@FYtdDebit,
@FYtdDebitFor,@FYtdCredit,@FYtdCreditFor,@FEndBalance,@FEndBalanceFor,@FDetailID
end
close kmyeb
deallocate kmyeb
go
【注意事项】
正式账套执行脚本前请先做好备份,建议待在测试账套中核实无误后再在正式账套中执行。