• 歡迎您來到(dào)普雲信息,非常感謝您的信任與支持!
Puyun IT 
天津普雲信息技術
當前位置:
T+科目對(duì)照存在問題,請聯系代理商或者總部處理後(hòu)再年結北都
來源: | 作者:普雲 | 發(fā)布時(shí)間: 2023-12-15 | 3 次浏覽 | 分享到(dào):

【問題現象】:财務結賬提示科目對(duì)照存在問題,請聯系代理商或者總熱南部處理後(hòu)再年結

【解決方案】:

請備份好(hǎo)賬套數據,選擇賬套庫,執行腳本


if (select value from EAP_AccInfo愛刀rmation where name='MultiAccount校如ingOrgan')=1 and (select COUNT( dis是近tinct accounting路分year) from AA_Account )>1

begin

delete from AA_A紙我ccountAssociation

declare @IdMarketingOrgan i唱錯nt

eclare cur2 cursor f司間or

selet distinct IdMarketingOrga生報n from AA_Account order by票火 IdMarketingOrgan

open cur2

fetch next from cur2都時 into @IdMarketingOrgan

while @@FETCH_ST來就ATUS=0

begin

prnt @IdMarketingOrgan

set nocount on

DECLARE @CurrentYear 讀文INT --當年

DECLARE @NewAccountId int--本學通年科目ID

DECLARE @PreAccountId int--上年見新科目ID

DECLARE @NewAccountCode NVARC校金HAR(50)--本年科目編碼

DECLARE @PreAccountCode NVARCH師新AR(50)--上年科目編碼

DECLARE @NewisEndNode tinyint--本年科目是美書否末級

DECLARE @PreisEndNo計妹de tinyint--上年科目是否地算末級

DECLARE @PreYear INT --上年

declare cur cursor for

select a.accounting錢黃year currentaccountingye音請ar,b.accountingyear pr訊對eaccountingyear from (

select distinct top 100 account紙雜ingyear from AA_Account where IdMa門人rketingOrgan=@IdMarketingOrgan orde子日r by

accountingyear d鐵化esc) a left join (

select distinct top 100 account著電ingyear from AA_Account where I醫報dMarketingOrgan=@IdMar美通ketingOrgan order by熱光

accountingyear desc) b on a.accounting錢男year >=b.accountingyear

open cur

fetch next from cur into @子動CurrentYear,@PreYear

while @@FETCH_STATUS=0

begin

--年度一緻直接插入

if @CurrentYear河章<>@PreYear

begin

--科目完全一緻且都(dōu)是末級

INSERT INTO AA_AccountAssoc的湖iation(currentaccou火站ntingyear,idcurrentaccountDT姐資O,idpreaccountDTO,preaccountingyear)森醫

select @CurrentYear,a.id,b.id,@Pre的時Year from aa_account a left join 年少AA_Account b on a.code=b.cod你可e where a.accountingyear=@Cur玩店rentYear and b.accountingyear =@Pre音車Year and

a.isEndNode=1 and b.isEndNode=森大1 and a.IdMarketingOrgan=@IdMarketingOr服的gan and b.IdMarketingOrgan=@IdMa慢紙rketingOrgan

--科目一緻其中一個年度不是末級,對(duì)應下級科目第一個

declare curNoEnd cursor f少西or

select a.id,b.id,a.拍綠isEndNode,b.isEndNode,a.code,b.cod物媽e from aa_account a l土機eft join AA_Account b on a.code=b.微哥code where a.accountingyear=@CurrentY可東ear and b.accountingyear理議 =@PreYear and

((a.isEndNode=1劇唱 and b.isEndNode=0) or (a樹得.isEndNode=0 and b.兒化isEndNode=1)) and a.IdMarketingO近友rgan=@IdMarketing少行Organ and b.IdMar人土ketingOrgan=@IdMarketin化去gOrgan

open curNoEnd

fetch next from curN現慢oEnd into @NewAcc購從ountId,@PreAccountI身雪d,@NewisEndNode,@Preis個鄉EndNode,@NewAccountCode,@PreAccoun下制tCode

while @@FETCH_STATUS=0

begin

if @NewisEndNode =0

select top 1 @NewAccountId=i麗志d from AA_Account where account新日ingyear=@CurrentYear and code lik秒朋e ''+@New習去AccountCode+'%&舊木#39; and isEndNode=1 and IdMarket笑服ingOrgan=@IdMarketingOrgan order by區大 code

if @PreisEndNode =0

select top 1 @PreAccountId=房討id from AA_Account 什的where accountingyear=@Pr長女eYear and code like ''+黃讀@PreAccountCode+'%' 信輛and isEndNode=1 and IdM技資arketingOrgan=@IdMarketin河聽gOrgan order by code

INSERT INTO AA_AccountAssociation(cu來理rrentaccountingyear,id那都currentaccountDTO,idpreac遠科countDTO,preaccountingyear)

values(@Current舞亮Year,@NewAccountId,@PreAccountId,@P的物reYear)

fetch next from curNoEnd into 在鐘@NewAccountId,@PreAccountId,@Newis喝腦EndNode,@PreisEndNode,@NewAccountC車林ode,@PreAccountCode

end

close curNoEnd

deallocate curNoEnd

end

else

begin

INSERT INTO AA_AccountAssoci廠黃ation(currentaccountingyear,id在上currentaccountDTO,idpreaccou姐師ntDTO,preaccount道兒ingyear)

select @CurrentYear,id,id,@Cur花內rentYear from aa_account w街購here accountingyear=@CurrentYea問行r and IdMarketingO影公rgan=@IdMarketingOrgan

end

fetch next from cur 兵筆into @CurrentYear,@P算習reYear

end

close cur

deallocate cur

fetch next from cur2 into @IdM體我arketingOrgan

end

close cur2

deallocate cur2

end