成本费用引入二次开发指引

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

成本费用引入二次开发指引

标准产品的费用归集很重要的一个数据来源,是依据费用引入方案,从系统的各业务数据引入而来;


为了满足业务不同场景和业务逻辑的需求,费用引入方案是一个开放的计算过程,客户在了解费用引入来源过程的基础上,可以配置或者插件干预引入过程,获取自己想要的数据结果;

 

客户既可以修改标准的费用引入逻辑(取值来源),也可以自行添加新的费用归集来源;

 

一、费用归集的结构设计




在整个费用引入的过程中,【插入原始数据】以及【执行原始数据分配逻辑】,这2个逻辑单元,是客户可以插件干预的


二、插件配置

 

1、T_CB_EXPENSECOLLCFG  数据来源配置信息表

定义了各种费用归集取数来源的字段信息,字段的意义(可自定义费用归集中的取值来源),可以参考数据字典;

 

获取明细数据,基类插件:AbstractCollDataFrom,包含2个方法:

GetInsertSql 获取原始数据的脚本;

DealCollectRows 处理已经获取的原始数据,只会对数据进行业务修正和更新,不会改变数据包的数量;

 

2、T_CB_EXPENSECOLLCFGENTRY 数据来源分配插件表

定义了针对获取到的原始数据,进行分配逻辑处理的插件信息;例如:针对获取的数据源,需要将数据源按照一定的规则,拆分成不同的费用归集明细;我们定义这种对原始数据进行拆分的逻辑叫做分配(一定是对原始数据进行结构性的调整,比如1VS多,才需要配置这段逻辑,如果仅仅是对原始数据包进行字段值修正,请移步数据获取插件DealCollectRows的方法处理,执行了费用分配逻辑的数据,将不能再执行数据合并逻辑);

 

费用分配基类插件:AbstractAllocateExpenseColl

GetInsertIntoAllocatedSql,将原始数据进行分配逻辑的SQL脚本;


三、中间结果表以及关键字段信息

 

相关表具体字段信息可以查询数据字典

1、  TM_CB_EXPCOLLIMPBILLDATA,费用引入原始数据明细表,经过获取数据的SQL脚本,查询原始数据并插入当前明细表;

2、  TM_CB_EXPCOLLALLOCATED,费用引入分配结果数据表;经过对数据进行分配逻辑之后,产生的数据结果,如果当前数据源经过分配处理,则不会再继续参与后续合并引入参数的逻辑;

3、  TM_CB_EXPCOLLIMPRESULT,费用引入结果数据表;

    a)   数据来源上面2种数据来源:直接经过明细表过来的数据,FISGROUP 为 0 代表原始数据;

    b)   从分配结果数据表过来的数据,FISGROUP 为1 代表分配数据;

    c)   针对原始数据,在合并引入参数勾选之后,进行合并处理,FISGROUP 为 2代表合并引入的数据;

 

四、示例:客户修改期初在产品成本调整按照费用项目取值;

 

标准产品的从期初在产品调整单引入数据,费用项目默认是取引入方案中的合并后费用项目的,如果合并后费用项目没有指定,获取费用项目为空时的设置;

 

有客户需要:期初在产品调整单进行费用引入时,按照费用项目明细进行引入归集;

 

这就要求我们修改获取原始数据中对费用项目字段的取值逻辑:

1、   找到获取明细数据的配置:SELECT * FROM T_CB_EXPENSECOLLCFG WHERE FBILLFORMID = 'CB_INITPRODUCECOSTADJ';

2、   编写获取数据的插件,继承AbstractCollDataFrom,复写GetInsertSql 方法,参考标准产品插件的取值逻辑,将明细数据表中的各取值来源都更新正确;

其中因为要获取期初在产品成本调整的费用明细,具体数据结构,参考如下的脚本:

SELECT T0.FBILLNO,T1.FBUSINESSORGID,T1.FPROORDERNO,T1.FPROORDERSEQ,

T1.FPROORDERTYPE,T1.FPRODUCTID,T2.FEXPENSEITEMID,-1*T2.FINITADJAMOUNT AS FAMOUNT

FROM T_CB_INITPRODUCECOSTADJ T0

INNER JOIN T_CB_INITPRODUCECOSTADJENTRY T1 ON T0.FID = T1.FID

INNER JOIN T_CB_INITPRODUCECOSTADJENTRY T2 ON T1.FROWID = T2.FPARENTID

WHERE T1.FPARENTID = ' ';

需要多关联一个期初在产品成本调整的费用明细表,将明细的金额和费用项目,获取正确;

当前脚本包含的查询,以及查询相关的字段信息,参考标准产品原始的插件写法;

3、   插件注册:T_CB_EXPENSECOLLCFG 的FDATAFROMCLASS 字段;

4、   执行费用引入;

成本费用引入二次开发指引

标准产品的费用归集很重要的一个数据来源,是依据费用引入方案,从系统的各业务数据引入而来;为了满足业务不同场景和业务逻辑的需求,费用...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息