今天接到朋友QQ联系,说单位里的用友软件通2005版本,在进行年度建账时出现错误,如下图,导致无法年度结转。
检查了一下,出现这个错误提示“将截断字符串或者二进制数据”的原因,主要是因为当前待年结的帐套数据库的一些基础数据表结构和用友的模板数据库字段结构不一致,通常多发生在VENDOR表,当然也可以在年出现错误提示的地方,会显示“正在传输基础数据表….”,后面会跟着表名。既然找到了原因,解决办法就很简单了,到另外一个好的帐套里,去检查对应表的表结构,是否一致,调整成和好的帐套数据库对应表字段长度一致
最终解决办法:将VENDOR表里的CVENNAME和CVENABBNAME的字段宽度从原来的98,60,修改为60,30。这个错误顺利解决。
在正当准备收工的时候,发现又产生了一个错误,“列名MstInPutSign无效 ,无法完成建立”,这个错误的原因和上面是类似的,也是由于表结构字段不一致引起的。通过下面的表,去检查差异,修改对应用户帐套的表结构,将多余的对应表里MstInPutSign字段删除,重新进行年度帐套建立即可。
select a.name from 好的账套..sysobjects a join
好的账套..syscolumns b on a.id = b.id
where b.name = ‘提示缺少的字段’ and a.name not in
(select a.name from 用户账套..sysobjects a join
用户账套..syscolumns b on a.id = b.id
where b.name = ‘提示缺少的字段’ )
谢谢!这个问题困扰我好几个月了,一直没有给财务处理。问了用友公司,他们说没有遇到过这样的问题就打发我了。