一、 适用场景
适用于总账各种历史期间数据修复。
二、 修改原理
后台修改总账当前期间到有问题凭证所在期间,修改数据后还原当前,再后台将总账当前期间修改为现在做业务的期间。
三、 修复方案
1. 确保现场在方案执行期间内不做,方案执行组织的总账业务,其他业务模块生成凭证也不允许。
2. 备份系统状态控制数据
a) Select * into bak_sysall from T_BD_SystemStatusCtrol
b) 备份待调整的组织的数据
select ssc.* into bak_sysorg from T_BD_SystemStatusCtrol ssc
inner join T_BD_SystemStatus ss on ssc.FSystemStatusID = ss.fid
inner join t_org_company c on c.fid = ssc.FCompanyID
where ss.FName = 6 and
c.fnumber = '组织的编码' -- 这里修改为初始期间错误的组织的编码
c) 修改待调整组织的当前期间到指定的期间
获取指定期间的FID
select p.fid 期间的FID from t_bd_period p
inner join t_org_company c on c.FAccountPeriodID = p.FTypeID
inner join bak_sysorg ss on ss.fcompanyid = c.fid
where p.fnumber = ‘凭证所在期间的编码 ‘ ----- 这里需要修改
update T_BD_SystemStatusCtrol set FCurrentPeriodID = ‘录入查询出来的期间FID’ where fid in (select fid from bak_sysorg)
d) 回到各期间反过账反审核凭证,修改完毕后再审核过账
e) 确认总账修复完毕后,将总账当前期间调整回原来的期间
i. 删除修改后的系统状态控制表记录(此脚本不需要修改)
delete from T_BD_SystemStatusCtrol where fid in (select fid from bak_sysorg)
ii. 将备份的系统状态控制数据还原到正式表
Insert into T_BD_SystemStatusCtrol select * from bak_sysorg
f) 确认系统状态控制中期间修改回来后,重算科目余额,重算初始期间到当前期间发生额
推荐阅读