摘要:上篇文章介绍了折算规则中常用的Trans函数,以及通过计算规则实现折算的目的。本篇主要介绍合并过程中常用的CON函数。在HFM系统中的CON函数是一个非常重要的合并函数,主要用于处理公司间往来和交易的抵消。
上篇文章介绍了折算规则中常用的Trans函数,以及通过计算规则实现折算的目的。本篇主要介绍合并过程中常用的CON函数。在HFM系统中的CON函数是一个非常重要的合并函数,主要用于处理公司间往来和交易的抵消。
CON函数可以将数据放置到Value维度的[Proportion]和[Elimination]成员中。它通常在合并规则中使用。函数的基本语法如下:
HS.Con ("DestPOV", "Factor", "Nature")使用CON函数进行抵消前,需要进行以下设置:打开运行Consolidate例程的开关,即设置ConsolidationRules=Y,在规则中编写合并例程。
当用户执行合并操作时,系统会调用配置的规则,将数据写入后台进行存储。抵消的最终数据会存储在RTS/RTD表中。
在执行完“全部合并”后,可以在合并工作底稿的抵消维度(Value=Elimination)层面看到抵消的结果。通过“实体详细信息”可以清晰地看到抵消的Value维度是如何逐级贡献数据的。
Y公司对Z公司应收账款7000元人民币;
Z公司对Y公司应付账款1000元美元;期末汇率1USD = 7CNY抵消前:通过即席和内部往来人民币对账报告,可以看出来一方有应收,一方有应付
从合并抵消流程上看,跑完合并之后,数据只停留在Parent Total维度上,根据CON的定义,所以我们应该先把[Parent Total]上的数据原封不动的抵消到[Proportion],形成抵消前数据,然后再把数据抵消到[Elimination]形成抵消数据。
此时查看合并层数据,也符合我们前面文章中所说的合并逻辑
为了增强代码可读性,以及代码简化,我们仍然可以像折算逻辑中定义自定义函数,来优化抵消代码,如下所示:
本篇文章主要介绍了合并抵消代码的编写,当然,实际项目中的抵消逻辑比这复杂的多得多,本篇只起到抛砖引玉的作用。(在我入行初期,连最基本的规则都看不懂,曾经在网上认识了一个博主,算是行业大佬,也是抱着请教的态度咨询了一些问题,印象最深刻的就是,截取了一段用CON编写的自定义的函数去咨询人家,结果那位大佬却懒得跟我浪费口舌,只是告诉我,我连最基本的HFM系统入门都没有做到,那时也是刚从财务领域转行到咨询行业,带我的师傅提前离职,当时真是备受打击,也就是这个时候,下定决心,将来自己有能力了,就系统的总结自己所学,然后分享给像我一下迷茫的初学者。)
来源:天哥教育