KIS标准版9.1SP1以下版升级到KIS专业版13.0时出现 列名FLevel无效解方案
升级工具点这里下载
注:此工具要求将帐套先升级到KIS标准版9.1SP1或以上版本,升级到KIS专业版V13.0
原因是科目表GLAcct少了两个字段FDetail 和 FLevel
FDetail数据类型:是否型;注:判断科目是否有下级科目 有下级科目值为0;没有下级值为-1。
FLevel数据类型:整型;注:标注科目级别,如一级科目值为1;二级科目值为2;三级科目值为3;以此类推。
以下操作前请先备份,可能操作过后原帐套无法使用。
打开数据 找到GLAcct表,在设计视图下添加以下两个字段
(注:数据库打时用户名和密码:morningstar密码:ypbwkfyjhyhgzj)
FDetail数据类型:是否型;
FLevel数据类型:整型;
以下代码科目编码格式为4222
在SQL视图中输入以下SQL语句(一次执行一行)
update glacct set flevel=1 where len(facctid)=4
(说明:len(facctid)=4是指facctid的长度为4个字符即科目长为4,此SQL语句是将科目长度为4的那一行flevel的值设为1;即一级科目)
update glacct set flevel=2 where len(facctid)=6
(说明:len(facctid)=4是指facctid的长度为6个字符即科目长为6,此SQL语句是将科目长度为4的那一行flevel的值设为2;;即二级科目)
update glacct set flevel=3 where len(facctid)=8
(说明:参照以上类推)
update glacct set flevel=4 where len(facctid)=10
以上将flevel字段的值全部设完,如还有五级科目,再加一行update glacct set flevel=5 where len(facctid)=12;以此类推
update glacct set fdetail=-1
(说明:将全部行的fdetail字段的值设为-1,即假设所有科目没有下级科目)
update glacct set fdetail=0 where facctid in (select mid(facctid,1,4) from glacct where flevel=2 )
(说明:将flevel=2即二级科目中科目编码和第一位到第四位截取,截取到的这四位的应的行的fdetail字段的值设为0,即将二级科目的上级科目值设为0)
update glacct set fdetail=0 where facctid in (select mid(facctid,1,6) from glacct where flevel=3 )
(说明:将flevel=3即三级科目中科目编码和第一位到第六位截取,截取到的这四位的应的行的fdetail字段的值设为0,即将三级科目的上级科目值设为0)
update glacct set fdetail=0 where facctid in (select mid(facctid,1,8) from glacct where flevel=4 )
(说明:以上类推,值到最后)