合并报表/财务报表中,如何对存入多维库中的报表数据做重分类?

问题描述:
报表可以对科目进行重分类,一般建议先通过ACCT取数进行重分类。如果取数无法实现重分类,或者项目上需要展示重分类前和重分类后的数,则需要先将数据取过来存到多维库中后再进行重分类。那么,应该如何对存入多维库中的报表数据做重分类?
解决方案:
业务场景
以应收账款和应付账款为例,当对余额进行重分类时:
当应收账款余额为负数时,应该以正数写到应付账款,并在应收账款展示0;
当应付账款余额为负数时,应该以正数写到应收账款,并在应付账款展示0
重分类的思路
1. 先把被重分类科目的值变为0,具体方式为:新增一个重分类审计线索Reclass,在该审计线索上写上一个原值的相反数,最终,原值的审计线索EntityInput+重分类审计线索Reclass1上的相反数,对应科目的ATTotal则展示为0
2. 再把被重分类科目的值写到重分类的目标科目上,具体方法为:在新增的重分类审计线索Reclass上,将需要重分类的数写过来,最终,目标科目的原审计线索EntityInput+重分类审计线索Reclass上的数,目标科目的ATTotal就包含了重分类过来的数

3. 最终,在“默认币报表”看的数据,就是重分类前的数据;在“默认币报表调整后”看的报表数据,就是重分类后的数据。
具体操作
(1)新建一个审计线索ReClass,放到RptDS的下级,聚合算法设置为+;

(2)配置业务规则,放到需要执行的过程上。规则示例如下:
//假设在A、C、D三个组织中执行。实际场景中,哪个组织执行就将编码维护到 [] 中;如果不限制组织,将下边两行以及规则最后的 } 删掉即可
let Entlist = ["A","C","D"]
if(Entlist.includes(CTX_E_CODE)){
//先清空所有ReClass的数据
runs("v('AT@ReClass')=null" );
let AccSc=scope(A["需要执行重分类的科目的上级编码"].base(),AT.in("EntityInput"));
let Cs=getCellSet(AccSc);
Cs.forEach(
function(dc){
AData=-dc.value;
Acc=dc.Account;
RcIc=dc.InternalCompany;
合并报表/财务报表中,如何对存入多维库中的报表数据做重分类?
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



