一、问题描述:卷积计算报错:会计事务上成本中心不存在

二、问题原因:
这种报错,就是传到成本中心上的费用明细里成本中心字段记录的数据不对,不是成本中心档案,是部门档案导致,费用明细是通过会计事务生成的事项分录传到费用明细的,因此这种情况就是事项分录模板上业务信息里的成本中心被直接映射成部门导致,正确的应该是根据部门档案通过函数转换成成本中心档案才行。
三、解决方案:
1、根据提示的会计事务记录号到成本会计事务管理节点,找的具体的数据,通过联查功能,可以定位到原始的会计事务


2、根据原始的会计事务类型,找的对应的事项分录模板,检查事项分录模板上业务信息里的成本中心设置,成本中心跟部门是两个档案,不能直接部门映射成本中心档案。


3、以资金收款单为例,正确的事项分录模板上成本中心的设置方式,其他的会计事务需要根据具体的事务类型配置公式:

资金收款单:iif(FundCollection_b.costcenter!=null,FundCollection_b.costcenter,getCostCenter(vouchdate,accentity,org,dept,""))
4、修改事项分录模板后,需要针对出错的会计事务重新生成事项分录才能生效。

5.验证效果,重新到成本会计事务管理节点,检查刚才的数据,成本中心字段内容是否显示内容了,显示了就说明修正成功了。
四、其他会计事务的事项分录模板公式举例:
1、资金付款-审批通过,事项分录模板成本中心公式:


公式:iif(FundPayment_b.costcenter!=null,FundPayment_b.costcenter,getCostCenter(vouchdate,accentity,org,FundPayment_b.dept,""))
2、差旅费用(审批)/通用费用(审批),事项分录模板成本中心公式:
目前发现的大部分是费控的业务,事项分录模板里成本中心字段直接影响的是部门档案导致,这种设置不对,应该通过公式来获取(一般设置在报销明细和分摊明细),分摊明细公式请参考:iif(isEmpty(expapportions.cfinacecostcenter)==false,expapportions.cfinacecostcenter,getCostCenter(vouchdate,expapportions.caccountorg,expapportions.cfinaceorg,expapportions.vfinacedeptid,"")) 公式含义是如果费用承担成本中心有值取费用承担成本中心,如果没有值,取费用承担部门对应的成本中心。


3、折旧计提,事项分录模板成本中心公式:


iif(eventAssetBasicInfoBodies.eventAssetCalcInfoBodies.eventAssetAssginInfoBodies.costCenterId!=null,eventAssetBasicInfoBodies.eventAssetCalcInfoBodies.eventAssetAssginInfoBodies.costCenterId,getCostCenter(busiDate,accentity,"",eventAssetBasicInfoBodies.eventAssetCalcInfoBodies.eventAssetAssginInfoBodies.deptId,""))
4、摊销,事项分录模板成本中心公式:

iif(isEmpty(DeferExpenseDetailBVO.cfinacecostcenter)==false,DeferExpenseDetailBVO.cfinacecostcenter,getCostCenter(vouchdate,DeferExpenseDetailBVO.caccountorg,DeferExpenseDetailBVO.cfinaceorg,DeferExpenseDetailBVO.vfinacedeptid,""))



