重分类的思路
1. 把被重分类科目的值变为0,具体方式为:原值的审计线索+重分类审计线索的相反数,使得最终的ATTotal为0
2. 把被重分类科目的值写到承载科目上
重分类的准备工作
1. 新建审计线索ReClass,放到RptDS的下级
2. 新建重分类承载科目,根据现场的实际情况放置
业务规则示例
//在A、C、D三个组织中,当JTA01借方科目是负数,则将其重分类到贷方科目JTA02s中
let Entlist = ["A","C","D"]
if(Entlist.includes(CTX_E_CODE)){
//先清空所有ReClass的数据
runs("v('AT@ReClass')=null" );
let AccSc=scope(BP.in("EIRpt"),A["JTA01"].base(),A["JTA02"].base(),AT.in("EntityInput"));
let Cs=getCellSet(AccSc);
Cs.forEach(
function(dc){
AData=-dc.value;
Acc=dc.Account;
RcIc=dc.InternalCompany;
if(AData>0){
if(A.isBase(Acc,"JTA01")){
runs(
//给需要重分类的科目在ReClass审计线索上写一个相反数,最终在ATTotal看,这个科目的结果就变成了0
"v('AT@ReClass,IC@"+RcIc+",CT@EndingBalance,A@"+ Acc +"')= " + AData,
//把被重分类科目的值写到承载科目上 "v('AT@ReClass,IC@"+RcIc+",CT@EndingBalance,A@JTA02s')=v('AT@ReClass,IC@"+RcIc+",CT@EndingBalance,A@JTA02s')+" + AData
);
}
}
}
)
}
推荐阅读