找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
查看: 7416|回复: 5

[技巧] 修正错误档案数据:删除引用过的档案数据

[复制链接]
发表于 2010-4-26 09:50:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册账号

×
修正错误档案数据:
1.删除引用过的档案数据(部门档案为例)
如:原先在填制凭证时使用过部门辅助核算档案,9696 财务部,发现部门加错了,删除相关凭证后,再删除部门
还提示已经被引用,查看相关
常用凭证、自定义转账、交叉校验规则、常用辅助账簿查询均没有引用此部门
除gl_detail gl_voucher两个表外,还会向gl_freevalue 辅助核算内容表中写入数据,表明此档案被引用,
删除凭证或期初余额后程序不会自动清除此表中的数据需要手工清除一下。
1.1 先查询一要删除的部门对应的pk_deptdoc值,如查询结果为1257S410000000000ASX
SELECT unitcode as 公司编码,unitname,deptcode,deptname,pk_deptdoc
FROM bd_corp,bd_deptdoc
WHERE bd_deptdoc.pk_corp=bd_corp.pk_corp AND unitcode = '71010001' and deptcode='9696'
ORDER BY unitcode,deptcode
1.2 查询一下 gl_freevalue 中相关的记录 (gl_freevalue.checkvalue用来关联各基础档案pk)
如有引用,会按照具体引用的分录列示出
SELECT * from gl_freevalue where checkvalue = '1257S410000000000ASX'
1.3 将gl_freevalue删除标志设置为1,dr=1
update gl_freevalue set dr='1' where checkvalue = '1257S410000000000ASX'
1.4利用清除已删除数据功能清除下列表中dr=1数据,或用语句进行清除,
为提高清除效率最好加上where条件,不然会清除全系统的已删除数据,速度会特别慢
DELETE FROM GL_voucher WHERE dr='1' and
DELETE FROM GL_detail WHERE dr='1' and
DELETE FROM gl_freevalue WHERE dr='1' and checkvalue='1257S410000000000ASX'
发表于 2010-4-27 10:28:16 | 显示全部楼层
不知道怎么解决,期待解决的方法中
发表于 2010-6-26 07:42:06 | 显示全部楼层
发表于 2011-4-2 00:22:55 | 显示全部楼层
熟练掌握这项技术在日后的工作中会很受益的
发表于 2013-10-18 11:51:05 | 显示全部楼层
谢谢了,看了你这帖子后终于把已经引用的客商删除了,哈哈哈
回复 点赞 拍砖

使用道具 举报

发表于 2014-8-20 23:16:10 | 显示全部楼层
这楼主好人,不像其他人弄个垃圾东西还死贵
回复 点赞 拍砖

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-5-18 07:32 , Processed in 0.028027 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表