本文介绍了如何在星空系统的科目余额表中按核算维度取数。文中指出科目余额表存储在T_GL_BALANCE表,核算维度是弹性域,数量不一致,故设计时有唯一关联。核算维度及值存储在T_BD_FLEXITEMPROPERTY和T_BD_FLEXITEMDETAILV表中,可通过这些表查询核算维度的基础资料。文章还阐述了具体数据关系及取数方法,并建议实际开发时使用插件获取数据包解析处理。
看到一个帖子询问如何在科目余额表里按核算维度取数,简单整理了一下几个相关的表,做个记录分享。
星空的科目余额表存储在T_GL_BALANCE表中,对应的业务对象是GL_BALANCE 科目余额表,这里面其他字段都比较好理解,关键是核算维度。
由于星空的核算维度是弹性域,不同会计科目下挂的核算维度数量不一致,故系统在设计时将不同的基础资料组合形成唯一的核算维度与凭证、余额表等进行关联。
系统中可用的核算维度存储在T_BD_FLEXITEMPROPERTY这表中,对应业务对象BD_FLEXITEMPROPERTY 核算维度
核算维度的值存储在T_BD_FLEXITEMDETAILV中,对应业务对象BD_FLEXITEMDETAILV 核算维度数据
这个业务对象中预置了部分基础资料,后续在系统中增加的核算维度类别直接在数据库中有存储,界面并没有显示(这不重要)。
-----------------------------------------------------------------------------------------------
然后再看具体数据关系
比如根据账簿、会计科目、期间查询科目余额表,可以看到每个核算维度都会有一条对应的分录
我们通过FDETAILID的值,到T_BD_FLEXITEMDETAILV表中可以查到对应的核算维度
以fid=100228这个核算维度为例,分录中对应的FLEX5、FFLEX9两个字段有对应的值,那么我们就可以通过T_BD_FLEXITEMPROPERTY表查询字段对应的基础资料
可以看到FFLEX5对应BD_Department 部门、FFLEX9对应BD_Expense费用项目,我们就可以到对应基础资料中根据T_BD_FLEXITEMDETAILV中对应的id查找具体的基础资料了。
--------------------------------------------------------------------------------------------------------------
以上是单纯从数据库表里直接取数的方法,实际做开发建议还是通过插件获取对应的数据包解析处理。
推荐阅读