監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 甲方項(xiàng)目管理系統(tǒng) | 簽約案例 | 客戶案例 | 在線試用
X 關(guān)閉

用友T3記賬時(shí)報(bào)錯(cuò),運(yùn)行時(shí)錯(cuò)誤‘-2147217873,怎么辦?

申請免費(fèi)試用、咨詢電話:400-8352-114

用友T3財(cái)務(wù)軟件在記賬的時(shí)候提示錯(cuò)誤:運(yùn)行時(shí)錯(cuò)誤‘-2147217873(80040e2f)':違反了PRIMMARY KEY 約束‘GL-mpostcond1_pk"不能在對象‘GL-Mpostcond1中鍵入重復(fù)鍵。如下圖所示:

也有不少的財(cái)務(wù)會(huì)計(jì)朋友是在使用用友通T3軟件的返記賬過程中提示的。那么怎么解決這個(gè)問題呢?

經(jīng)過用友財(cái)務(wù)軟件小編跟蹤數(shù)據(jù)庫發(fā)現(xiàn)主要是軟件考慮的不夠周全,后來用友暢捷通在用友t+310.8plus1標(biāo)準(zhǔn)版及后續(xù)版本使用補(bǔ)丁做了改進(jìn)了,所以解決這個(gè)問題要看版本。

如果是用友T310.8plus1之前的版本,請先在查詢分析器中執(zhí)行如下腳本:

use ufdata_xxx_2014

delete from gl_mpostcond1

然后再執(zhí)行如下腳本,避免后續(xù)出現(xiàn)類似的問題。

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普及版和標(biāo)準(zhǔn)版請直接安裝最新的補(bǔ)丁就行了,補(bǔ)丁下載地址在論壇中有哦:http://edu.ufidawhy.com。

發(fā)布:2007-02-07 17:05    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章: