用友U8 进行年度结转时提示错误“结转上年出现错误,请检查上年数据无误后再执行本功能- 使用检查工具提示F_7有问题,但删除后再结转也不行,跟踪数据库没有找到是那条语句出错,检查了数据库中的相关的表没有发现其他问题用友U8 进行年度结转时提示错误“结转上年出现错误,请检查上年数据无误后再执行本功能" 使用检查工具提示F_7有问题,但删除后再结转也不行,跟踪数据库没有找到是那条语句出错,检查了数据库中的相关的表没有发现其他问题 问题原因:为数据错误。表wa_gztblset中缺少了id为7的记录,表wa_gzdata中多了列名为“F_8”的列。 解决方法:修改数据库(修改前请务必做好数据备份) 1、删除2006年度帐; 2、为2005年度帐的表wa_gztblset增加iGZItem_id为7的记录,属性参考演示帐套(需先取消主键索引,修改后再添上); 3、为2005年度帐的表wa_gzdata删除列名为“F_8”的列; 4、重新新建2006年度帐,重新结转即可。 步骤2和3也可以在查询分析器中执行以下脚本(选择2005年度帐库):set Identity_insert wa_GZtblset on INSERT INTO WA_GZtblset([iGZItem_id], [cSetGZItemName], [iSetGZItemStyle], [iSetGZItemLenth], [iDecimal], [iSetGZItemProp], [iGZNum]) VALUES(7, '计件工资', 0,10, 2, 0, 7) set Identity_insert wa_GZtblset off ALTER TABLE wa_GZDATA drop CONSTRAINT DF__wa_GZDATA__F_8__0D1C71D8 alter Table wa_GZDATA drop COLUMN F_8
解决方案:
问题原因:为数据错误。表wa_gztblset中缺少了id为7的记录,表wa_gzdata中多了列名为“F_8”的列。 解决方法:修改数据库(修改前请务必做好数据备份) 1、删除2006年度帐; 2、为2005年度帐的表wa_gztblset增加iGZItem_id为7的记录,属性参考演示帐套(需先取消主键索引,修改后再添上); 3、为2005年度帐的表wa_gzdata删除列名为“F_8”的列; 4、重新新建2006年度帐,重新结转即可。 步骤2和3也可以在查询分析器中执行以下脚本(选择2005年度帐库):set Identity_insert wa_GZtblset on INSERT INTO WA_GZtblset([iGZItem_id], [cSetGZItemName], [iSetGZItemStyle], [iSetGZItemLenth], [iDecimal], [iSetGZItemProp], [iGZNum]) VALUES(7, '计件工资', 0,10, 2, 0, 7) set Identity_insert wa_GZtblset off ALTER TABLE wa_GZDATA drop CONSTRAINT DF__wa_GZDATA__F_8__0D1C71D8 alter Table wa_GZDATA drop COLUMN F_8