合并报表/财务报表中,如何通过录入本年累计数计算本期数
1 业务场景
在财务报表中,本年累计数与本期数间存在逻辑的相互依赖关系,通过录入本年累计数计算本期数,可减少本期数的取数、抵销等配置工作。
基本逻辑:本期数=本期本年累计数-上期本年累计数
2 解决方案
以上场景在系统可通过两种方案实现:
方案一:在情景中限制输入类型,实现本期数的倒算
方案二:通过配置业务规则,计算本期数
3 关键操作
方案一:
在维度-情景成员中选择可输入变动类型为【本年累计】,以情景-月报为例,如下图
方案二:
在【系统配置】-【业务规则】中配置业务规则,根据本年累计数计算本期数。
// 当前期间的上期间,需要注意的是如果使用了13期,那么13期的上期是11期,1期的上期还是1期
let CTX_P_LAST = ctx.P.lastPeriod() //获取当前期间的上一期间
if (CTX_P_CODE == "M_M01") {
CTX_P_LAST = "M_M01";};
if (CTX_P_CODE == "M_M013") {
CTX_P_LAST = "M_M11";};
//1月的本期=1月的本年累计;其他月份的本期=本期的本年累计-上期的本年累计;13期的本期=本期的本年累计-11期的本年累计,包含了12期本期数和13期调整数
//此业务规则需要分配给EJE等过程成员,这样抵销数等才会参与该计算
let sc = scope(A["R2001"].base(),其他维度).except(A.in("1001"));
let vExp = "v('CT@CurrentPeriod') = v('CT@YTD') - v('CT@YTD,P@" + CTX_P_LAST + "')";
if(CTX_P_CODE == "M_M01"){
vExp = "v('CT@CurrentPeriod') = v('CT@YTD')";
};
runs(sc,vExp);
4 注意事项
方案一:【可输入变动类型】中选中【本年累计】后,系统会限制通过报表编制功能录入本期数,若需手工录入本期数,则需要选择全部类型。
方案二:1.当前期间的上期间,需要注意的是如果使用了13期,那么13期的上期是11期,1期的上期还是1期;
2.业务规则需要分配给EJE等过程成员,这样抵销数等才会参与该计算 。
5 参考资料
合并报表/财务报表中,如何通过录入本年累计数计算本期数
本文2024-09-22 22:52:43发表“云星瀚知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-xinghan-129426.html