服务热线:

400-665-0027

知识资讯
联系我们

电话:400-665-0027


您当前位置:首页 > 知识资讯  > 知识学习 > 正文知识学习
KIS专业版存货核算模块期末结账提示结账过程中发生错误,请重新发生错误请重新登录,或提示框为空白,点击确定后提示结账失败。
服务热线:400-665-0027 新购有特价、金蝶老客户升级金蝶云产品可以享受5折优惠,送手机、送话费,好礼不断!
【问题描述】

存货核算模块期末结账提示“结账过程中发生错误,请重新发生错误请重新登录”,或提示框为空白,点击确定后提示结账失败。

【原因分析】
该问题的原因为余额表中存在以后期间的数据。该现象可能出现在反结账重新结账,或结账不成功再次结账时。

【解决方案】
可参考以下语句删除余额表中以后期间的数据。

--备份余额表数据

declare @sql varchar(max)
declare @sql1 varchar(max)
declare @sql2 varchar(max)
declare @sql3 varchar(max)

set @sql = replace(( replace( (replace( (replace( (convert(varchar(100),getdate(),121)),char(32),'')) ,char(45),'' )), char(58),'')) ,char(46),'')

set @sql1 = 'temp_ICInvBal_' + @sql
set @sql1 = 'select * into ' + @sql1 + ' from ICInvBal'

set @sql2 = 'temp_POInvBal_' + @sql
set @sql2 = 'select * into ' + @sql2 + ' from POInvBal'

set @sql3 = 'temp_icBal_' + @sql
set @sql3 = 'select * into ' + @sql3 + ' from icBal'

exec (@sql1)

exec (@sql2)

exec (@sql3)

--删除以后期间余额表数据

declare @FCurrentYear int
declare @FCurrentPeriod int

select @FCurrentYear = FValue from t_SystemProfile where FCategory = 'IC' and FKey = 'currentyear'
select @FCurrentPeriod = FValue from t_SystemProfile where FCategory = 'IC' and FKey = 'currentperiod'

delete from ICInvBal where FYear * 100 + FPeriod > @FCurrentYear * 100 + @FCurrentPeriod
delete from POInvBal where FYear * 100 + FPeriod > @FCurrentYear * 100 + @FCurrentPeriod
delete from ICBal where FYear * 100 + FPeriod > @FCurrentYear * 100 + @FCurrentPeriod