找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

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

用友U8档案编码批量更新工具1004(2011年度不再免费,将分级收费注册)

   火...   [复制链接]
发表于 2008-9-13 22:54:02 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 yifeng651 于 2011-2-13 15:24 编辑

出处:
本工具主要解决用友U8管理软件实施及维护过程中针对档案编码批量
修改的处理.

包括:
      由于用友U8基础档案表和各业务单据数据表之间存在数据约束
及校验,导致档案一但使用将无法进行档案编码的修改维护.其一方面
维系了用友数据的引用完整性,另一方面对一些关键档案的维护增加了
一定的难度.

对于目前已经使用过的档案编码,本工具采用暂时关闭各表间关键约束
先进行原编码合法性校验,将原编码替换到过渡编码,再进行新编码合
法性校验.档案编码更新后,再利用过渡编码更新关键约束表的对应编
码,最后恢复关键表间约束.

参数及编码对应关系请参照配置文件[FC_CodeUpdate.xml]修改完成

1004版本:
增加数据库SA登陆选择数据库对象. 理论上可适用于任何用友版本数据库处理.
修改了用友客户端登陆, 增加U8.2x/U8.5x/U8.6x/U8.7x自动登陆.

通版本及普及版本未经过测试, 暂时不支持!
1003版本:
处理了无约束同名字段的内容更新.
修改了密码校验的类型错误.
修改窗口最小化恢复后自动刷新表格的错误.

授权许可: 2009-03-30


[ 本帖最后由 yifeng651 于 2008-10-14 15:30 编辑 ]
登陆.jpg

档案编码批改_2008-09-14_22331003.rar

449.07 KB, 下载次数: 516, 下载积分: 金币 -5

档案编码批改_2008-10-11_12421004.rar

451.26 KB, 下载次数: 697, 下载积分: 金币 -5

U8档案编码批改工具使用说明.rar

371.48 KB, 下载次数: 526, 下载积分: 金币 -5

金币

快速加金币

下载提示积分金币不足,非特定用户等

无法下载,可充值金币

 楼主| 发表于 2008-9-13 23:10:00 | 显示全部楼层
说明一下:

右边表格里数据分两部份, 上面是对应数据表间存在约束键值的, 下面是无约束但存在关键字段名相同的数据表.

范例:
针对U86X, 现存量表CurrentStock 和存货档案表Inventory 是存在外键约束的.
所以前一版本1002可以自动更新现存量表对应的存货编码.

但到了U87X, 用友数据库结构调整, 取消了该外键约束, 为什么取消, 我不知道.
但存货档案编码如果进行了调整, 那也必须同步调整现存量表里面的存货编码.
现在除了存在约束的数据自动更新, 同时增加非约束数据表间同名字段同步更新.
那样才不会出现现存量表存货编码因未调整倒致报表数据错误.

需要注意的是, 更新操作前千万记住数据账套备份. 免得因设置或者操作不当倒致损失.

针对问题"此工具进行存货档案编码更新后,物料清单中不能查询新编码了;"
刚才查了一下数据结构.
物料清单主表: bom_bom
物料清单母件: bom_cbom -> ParentId 母件物料ID  
物料清单子件: bom_opcomponent -> ComponentId 子件物料Id  
对应: bas_part物料表 -> PartId 编号
关联到:  InvCode 存货编码
可惜就是这个字段与默认存货编码cInvCode不相同, 而且又不存在编码约束.
只能想办法增加约束,更新完编码后, 再删除该约束了.

所以可以先通过SQL查询分析器, 手工加上一个外键约束:
Alter TABLE [bas_part]
Add FOREIGN KEY
(
  [InvCode]
) REFERENCES [Inventory] (
  [cInvCode]
)
更新完编码后, 再删除该约束:
ALTER TABLE dbo.bas_part
DROP CONSTRAINT FK__bas_part__InvCod__639A063E
注意该约束名,不尽相同.所以得通过系统表找到约束名,才能删除:  或者通过企业管理器直接找到数据表的字段设计,直接删除外键也可.
下面是通过系统表, 找约束的脚本.
--找出外键约束关系
select b.name As ConstName, c.name As ConstTable, d.name As ConstFkTable,e.name As ConstField,f.name As ConstFkField, a.keyno As ConstSpace
From sysforeignkeys a
Left Join sysobjects b On a.constid = b.id
Left Join sysobjects c On a.fkeyid = c.id
Left Join sysobjects d On a.rkeyid = d.id
Left Join syscolumns e On a.fkeyid = e.id And e.colid = a.fkey
Left Join syscolumns f On a.rkeyid = f.id And f.colid = a.rkey
--主表的系统ID
Where a.rkeyid=(select Id From sysobjects Where name='Inventory')
--主表字段的系统ID
And a.rkey=(select colid From syscolumns Where name='cInvCode'
            And ID=(select Id From sysobjects Where name='Inventory'))
--外键约束表名
And c.name='bas_part'
Order By c.name

[ 本帖最后由 yifeng651 于 2008-10-21 21:19 编辑 ]
发表于 2008-9-14 14:18:42 | 显示全部楼层
我的u8问题也很多啊
发表于 2008-9-14 20:26:10 | 显示全部楼层
这个工具太好了,再也不用为了更正一个编码错误的存货大费周折了~
发表于 2008-9-17 10:15:22 | 显示全部楼层
多谢楼主分享,顶..................
发表于 2008-9-18 15:23:00 | 显示全部楼层
我看看 是否能用
发表于 2008-9-18 23:29:37 | 显示全部楼层
多谢楼主分享,顶..................
发表于 2008-9-24 10:36:18 | 显示全部楼层
正需要呢,感谢....
楼主BOM也能改过来吧?
发表于 2008-9-28 16:56:54 | 显示全部楼层
收藏了,该工具应该非常有用处。
发表于 2008-9-28 20:05:51 | 显示全部楼层
我安装了,出现了“429错误”,如何解决?
发表于 2008-9-29 14:31:04 | 显示全部楼层
我很郁闷,我的魁力不够啊,怎么办呢
发表于 2008-9-29 14:32:08 | 显示全部楼层
我回复了一次还不行,TNND
发表于 2008-9-30 14:08:29 | 显示全部楼层
不错的好工具,值得一顶了
发表于 2008-10-8 14:43:44 | 显示全部楼层
好工具,可惜偶的威望不够了,无法下载。郁闷~~~~~
发表于 2008-10-8 14:48:32 | 显示全部楼层
回复了几个帖子,现在看看能不能下载了
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

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

GMT+8, 2024-5-4 23:01 , Processed in 0.051541 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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