当前位置:首页 > 用友T3用友通 > 正文内容

用友T3记账时报错,运行时错误‘-2147217873,怎么办?

7年前用友T3用友通5140

用友T3财务软件在记账的时候提示错误:运行时错误‘-2147217873(80040e2f)':违反了PRIMMARY KEY 约束‘GL-mpostcond1_pk"不能在对象‘GL-Mpostcond1中键入重复键。如下图所示:

运行时错误‘-2147217873(80040e2f)':违反了PRIMMARY KEY 约束‘GL-mpostcond1_pk"不能在对象‘GL-Mpostcond1中键入重复键错误提示图片

也有不少的财务会计朋友是在使用用友通T3软件的返记账过程中提示的。那么怎么解决这个问题呢?

微信号:yyrjlls
扫码 有偿解决 用友软件技术问题!
复制微信号

经过用友财务软件小编跟踪数据库发现主要是软件考虑的不够周全,后来用友畅捷通用友T310.8plus1标准版及后续版本使用补丁做了改进了,所以解决这个问题要看版本。

如果是用友T310.8plus1之前的版本,请先在查询分析器中执行如下脚本:

use ufdata_xxx_2014

delete from gl_mpostcond1

然后再执行如下脚本,避免后续出现类似的问题。

SET QUOTED_IDENTIFIER OFF      
GO      
SET ANSI_NULLS ON      
GO      
ALTER Proc [dbo].[GL_P_JZA](@iPer tinyint = 11, @ccash tinyint =1, @tcond varchar(5000)= '') AS SET NOCOUNT On declare @ss varchar(8000)      
declare @Checkflag varchar(20) declare @trnd bigint set @trnd=(select convert(bigint,rand()*100000000000)) declare @temptable varchar(50) declare @temptable2 varchar(50) set @temptable='GL_jztmp'+ convert(varchar(30),@trnd) set @temptable2='gl_bookB'+ convert(varchar(30),@trnd) set @Checkflag = (SELECT cvalue FROM AccInformation WHERE cSysID='GL' AND cName='bNotCheckJz')      
Delete From GL_mpostcond1 if @ccash=0 begin      
if @Checkflag = 'False' set @ss='SELECT iperiod,isignseq,ino_id From gl_accvouch where ibook=0 and iperiod= '+convert(char,@iPer,0) +(case when @tcond='' then '' else ' and (' + @tcond + ')' end)+' and (not (ccheck is null) and iflag is null or ccheck is null and iflag=1) GROUP BY iperiod,isignseq,ino_id' else set @ss='SELECT iperiod,isignseq,ino_id From gl_accvouch where ibook=0 and iperiod= '+convert(char,@iPer,0) +(case when @tcond='' then '' else ' and (' + @tcond + ')' end)+' and (iflag is null or ccheck is null and iflag=1) GROUP BY iperiod,isignseq,ino_id'      
Insert GL_mpostcond1 exec (@ss) End Else begin if not object_id('tempdb..'+@temptable) is null exec('drop table tempdb..'+ @temptable)      
if @Checkflag = 'False' set @ss='SELECT isignseq,ino_id,1 as zt into tempdb..'+@temptable+' FROM gl_accvouch inner join code ON gl_accvouch.ccode = code.ccode where ibook=0 and iperiod= '+convert(char,@iPer,0)+(case when @tcond='' then '' else ' and (' + @tcond + ')' end) +' and ((code.bbank ^ code.bcash) =1) and ((not (ccheck is null)) and (ccashier is null)) GROUP BY isignseq,ino_id Union SELECT isignseq,ino_id,0 as zt From gl_accvouch where ibook=0 and iperiod= '+convert(char,@iPer,0) +(case when @tcond='' then '' else ' and (' + @tcond + ')' end)+' and (not (ccheck is null) and iflag is null or ccheck is null and iflag=1) GROUP BY isignseq,ino_id' else set @ss='SELECT isignseq,ino_id,1 as zt into tempdb..'+@temptable+' FROM gl_accvouch inner join code ON gl_accvouch.ccode = code.ccode where ibook=0 and iperiod= '+convert(char,@iPer,0)+(case when @tcond='' then '' else ' and (' + @tcond + ')' end) +' and ((code.bbank ^ code.bcash) =1) and (ccashier is null) GROUP BY isignseq,ino_id Union SELECT isignseq,ino_id,0 as zt From gl_accvouch where ibook=0 and iperiod= '+convert(char,@iPer,0) +(case when @tcond='' then '' else ' and (' + @tcond + ')' end)+' and (iflag is null or ccheck is null and iflag=1) GROUP BY isignseq,ino_id'      
exec (@ss) exec('SELECT isignseq,ino_id,sum(zt) as zt1 into tempdb..' + @temptable2 + ' from tempdb..'+@temptable+' group by isignseq,ino_id') set @ss='select '+convert(char,@iPer,0)+' as iperiod,isignseq,ino_id from tempdb..' + @temptable2 + ' Where zt1 = 0 '+(case when @tcond='' then '' else ' and (' + @tcond + ')' end) insert GL_mpostcond1 exec (@ss) if not object_id('tempdb..'+@temptable2) is null exec('drop table tempdb..'+ @temptable2) End      
GO      
SET QUOTED_IDENTIFIER OFF      
GO      
SET ANSI_NULLS ON      
GO

