最近几天一直都在折腾用友ERP年度结转的工作;一个简单的年结工作,没想到却这么地费劲,遇到太多太多的问题了;
本身对ERP只知道点皮毛,在这些问题前,人很是疲惫!
可是问题虽多,但去查找具体的问题点,目前来讲,还是相当有难度的;只有通过反复的检查数据、整理环境等避免年结错误的基本操作入手,其中就难免有新建帐套、删除帐套等一系列举措。
删除帐套时,如果通过”系统管理”工具的备份删除来操作的话,其等待与可操作性都不够人性。
这里分享一段从网上找来的SQL脚本:
USE UFSYSTEM DELETE UA_ACCOUNT_SUB WHERE CACC_ID='118' DELETE UA_Period WHERE CACC_ID='118' DELETE UA_Log where CACC_ID='118' DELETE UA_HoldAuth where CACC_ID='118' DELETE UA_Identity where CACC_ID='118' DELETE UA_ACCOUNT WHERE CACC_ID='118' DROP DATABASE UFDATA_118_2011 DROP DATABASE UFDATA_118_2012 DROP DATABASE UFmeta_118
其中118表示你要删除的帐套号;
另:在作删除帐套前,首先要确保重要数据已作备份,避免引起不必要的损失;
以上SQL脚本,我在虚拟机里测试时,提示”UFDATA_118_2012正在使用,无法删除”,所以在执行以上代码时,最好将“U8应用服务管理器”里相关服务停止掉。
updated: 2022-07-13
时隔多年,再次碰到这个问题;原先电脑上有旧账套数据十分影响,就想一咕噜做个清理;
看看上面的代码,不够理想,不能一次性地删除所有需要删除的数据,所以重新整理两段:
删除各年度帐对应的数据表
use master declare @dbtodelete table(name varchar(50)); declare @databasename varchar(100); -- 将 ufdata% 和 ufmeta% 替换为自己想要删除的一系列表的关联信息 insert into @dbtodelete select name from sys.databases where name like 'ufdata%' or name like 'ufmeta%'; -- select name from @dbtodelete; while exists(select name from @dbtodelete) begin select top 1 @databasename=name from @dbtodelete; if exists(select * from sys.databases where name = @databasename) begin print 'dropping database: ' + @databasename; /* very dangerous,确认好已经做好备份后,再选择执行 exec(' use master alter database '+ @databasename +' set single_user with rollback immediate drop database '+ @databasename ); */ end delete from @dbtodelete where name = @databasename; end
删除各年度账对应的其他信息,比如 相关日志
declare @ua_period table(cAcc_Id varchar(50)); declare @period varchar(3) insert into @ua_period select distinct cAcc_Id FROM [UFSystem]..[UA_Period] -- select cAcc_Id FROM @ua_period while exists( select cAcc_Id FROM @ua_period ) begin select top 1 @period=cAcc_Id from @ua_period; /* very dangerous,确认好已经做好备份后,再选择执行 DELETE FROM [UFSystem]..[UA_Account_sub] Where cAcc_Id=@period DELETE FROM [UFSystem]..[UA_Period] Where cAcc_Id=@period DELETE FROM [UFSystem]..[UA_Log] Where cAcc_Id=@period DELETE FROM [UFSystem]..[UA_Account] Where cAcc_Id=@period DELETE FROM [UFSystem]..[UA_HoldAuth] Where cAcc_Id=@period DELETE FROM [UFSystem]..[UA_Identity] Where cAcc_Id=@period */ delete from @ua_period where cAcc_Id = @period end
放不了Google的广告啊,再放就要被K了
什么意思?为什么放不了GOOGLE的广告?