本文介绍了成本对象类型表、维度表、信息表之间的关联关系,并提供了SQL查询脚本以展示这些表如何通过内连接(inner join)实现数据关联。同时,文章还解释了生成时机的具体场景,如普通生产下达、委外生产下达等。此外,还介绍了成本计算结果表的表结构关联关系,并提供了查询历史期间数据和期间字段的方法。最后,还讨论了费用分配相关的表结构和查询示例。同时,文章还提供了数据字典的下载链接,并特别指出该数据字典适用于星空7.6版本,新版本的新增字段可能不包含在内。
持续更新......
---------------------------------------------------------------------------------------------------------
1、成本对象类型表、维度表、信息表关联关系,生成的时机
关联关系参考脚本:
select * from T_CB_PROORDERTYPE type1
inner join T_BD_MATERIAL mat on mat.FMATERIALID=type1.FPRODUCTID
inner join T_CB_PROORDERDIME dime1 on type1.FPROORDERTYPE=dime1.FPROORDERTYPE and type1.FCOSTCENTERID=dime1.FCOSTCENTERID
and mat.FMASTERID=dime1.FPRODUCTID and type1.FNUMBER=dime1.FPRODUCTNO and type1.FSEQ=dime1.FBILLSEQ
inner join T_CB_PROORDERINFO info on info.FPRODUCTDIMEID= dime1.FPRODUCTDIMEID
生成时机:
T_CB_PROORDERTYPE 普通生产下达,委外生产下达,简单生产入库,重复生产入库;(同理:投入产量归集表T_CB_INPUTQTYENTRY )
T_CB_PROORDERDIME 费用分配之前,根据投入信息,入库信息获取工单信息;
T_CB_PROORDERINFO 期初和期末标识, 期初是结账的时候,期末是成本计算后写的。
关于许多小伙伴咨询数据字典的问题,请参考帖子答复的方法1下载数据字典:
https://vip.kingdee.com/questions/333685685569759744/answers/333813294701778688?productLineId=1
需注意此版数据字典是星空7.6版本的,后续版本若有添加新字段,数据字典中是没有的。
例如T_CB_PROORDERTYPE,在8.0版本添加了FMASTERID(物料FMASTERID内码) 和 FSUPPLIERID(供应商内码)
FNUMBER:生产、委外订单的单据编号;简单生产手工录入的生产编号(前提是勾选了生产编号影响成本)
FSEQ:生产、委外订单分录行号,简单生产和重复生产都是0
FDATE:生产、委外订单的下达日期或简单生产入库单的单据日期
FPROORDERTYPE :业务类型,枚举值如下
T_CB_PROORDERDIME
FPRODUCTID:物料表的FMASTERID
FPRODUCTTYPE:1 主产品 2 联产品 3 副产品
2、成本计算结果表的表结构
关联关系参考脚本:
select * from T_CB_PROORDERTYPE type1
inner join T_BD_MATERIAL mat on mat.FMATERIALID=type1.FPRODUCTID
inner join T_CB_PROORDERDIME dime1 on type1.FPROORDERTYPE=dime1.FPROORDERTYPE and type1.FCOSTCENTERID=dime1.FCOSTCENTERID
and mat.FMASTERID=dime1.FPRODUCTID and type1.FNUMBER=dime1.FPRODUCTNO and type1.FSEQ=dime1.FBILLSEQ
inner join T_CB_PROORDERINFO info on info.FPRODUCTDIMEID= dime1.FPRODUCTDIMEID
inner join T_CB_COSTCALEXPENSE exp1 on exp1.FID=info.FID
inner join T_CB_COSTCALEXPENSEDETAIL exp1detail on exp1.FENTRYID=exp1detail.FENTRYID
若查询历史期间的数据,则是T_CB_PROORDERINFO_H、T_CB_COSTCALEXPENSE_H、T_CB_COSTCALEXPENSE_H
同理:T_CB_COSTMATTERIAL 、T_CB_COSTMATTERIALDETAIL
如何查询期间字段:
-- T_CB_PROORDERINFO(本期)或T_CB_PROORDERINFO_H(历史期间)的期间字段FACCTGID
-- FACCTGID 核算组织+核算体系+会计政策+期间
select syst.FNUMBER,org.FNUMBER,po.FNUMBER,U0.FYEAR,U0.FPERIOD,U0.FID as FACCTGID,U1.FDIMENSIONID
from T_HS_OUTACCTG U0
INNER JOIN T_HS_CALDIMENSIONS U1 ON U0.FDIMENSIONID = U1.FDIMENSIONID
inner join T_ORG_ACCOUNTSYSTEM syst on syst.FACCTSYSTEMID=U1.FACCTSYSTEMID --and syst.FNUMBER=''--核算体系编码
inner join T_ORG_ORGANIZATIONS org on org.FORGID=U1.FFINORGID --and org.FNUMBER=''--组织编码
inner join T_FA_ACCTPOLICY po on po.FACCTPOLICYID=U1.FACCTPOLICYID --and po.FNUMBER=''--会计政策编码
--where U0.FYEAR = 2021 AND U0.FPERIOD = 7--期间
order by syst.FNUMBER,org.FNUMBER,po.FNUMBER,U0.FYEAR,U0.FPERIOD;
费用分配相关表结构:
--费用分配明细表
select * from T_CB_EXPALLORESULTSEND a inner join T_CB_EXPENSECOLLENTRY b on a.FBILLENTRYID=b.fentryid and a.FSRCBIILLFORMID='CB_EXPENSECOLLECTION' --费用分配结果发送方
left join T_CB_EXPALLORESULTREC c on a.FSENDID=c.FSENDID left join T_CB_PROORDERDIME dime on dime.FPRODUCTDIMEID=c.FPRODUCTDIMEID --费用分配结果接收方
where a.FOUTACCTGID=100001 -- FACCTGID
--材料费用分配明细表
select * from T_CB_COSTALLORESULTSEND a --材料费用分配结果发送方
left join T_CB_COSTALLORESULTREC c on a.FSENDID=c.FSENDID left join T_CB_PROORDERDIME dime on dime.FPRODUCTDIMEID=c.FPRODUCTDIMEID --材料费用分配结果接收方
where a.FOUTACCTGID=100001 -- FACCTGID