如果是用友T310.8plus1之后的版本,包括用友T310.8plus1普及版和标准版请直接安装最新的补丁就行了,补丁下载地址在论坛中有哦:http://edu.zzerp.net

温馨提示:近期载地址失效频繁,如链接失效请点击此处查阅详情!

相关文章

用友T3提示:运行时错误339部件,comdlg32.ocx或其附件之一不能正确注册:一个文件丢失或无效

用友T3提示:运行时错误339部件,comdlg32.ocx或其附件之一不能正确注册:一个文件丢失或无效

问题现象:客户使用的是用友T3财务通普及版10.9版本财务软件,打开用友T3软件时提示:运行时错误339,部件 comdlg32.ocx 或其附件之一不能正确注册:一个文件丢失或无效,怎么解决?如下图...

打开用友T3提示运行时错误'429',ActiveX部件不能创建对象的解决办法

打开用友T3提示运行时错误'429',ActiveX部件不能创建对象的解决办法

近期有不少的财务会计人员在安装用友T3财务软件后,打开系统管理或者用友T3时提示:运行时错误'429',ActiveX部件不能创建对象,如下图所示:或者在使用过程中,之前还能正常使用,...

运行时错误'430':类不支持自动化或不支持期望的接口

运行时错误'430':类不支持自动化或不支持期望的接口

    今天有个朋友用友T3财务通普及版出现了问题,登录用友T3时提示:运行时错误'430':类不支持自动化或不支持期望的接口,确定后软件无法登录。   【问...

运行时错误438对象不支持该属性或方法?

运行时错误438对象不支持该属性或方法?

在用友T3用友通标准版采购管理模块打印采购入库单时提示:运行时错误'438' : 对象不支持该属性或方法?且在处理汇兑损益时提示运行时错误'430' : 对象不支持该属性或方法?如下图所示:在错误提...

用友T3软件提示:运行时错误:'53:'文件未找到?

用友T3软件提示:运行时错误:'53:'文件未找到?

问题现象:打开用友通T3财务软件时提示:运行时错误‘53’:拒绝的权限。打开登录用友通T3软件提示:运行时错误:'53:'文件未找到?如下图所示:原因分析:老版本的用友通T3财务软件在...

运行时错误7内存溢出?

运行时错误7内存溢出?

问题现象:用友T3财务软件总账系统,凭证打印预览时提示:运行时错误‘7’:内存溢出;而且查询之前月份的凭证时提示:运行时错误‘429’:ACTIVEX部件不能创建对象(另外也会提示:当前凭证已不存在)...

发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。