多栏账打开报错:下标越界用友软件股份有限公司张睿2010年10月14日具体问题情况:890版本,总账系统,打开多栏账查询的时候,软件报错,运行时错误’9’:下标越界。问题情况分析:之前遇到过同样的问题,一般是定义的多栏账有问题了,删除重新增加,就正常了,但是这次重增加后问题依旧。这种情况,判断应该是数据库中有问题了,但是无法确定具体情况,只能到数据库中跟踪了。下面详细说一下问题解决的情况打开总账系统,科目账下的多栏账,查询管理费用多栏账选择好月份后确定,软件即报错运行时错误’9’:下标越界,再确定,又提示运行时错误’440’:Automation错误之前遇到过同样的问题,一般是定义的多栏账有问题了,删除重新增加,就正常了于是删除该管理费用多栏账,重新增加,但是再查询问题依旧于是怀疑是不是管理费用科目的下级科目太多了?换个少的,预收账款科目,只有两个下级,但是查询同样报错这种情况,判断应该是数据库中有问题了,但是无法确定具体情况,只能到数据库中跟踪了打开SQL事件探查器,报错的时候,跟踪到两条语句SELECT*FROMGL_bmultiWHERE[ccode]='2203'ORDERBYccodegoselect*fromGL_myoutputwherecauth=N'GL0310'andcsqrmode=1andLocaleId=N'zh-CN'orderbycFieldNumgo首先执行SELECT*FROMGL_bmultiWHERE[ccode]=‘2203’ORDERBYccode该表保存的是多栏账设置的栏目名称等信息,删除多栏账后,该表对应的记录就没了接下来执行select*fromGL_myoutputwherecauth=N‘GL0310’andcsqrmode=1andLocaleId=N‘zh-CN’orderbycFieldNum分析执行结果,该表保存的应该是多栏账栏目的列宽信息,每一条记录对应一个下级科目,也就是一列,但是过滤出来的记录,有100多条,是不是太多了?多栏账中设置的科目没有这么多个下级科目呀,测试发现这些记录在删除多栏账的时候,不会同步删除新建一个账套测试,在没有设置过多栏账的情况下,没有这些记录,说明这些记录不是系统固定的记录,应该可以删除删除这些记录后,重新增加多栏账,再查询就正常了在SQL中再查询,发现这些记录又增加回来了,只有22条记录,之前是100多条至此问题已解决。分析用户那里产生该问题的原因,可能是之前用户设置过一个下级科目很多的科目的多栏账,在GL_myoutput表中增加的栏目的记录太多,删除多栏账的时候不能同步删除该表中的相关记录,导致再重新增加多栏账或者查询其他下级科目少的多栏账,还有问题。由于该问题一旦出现,在软件界面做任何操作都无法解决,只能从后台数据库中处理,所以该问题应该是一个软件BUG。问题总结: