金蝶教学网—湖南领用信息科技有限公司设为首页收藏本站
登录 | 立即注册 切换到窄版
查看: 364|回复: 0

金蝶K3在做凭证的时候会报错3604(E14H)错误的处理方法

[复制链接]

31

主题

31

帖子

146

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
146
发表于 2017-2-23 14:04:37 | 显示全部楼层 |阅读模式
问题描述:金蝶K3在做凭证的时候会报错3604(E14H)错误的处理方法

解决方法:
     1、凭证过账时系统提示:名称或代码在系统中已经被使用

错误代码:3604(E14H)

Source :Microsoft OLE DB Provider for SQL Server

Detail :在结果列的列表中多次出现列名 'F8' (有时也会显示F1之类的)

执行语句校正即可 ( 一定要保证没有任何凭证被过账才行,否则会出来严重的错误。)

update d set d.fdetailcount=v.fcount

from t_ItemDetail d,

(select fdetailid,count(*) fcount from t_ItemDetailv where fitemid=-1 group by fdetailid ) v

where d.fdetailid=v.fdetailid

不同的账套,可能会提示不同的列名,如F1等,请变通执行

错误原因:核算项目横表t_itemdetail的核算项目类别数目和科目挂的核算项目数目不一致


2、在查询科目余额表并选择包括核算项目时,系统提示:

名称或代码在系统中已被使用

错误代码:3604(E14H)

Fdetail:列名'F3001'无效

补回此列,如果有数据发生还要补回数据

If Not Exists(Select c.Name from syscolumns c,sysobjects o

where c.Id=o.Id and c.name='F3001' and o.name='t_ItemDetail')

Begin

Alter Table t_ItemDetail Add F3001 int not null default(0)

Create Index ix_ItemDetail_3001 On t_ItemDetail(F3001)

END

如果还存在其他列名无效,参照修改上述SQL中的列名后,进行添加。

错误原因:在t_itemdetail表中缺少列F3001


3、录入凭证时提示错误代码:3604(E14H), Source :Microsoft OLE DB Provider for SQL Server Detail :分布式事务已完成。请将此会话登记到新事务或 NULL 事务中

此问题是由凭证最大内码号超过2147483647造成的,请参考以下SQL处理

select distinct(fvoucherid) AS Foldid,IDENTITY(int,1,1) as fnewid into #tmpa from t_voucher----建立新旧凭证内码对应关系

update a set a.fvoucherid=b.fnewid from t_voucher a , #tmpa b where a.fvoucherid=b.folded-----用新内码替换旧内码

update a set a.fvoucherid=b.fnewid from t_voucherentry a , #tmpa b where a.fvoucherid=b.foldid

update t_identity set fnext=(select max(fvoucherid) from t_voucher)+1 where fname='t_voucher'

回复

使用道具 举报

QQ|Archiver|手机版|小黑屋|金蝶教学网—湖南领用信息科技有限公司    

GMT+8, 2018-10-18 03:15 , Processed in 0.140532 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表