用户问题描述:用户从KIS 成长版升级为KIS WISE 15.0版本,用户区域语言为繁体(台湾),升级级后发现部分界面乱码,同事从不知名渠道拿到一个乱码修复脚本
update a set FColCaption=b.FColCaption,FColCaption_CHT=b.FColCaption_CHT,FAction=b.FAction from ICChatBillTitle a inner join [AIS20180914105558]..ICChatBillTitle b
on a.FColName=b.FColName and a.FTableName=b.FTableName and a.FTypeID=b.FTypeID
update a set FTopClassName=b.FTopClassName,FTopClassName_CHT=b.FTopClassName_CHT from t_DataFlowTopClass a inner join [AIS20180914105558]..t_DataFlowTopClass b on a.FTopClassName_EN=b.FTopClassName_EN where a.FTopClassName<>b.FTopClassName
update a set FFuncName=b.FFuncName,FFuncName_CHT=b.FFuncName_CHT from t_DataFlowSubFunc a inner join [AIS20180914105558]..t_DataFlowSubFunc b on a.FSubFuncID=b.FSubFuncID where a.FFuncName<>b.FFuncName
update a set FFuncName=b.FFuncName,FFuncName_CHT=b.FFuncName_CHT from t_DataFlowDetailFunc a inner join [AIS20180914105558]..t_DataFlowDetailFunc b on a.FDetailFuncID=b.FDetailFuncID where a.FFuncName<>b.FFuncName UPDATE t_DataFlowTimeStamp SET FName = FName
该脚本的原理是 用一个KIS WISE 15.0新建的账套,同名表,根据英文名相同,去更新繁体字段描述(不能用FID,因为升级后的版本账套和新建的账套FID并不相同)
修复后有部分效果,但是仍有一个界面“供应链->销售管理->模拟报价->模拟BOM维护"界面出现乱码
追踪界面打开的整个SQL语句,排除干扰发现一个极关键的表,ICClassTableInfo可能与界面乱码有关,立即根据以上SQL语句原理,同理更新,发现界面无效,折腾一翻,发现,用同名表的更新,不能仅依靠英文名去更新,增加其它关联字段后再次更新后发现,打开测试账套,发现乱码修复了。
update a set FCaption_CHT=b.FCaption_CHT,FCaption_CHS=b.FCaption_CHS from ICClassTableInfo a
inner join [AIS20180509135446]..ICClassTableInfo b on a.FClassTypeID=b.FClassTypeID and a.FCaption_EN=b.FCaption_EN and a.FTableName = b.FTableName
and a.FKey=b.fkey
where a.FClassTypeID = 1007698
update a set FCaption_CHT=b.FCaption_CHT,FCaption_CHS=b.FCaption_CHS from ICClassCtl a
inner join [AIS20180509135446]..ICClassCtl b on a.FClassTypeID=b.FClassTypeID and a.FCaption_EN=b.FCaption_EN
where a.FClassTypeID = 1007698
代码发给同事去更新到生产环境,同事过了几天才更新,发现生产环境下,语句无效,界面仍然是乱码,这就太奇怪了,几翻折腾,账套多次恢复与测试,再恢复再测试,发现在更新了该表单的标题后,界面神奇的恢复了
update ICClassType set FName_CHT = '啊模擬BOM' where fid = 1007698
猜测,系统对界面布局有缓存,而且是以表单标题为键的缓存,更新了表单标题后,刷新了缓存,所以界面正常了
另外,金碟软件的表单布局文件都放置在以ICClass开关的表里面
select * from sysobjects where name like 'ICClass%' and type = 'U' order by name;
用户在将KIS成长版升级到KIS WISE 15.0(繁体版)后遇到部分界面显示乱码的问题。通过使用特定的修复脚本,依据英文字段匹配更新繁体描述,解决了大部分问题,但仍有‘供应链->销售管理->模拟报价->模拟BOM维护’界面存在乱码。进一步分析发现表ICClassTableInfo与乱码相关,通过更新关联字段成功修复。然而,生产环境中该方案失效,最终发现更新表单标题能刷新系统缓存,从而解决乱码问题。金蝶软件的表单布局信息存储在以ICClass开头的表中。
874

被折叠的 条评论
为什么被折叠?



